From 09753750e0c5bb8c99abcee2eafd742d4a62bb62 Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Fri, 17 Feb 2023 10:23:24 -0500
Subject: [PATCH 01/10] [CLDN-1773] Adding default group by
---
.../src/plugin/controlPanel.tsx | 67 +++++++++++++++++++
.../src/plugin/transformProps.ts | 7 ++
2 files changed, 74 insertions(+)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
index d69a73c510610..82d279d8de5c1 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
@@ -595,6 +595,73 @@ config.controlPanelSections.push({
},
},
],
+ [
+ {
+ name: 'default_group_by',
+ config: {
+ type: 'SelectControl',
+ label: t('Default columns for row grouping'),
+ description: t(
+ 'Preselect a set of columns for row grouping in the grid.',
+ ),
+ multi: true,
+ freeForm: true,
+ allowAll: true,
+ default: [],
+ canSelectAll: true,
+ optionRenderer: (c: ColumnMeta) => (
+ // eslint-disable-next-line react/react-in-jsx-scope
+
+ ),
+ // eslint-disable-next-line react/react-in-jsx-scope
+ valueRenderer: (c: ColumnMeta) => (
+ // eslint-disable-next-line react/react-in-jsx-scope
+
+ ),
+ valueKey: 'column_name',
+ mapStateToProps: (
+ state: ControlPanelState,
+ controlState: ControlState,
+ ) => {
+ const { controls } = state;
+ const originalMapStateToProps = isRawMode({ controls }) ?
+ sharedControls?.columns?.mapStateToProps :
+ sharedControls?.groupby?.mapStateToProps;
+ const newState =
+ originalMapStateToProps?.(state, controlState) ?? {};
+ const choices = isRawMode({ controls })
+ ? controls?.columns?.value
+ : controls?.groupby?.value;
+ newState.options = newState.options.filter(
+ (o: { column_name: string }) =>
+ ensureIsArray(choices).includes(o.column_name),
+ );
+ const invalidOptions = ensureIsArray(
+ controlState.value,
+ ).filter(c => !ensureIsArray(choices).includes(c));
+ newState.externalValidationErrors =
+ invalidOptions.length > 0
+ ? invalidOptions.length > 1
+ ? [
+ `'${invalidOptions.join(', ')}'${t(
+ ' are not valid options',
+ )}`,
+ ]
+ : [
+ `'${invalidOptions}'${t(
+ ' is not a valid option',
+ )}`,
+ ]
+ : [];
+ return newState;
+ },
+ visibility: ({ controls }) =>
+ // TODO properly emsure is Bool
+ Boolean(controls?.enable_grouping?.value),
+ canCopy: true,
+ },
+ }
+ ],
[
{
name: 'enable_row_numbers',
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
index 4e087ae870739..d78138c88d6df 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
@@ -84,6 +84,7 @@ export default function transformProps(chartProps: CccsGridChartProps) {
column_state,
enable_row_numbers,
jump_action_configs,
+ default_group_by
}: CccsGridQueryFormData = { ...DEFAULT_FORM_DATA, ...formData };
const data = queriesData[0].data as TimeseriesDataRecord[];
const agGridLicenseKey = queriesData[0].agGridLicenseKey as String;
@@ -237,6 +238,9 @@ export default function transformProps(chartProps: CccsGridChartProps) {
sort: sortDirection,
sortIndex,
enableRowGroup,
+ rowGroup: !!(default_group_by.find((element: any) => {
+ return element === column
+ })),
getQuickFilterText: (params: any) => advancedTypeValueFormatter(params),
headerTooltip: columnDescription,
};
@@ -264,6 +268,9 @@ export default function transformProps(chartProps: CccsGridChartProps) {
cellRenderer,
sortable: isSortable,
enableRowGroup,
+ rowGroup: !!(default_group_by.find((element: any) => {
+ return element === column
+ })),
getQuickFilterText: (params: any) =>
advancedTypeValueFormatter(params),
headerTooltip: columnDescription,
From 601c04b400d11fb07ed449530c253affe284842a Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Wed, 1 Mar 2023 11:03:37 -0500
Subject: [PATCH 02/10] Updating DockerFile
---
cccs-build/superset/Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cccs-build/superset/Dockerfile b/cccs-build/superset/Dockerfile
index b6c2533abd11d..2b829bbb36e23 100644
--- a/cccs-build/superset/Dockerfile
+++ b/cccs-build/superset/Dockerfile
@@ -1,7 +1,7 @@
# Vault CA container import
ARG VAULT_CA_CONTAINER=uchimera.azurecr.io/cccs/hogwarts/vault-ca:master_2921_22315d60
FROM $VAULT_CA_CONTAINER AS vault_ca
-FROM uchimera.azurecr.io/cccs/superset-base:cccs-2.0_20230206181403_b6196
+FROM uchimera.azurecr.io/cccs/superset-base:feature_CLDN-1773_20230228160630_b6328
USER root
From fcebc2f2f2cca99e1a8740904073c3d43c2d2ec2 Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Wed, 1 Mar 2023 13:23:59 -0500
Subject: [PATCH 03/10] Fixing Groupby
---
.../plugin-chart-cccs-grid/src/plugin/controlPanel.tsx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
index 82d279d8de5c1..add853f0eb743 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
@@ -229,7 +229,7 @@ const config: ControlPanelConfig = {
return newState;
},
- rerender: ['metrics', 'percent_metrics', ],
+ rerender: ['metrics', 'percent_metrics', 'default_group_by',],
},
},
],
@@ -329,7 +329,7 @@ const config: ControlPanelConfig = {
: [];
return newState;
},
- rerender: ['principalColumns'],
+ rerender: ['principalColumns', 'default_group_by'],
visibility: isRawMode,
canCopy: true,
}
@@ -609,6 +609,7 @@ config.controlPanelSections.push({
allowAll: true,
default: [],
canSelectAll: true,
+ renderTrigger: true,
optionRenderer: (c: ColumnMeta) => (
// eslint-disable-next-line react/react-in-jsx-scope
From 085df0872ad2b34ca238ad7192efcffde35cab04 Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Wed, 1 Mar 2023 14:08:34 -0500
Subject: [PATCH 04/10] Updating base image
---
cccs-build/superset/Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cccs-build/superset/Dockerfile b/cccs-build/superset/Dockerfile
index 2b829bbb36e23..99b3d2692dc70 100644
--- a/cccs-build/superset/Dockerfile
+++ b/cccs-build/superset/Dockerfile
@@ -1,7 +1,7 @@
# Vault CA container import
ARG VAULT_CA_CONTAINER=uchimera.azurecr.io/cccs/hogwarts/vault-ca:master_2921_22315d60
FROM $VAULT_CA_CONTAINER AS vault_ca
-FROM uchimera.azurecr.io/cccs/superset-base:feature_CLDN-1773_20230228160630_b6328
+FROM uchimera.azurecr.io/cccs/superset-base:feature_CLDN-1773_20230301182733_b6332
USER root
From aaedfaccc13897a3d731396c0d4a69053738b0fa Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Thu, 9 Mar 2023 10:24:55 -0500
Subject: [PATCH 05/10] [CLDN-1773] Saving Group by order
---
.../src/plugin/transformProps.ts | 25 ++++++++++++++-----
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
index d78138c88d6df..d5fa07e6df6d3 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
@@ -230,6 +230,12 @@ export default function transformProps(chartProps: CccsGridChartProps) {
const isSortable = true;
const enableRowGroup = true;
const columnDescription = columnDescriptionMap[column];
+ const rowGroupIndex = default_group_by.findIndex((element: any) => {
+ return element === column
+ });
+
+ const rowGroup = rowGroupIndex >= 0
+ const hide = rowGroup;
return {
field: column,
headerName: columnHeader,
@@ -238,9 +244,9 @@ export default function transformProps(chartProps: CccsGridChartProps) {
sort: sortDirection,
sortIndex,
enableRowGroup,
- rowGroup: !!(default_group_by.find((element: any) => {
- return element === column
- })),
+ rowGroup,
+ hide,
+ rowGroupIndex,
getQuickFilterText: (params: any) => advancedTypeValueFormatter(params),
headerTooltip: columnDescription,
};
@@ -262,15 +268,22 @@ export default function transformProps(chartProps: CccsGridChartProps) {
const isSortable = true;
const enableRowGroup = true;
const columnDescription = columnDescriptionMap[column];
+ const rowGroupIndex = default_group_by.findIndex((element: any) => {
+ return element === column
+ });
+ const initialRowGroupIndex = rowGroupIndex;
+ const rowGroup = rowGroupIndex >= 0
+ const hide = rowGroup;
return {
field: column,
headerName: columnHeader,
cellRenderer,
sortable: isSortable,
enableRowGroup,
- rowGroup: !!(default_group_by.find((element: any) => {
- return element === column
- })),
+ rowGroup,
+ rowGroupIndex,
+ initialRowGroupIndex,
+ hide,
getQuickFilterText: (params: any) =>
advancedTypeValueFormatter(params),
headerTooltip: columnDescription,
From 97b2d95dfe5de2a25b8d2214d722353178fefd77 Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Thu, 9 Mar 2023 13:06:05 -0500
Subject: [PATCH 06/10] Updating dockerfile
---
cccs-build/superset/Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cccs-build/superset/Dockerfile b/cccs-build/superset/Dockerfile
index 99b3d2692dc70..26d7c1a586098 100644
--- a/cccs-build/superset/Dockerfile
+++ b/cccs-build/superset/Dockerfile
@@ -1,7 +1,7 @@
# Vault CA container import
ARG VAULT_CA_CONTAINER=uchimera.azurecr.io/cccs/hogwarts/vault-ca:master_2921_22315d60
FROM $VAULT_CA_CONTAINER AS vault_ca
-FROM uchimera.azurecr.io/cccs/superset-base:feature_CLDN-1773_20230301182733_b6332
+FROM uchimera.azurecr.io/cccs/superset-base:feature_CLDN-1773_20230309152913_b6394
USER root
From 2e140fd60e4b1cc64c89f5eaad793086d82c7f8d Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Fri, 10 Mar 2023 10:55:19 -0500
Subject: [PATCH 07/10] Update controlPanel.tsx
---
.../plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
index add853f0eb743..65530515d9f8b 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/controlPanel.tsx
@@ -657,7 +657,6 @@ config.controlPanelSections.push({
return newState;
},
visibility: ({ controls }) =>
- // TODO properly emsure is Bool
Boolean(controls?.enable_grouping?.value),
canCopy: true,
},
From 478ae838634f18993e58fbe4dd67f2ce0ecd0e5a Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Fri, 10 Mar 2023 11:40:48 -0500
Subject: [PATCH 08/10] Update
superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
Co-authored-by: cccs-tom <59839056+cccs-tom@users.noreply.github.com>
---
.../plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
index 933a3651b45de..3987599731c69 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
@@ -84,7 +84,7 @@ export default function transformProps(chartProps: CccsGridChartProps) {
column_state,
enable_row_numbers,
jump_action_configs,
- default_group_by
+ default_group_by,
}: CccsGridQueryFormData = { ...DEFAULT_FORM_DATA, ...formData };
const data = queriesData[0].data as TimeseriesDataRecord[];
const agGridLicenseKey = queriesData[0].agGridLicenseKey as String;
From 5401e52a9678fd9a1891e25cec1338b6f3281a73 Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Fri, 10 Mar 2023 11:40:56 -0500
Subject: [PATCH 09/10] Update
superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
Co-authored-by: cccs-tom <59839056+cccs-tom@users.noreply.github.com>
---
.../plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
index 3987599731c69..e4f5bf8144b2a 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
@@ -275,7 +275,7 @@ export default function transformProps(chartProps: CccsGridChartProps) {
return element === column
});
const initialRowGroupIndex = rowGroupIndex;
- const rowGroup = rowGroupIndex >= 0
+ const rowGroup = (rowGroupIndex >= 0)
const hide = rowGroup;
return {
field: column,
From 599cd02269b531edeae7b2cd72d2e3bbe88c69d5 Mon Sep 17 00:00:00 2001
From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com>
Date: Fri, 10 Mar 2023 11:41:27 -0500
Subject: [PATCH 10/10] Update
superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
Co-authored-by: cccs-RyanK <102618419+cccs-RyanK@users.noreply.github.com>
---
.../plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
index e4f5bf8144b2a..b9123379ff839 100644
--- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
+++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/plugin/transformProps.ts
@@ -236,7 +236,6 @@ export default function transformProps(chartProps: CccsGridChartProps) {
const rowGroupIndex = default_group_by.findIndex((element: any) => {
return element === column
});
-
const rowGroup = rowGroupIndex >= 0
const hide = rowGroup;
return {