From 92caddd8b12f79293d433f409f8d97ffbcc9bf01 Mon Sep 17 00:00:00 2001 From: Reese <10563996+reesercollins@users.noreply.github.com> Date: Mon, 25 Jul 2022 13:16:02 -0400 Subject: [PATCH 01/10] Add row number option to CCCS-Grid (#181) * Add row number option to CCCS-Grid * Have row numbers show by default Co-authored-by: cccs-Dustin <96579982+cccs-Dustin@users.noreply.github.com> Co-authored-by: cccs-Dustin <96579982+cccs-Dustin@users.noreply.github.com> --- .../src/plugin/controlPanel.tsx | 12 ++++++++++++ .../src/plugin/transformProps.ts | 13 ++++++++++++- .../plugins/plugin-chart-cccs-grid/src/types.ts | 1 + .../test/plugin/buildQuery.test.ts | 1 + .../test/plugin/transformProps.test.ts | 1 + 5 files changed, 27 insertions(+), 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 72e7986a4355..66e2b1adbe48 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 @@ -560,6 +560,18 @@ config.controlPanelSections.push({ }, }, ], + [ + { + name: 'enable_row_numbers', + config: { + type: 'CheckboxControl', + label: t('Row numbers'), + renderTrigger: true, + default: true, + description: t('Whether to enable row numbers'), + }, + }, + ], [ { name: 'page_length', 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 945065197441..deed97444e9c 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 @@ -81,6 +81,7 @@ export default function transformProps(chartProps: CccsGridChartProps) { include_search, enable_grouping, column_state, + enable_row_numbers, }: CccsGridQueryFormData = { ...DEFAULT_FORM_DATA, ...formData }; const data = queriesData[0].data as TimeseriesDataRecord[]; const agGridLicenseKey = queriesData[0].agGridLicenseKey as String; @@ -167,7 +168,7 @@ export default function transformProps(chartProps: CccsGridChartProps) { COUNTRY: 'countryValueRenderer', JSON: 'jsonValueRenderer', }; - + const percentMetricValueFormatter = function (params: ValueFormatterParams) { return getNumberFormatter(NumberFormats.PERCENT_3_POINT).format( params.value, @@ -271,6 +272,16 @@ export default function transformProps(chartProps: CccsGridChartProps) { } } + if (enable_row_numbers) { + columnDefs.splice(0, 0, { + headerName: '#', + colId: 'rowNum', + pinned: 'left', + valueGetter: (params: any) => + params.node ? params.node.rowIndex + 1 : null, + } as any); + } + return { formData, setDataMask, diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/types.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/types.ts index 30b9a002cb1e..b6b07d71dd2d 100644 --- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/types.ts +++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/src/types.ts @@ -36,6 +36,7 @@ export type CccsGridQueryFormData = QueryFormData & { page_length: number; enable_grouping: boolean; column_state: ColumnState[]; + enable_row_numbers: boolean; }; export interface CccsGridStylesProps { diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/buildQuery.test.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/buildQuery.test.ts index 9bd0cfea1c7a..e9675148ad38 100644 --- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/buildQuery.test.ts +++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/buildQuery.test.ts @@ -12,6 +12,7 @@ describe('CccsGrid buildQuery', () => { enable_grouping: false, viz_type: 'my_chart', column_state: [], + enable_row_numbers: false, }; it('should build groupby with series in form data', () => { diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/transformProps.test.ts b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/transformProps.test.ts index 0dc8da8470dd..52a8c72757f3 100644 --- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/transformProps.test.ts +++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-cccs-grid/test/plugin/transformProps.test.ts @@ -18,6 +18,7 @@ describe('CccsGrid tranformProps', () => { enable_grouping: false, viz_type: 'my_chart', column_state: [], + enable_row_numbers: false, }; const chartProps = new CccsGridChartProps({ formData, From e2b439ea6e0b0c5f194aa2599a1465d673850093 Mon Sep 17 00:00:00 2001 From: Reese <10563996+reesercollins@users.noreply.github.com> Date: Wed, 27 Jul 2022 11:17:10 -0400 Subject: [PATCH 02/10] Use new build agent (#187) * Use new build agent * Remove quotes --- cccs-build/superset-base/azure-pipelines.yml | 7 +++---- cccs-build/superset/azure-pipelines.yml | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/cccs-build/superset-base/azure-pipelines.yml b/cccs-build/superset-base/azure-pipelines.yml index a34286963b8e..e97febdbbde4 100644 --- a/cccs-build/superset-base/azure-pipelines.yml +++ b/cccs-build/superset-base/azure-pipelines.yml @@ -12,8 +12,7 @@ variables: buildTimestamp: $[format('{0:yyyyMMddHHmmss}', pipeline.startTime)] DOCKER_BUILDKIT: 1 -pool: - vmImage: ubuntu-latest +pool: cauldron-vmss steps: - bash: | @@ -32,7 +31,7 @@ steps: - task: Docker@2 displayName: Build image inputs: - command: 'build' + command: build repository: $(imageRepository) arguments: --progress=plain dockerfile: $(dockerfile) @@ -42,7 +41,7 @@ steps: - task: Docker@2 displayName: Push image inputs: - command: 'push' + command: "push" repository: $(imageRepository) tags: | $(BRANCH_NAME) diff --git a/cccs-build/superset/azure-pipelines.yml b/cccs-build/superset/azure-pipelines.yml index fd10d0ce527a..7e0e97feb181 100644 --- a/cccs-build/superset/azure-pipelines.yml +++ b/cccs-build/superset/azure-pipelines.yml @@ -11,8 +11,7 @@ variables: buildTimestamp: $[format('{0:yyyyMMddHHmmss}', pipeline.startTime)] DOCKER_BUILDKIT: 1 -pool: - vmImage: ubuntu-latest +pool: cauldron-vmss steps: - bash: | From 5bdec054b33eead665874c7608d1845e512696e5 Mon Sep 17 00:00:00 2001 From: Reese <10563996+reesercollins@users.noreply.github.com> Date: Thu, 28 Jul 2022 08:09:45 -0400 Subject: [PATCH 03/10] Display datahub link for datasets with defined URN (#177) * Display datahub link for datasets with defined URN * Add datahub SVG * Reorder imports * Add datahub link to dashboards * Convert to camel case * Add tests for DatasetList * Add tests for dashboard header * Provide explanation for empty catch --- .../src/assets/images/icons/datahub.svg | 65 +++++++++++++++++++ .../src/components/Icons/index.tsx | 1 + .../components/Header/Header.test.tsx | 7 ++ .../src/dashboard/components/Header/index.jsx | 10 +++ superset-frontend/src/preamble.ts | 2 + .../CRUD/data/dataset/DatasetList.test.jsx | 31 +++++++++ .../views/CRUD/data/dataset/DatasetList.tsx | 25 +++++++ superset/config.py | 2 + superset/views/base.py | 1 + 9 files changed, 144 insertions(+) create mode 100644 superset-frontend/src/assets/images/icons/datahub.svg diff --git a/superset-frontend/src/assets/images/icons/datahub.svg b/superset-frontend/src/assets/images/icons/datahub.svg new file mode 100644 index 000000000000..62e1a0d9b58c --- /dev/null +++ b/superset-frontend/src/assets/images/icons/datahub.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/superset-frontend/src/components/Icons/index.tsx b/superset-frontend/src/components/Icons/index.tsx index 0761890e4c05..371278d6d8ef 100644 --- a/superset-frontend/src/components/Icons/index.tsx +++ b/superset-frontend/src/components/Icons/index.tsx @@ -64,6 +64,7 @@ const IconFileNames = [ 'copy', 'cursor_target', 'database', + 'datahub', 'dataset_physical', 'dataset_virtual_greyscale', 'dataset_virtual', diff --git a/superset-frontend/src/dashboard/components/Header/Header.test.tsx b/superset-frontend/src/dashboard/components/Header/Header.test.tsx index 730596a9f4b2..596bb43dc1cb 100644 --- a/superset-frontend/src/dashboard/components/Header/Header.test.tsx +++ b/superset-frontend/src/dashboard/components/Header/Header.test.tsx @@ -327,3 +327,10 @@ test('should refresh the charts', async () => { userEvent.click(screen.getByText('Refresh dashboard')); expect(mockedProps.onRefresh).toHaveBeenCalledTimes(1); }); + + +test('should show datahub link', async () => { + const mockedProps = createProps(); + setup(mockedProps); + expect(screen.getByTestId('datahub_link')).toBeInTheDocument(); +}); diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx index ab85bcda04f5..756159f6c86a 100644 --- a/superset-frontend/src/dashboard/components/Header/index.jsx +++ b/superset-frontend/src/dashboard/components/Header/index.jsx @@ -51,6 +51,7 @@ import { options as PeriodicRefreshOptions } from 'src/dashboard/components/Refr import findPermission from 'src/dashboard/util/findPermission'; import { FILTER_BOX_MIGRATION_STATES } from 'src/explore/constants'; import { PageHeaderWithActions } from 'src/components/PageHeaderWithActions'; +import { datahubUrl } from 'src/preamble'; import { DashboardEmbedModal } from '../DashboardEmbedControls'; const propTypes = { @@ -510,6 +511,7 @@ class Header extends React.PureComponent { showTooltip: true, }} titlePanelAdditionalItems={ + <> + + + + } rightPanelAdditionalItems={
diff --git a/superset-frontend/src/preamble.ts b/superset-frontend/src/preamble.ts index ab6d696f5b72..c088b10737aa 100644 --- a/superset-frontend/src/preamble.ts +++ b/superset-frontend/src/preamble.ts @@ -81,6 +81,8 @@ const getMe = makeApi({ endpoint: '/api/v1/me/', }); +export const datahubUrl = bootstrapData?.common?.datahub_url; + /** * When you re-open the window, we check if you are still logged in. * If your session expired or you signed out, we'll redirect to login. diff --git a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.test.jsx b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.test.jsx index 6c416ae55e53..92f06881c857 100644 --- a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.test.jsx +++ b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.test.jsx @@ -56,6 +56,7 @@ const mockdatasets = [...new Array(3)].map((_, i) => ({ schema: `schema ${i}`, table_name: `coolest table ${i}`, owners: [{ username: 'admin', userId: 1 }], + extra: i === 0 ? JSON.stringify({ urn: 'urn' }) : '', })); const mockUser = { @@ -181,6 +182,36 @@ describe('DatasetList', () => { wrapper.find('[data-test="bulk-select-copy"]').text(), ).toMatchInlineSnapshot(`"3 Selected (2 Physical, 1 Virtual)"`); }); + + it('renders datahub link when urn is defined', async () => { + await waitForComponentToPaint(wrapper); + expect( + wrapper + .find('[data-test="cell-text"]') + .filterWhere( + e => + e.childAt(0).props().cell.column.id === 'datahub_link' && + e.childAt(0).props().cell.row.index === 0, + ) + .childAt(0) + .children(), + ).toHaveLength(1); + }); + + it('does not render datahub link when urn is undefined', async () => { + await waitForComponentToPaint(wrapper); + expect( + wrapper + .find('[data-test="cell-text"]') + .filterWhere( + e => + e.childAt(0).props().cell.column.id === 'datahub_link' && + e.childAt(0).props().cell.row.index === 1, + ) + .childAt(0) + .children(), + ).toHaveLength(0); + }); }); describe('RTL', () => { diff --git a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx index 80428a9a13c7..d48f4264b118 100644 --- a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx +++ b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx @@ -57,6 +57,7 @@ import ImportModelsModal from 'src/components/ImportModal/index'; import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags'; import WarningIconWithTooltip from 'src/components/WarningIconWithTooltip'; import { isUserAdmin } from 'src/dashboard/util/findPermission'; +import { datahubUrl } from 'src/preamble'; import AddDatasetModal from './AddDatasetModal'; import { @@ -311,6 +312,30 @@ const DatasetList: FunctionComponent = ({ Header: t('Name'), accessor: 'table_name', }, + { + Cell: ({ + row: { + original: { extra }, + }, + }: any) => { + try { + const parsedExtra = JSON.parse(extra); + if (parsedExtra?.urn) { + return ( + + + + ); + } + } catch { + // This should never be reached. Only needed for tests. + } + return null; + }, + accessor: 'datahub_link', + disableSortBy: true, + size: 'xs', + }, { Cell: ({ row: { diff --git a/superset/config.py b/superset/config.py index b2d5a4d44c78..31d4f7fcd87e 100644 --- a/superset/config.py +++ b/superset/config.py @@ -1301,6 +1301,8 @@ def SQL_QUERY_MUTATOR( # pylint: disable=invalid-name,unused-argument "port": internet_port, } +DATAHUB_URL = "https://localhost:9002/" + # Configuration for environment tag shown on the navbar. Setting 'text' to '' will hide the tag. ENVIRONMENT_TAG_CONFIG = { diff --git a/superset/views/base.py b/superset/views/base.py index 160043358935..9f52404200d4 100644 --- a/superset/views/base.py +++ b/superset/views/base.py @@ -386,6 +386,7 @@ def common_bootstrap_payload() -> Dict[str, Any]: "extra_categorical_color_schemes": conf["EXTRA_CATEGORICAL_COLOR_SCHEMES"], "theme_overrides": conf["THEME_OVERRIDES"], "menu_data": menu_data(), + "datahub_url": conf.get("DATAHUB_URL", ""), } bootstrap_data.update(conf["COMMON_BOOTSTRAP_OVERRIDES_FUNC"](bootstrap_data)) return bootstrap_data From dbd02593ad24a6782bf67ee1ac39e4452299f4e8 Mon Sep 17 00:00:00 2001 From: cccs-Dustin <96579982+cccs-Dustin@users.noreply.github.com> Date: Wed, 3 Aug 2022 11:15:27 -0400 Subject: [PATCH 04/10] [CLDN-1540] Added ability for multiple user emails to be filtered on at once --- .../src/AtAGlanceUserID.tsx | 57 ++++++------------- .../src/styles.js | 2 +- 2 files changed, 19 insertions(+), 40 deletions(-) diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/AtAGlanceUserID.tsx b/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/AtAGlanceUserID.tsx index ccbdbbf4e8d2..eb01188829cb 100644 --- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/AtAGlanceUserID.tsx +++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/AtAGlanceUserID.tsx @@ -65,20 +65,27 @@ const getPayloadField = (field: string, payload: any) => { }; const formatList = (ipList: any) => { - const updatedList: { 'IP Address': string; Count: number }[] = []; + const updatedList: { + 'IP Address': string; + Count: number; + 'User Email': string; + }[] = []; const ipDictionary = {}; let counter = 0; ipList.forEach(function (obj: any) { - const key = JSON.stringify(obj.client_ip); + const key = `${JSON.stringify(obj.client_ip)},${JSON.stringify( + obj.user_id, + )}`; ipDictionary[key] = (ipDictionary[key] || 0) + 1; counter += 1; }); Object.keys(ipDictionary).forEach(key => { updatedList.push({ - 'IP Address': key.replaceAll('"', ''), + 'IP Address': key.split(',')[0].replaceAll('"', ''), Count: ipDictionary[key], + 'User Email': key.split(',')[1].replaceAll('"', ''), }); }); @@ -90,7 +97,6 @@ const ipToInt = (ip: any) => // Main Component function AtAGlanceUserIDCore(props: AtAGlanceUserIDProps) { - const [userIDString, setUserIDString] = useState(''); LicenseManager.setLicenseKey(props.agGridLicenseKey); const [columnDefs] = useState([ @@ -123,6 +129,13 @@ function AtAGlanceUserIDCore(props: AtAGlanceUserIDProps) { sortable: true, sort: 'desc', }, + { + field: 'User Email', + flex: 1, + resizable: true, + sortable: true, + minWidth: 275, + }, ]); const [canadianIpsListData, setCanadianIpsListData] = useState([{}]); @@ -145,23 +158,6 @@ function AtAGlanceUserIDCore(props: AtAGlanceUserIDProps) { const OPERATION = 'operation'; const USER_LOGGED_IN = 'UserLoggedIn'; - if (typeof props.formData?.extraFormData?.filters !== 'undefined') { - for ( - let i = 0; - i < props.formData?.extraFormData?.filters?.length; - i += 1 - ) { - const filter = props.formData.extraFormData.filters[i]; - if (filter.col === 'user_id') { - const localUserId: string = filter.val[0]; - setUserIDString(localUserId); - break; - } - } - } else { - setUserIDString(''); - } - // eslint-disable-next-line react-hooks/exhaustive-deps canadianIpsList = props.data.filter(function (item: any) { return ( @@ -210,24 +206,7 @@ function AtAGlanceUserIDCore(props: AtAGlanceUserIDProps) {
- - - - - - - - - - +
- **Please note that the results in this chart are only for the - first User Email** -
*This chart only contains the first 100 results*
User Email: {userIDString}
- User ID:{' '} - {userIDString !== '' - ? getPayloadField('user_key', props.data[0]) - : ''} - *This chart only contains the first 1000 results*
diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js b/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js index 26eb661e03c4..1aea07460d92 100644 --- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js +++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js @@ -70,7 +70,7 @@ const AtAGlance = { }; const Table = { - width: '500px', + width: '600px', }; const AtAGlanceLists = { From b4e715bbae21fcc9ac59a19fd4f28fe26931055a Mon Sep 17 00:00:00 2001 From: cccs-Dustin <96579982+cccs-Dustin@users.noreply.github.com> Date: Wed, 3 Aug 2022 11:39:52 -0400 Subject: [PATCH 05/10] [CLDN-1540] temp update to docker image tag so that we can deploy code changes to PB-stg From 880f7f2f2b8f30caa75fa348d5e98d515053c941 Mon Sep 17 00:00:00 2001 From: cccs-Dustin <96579982+cccs-Dustin@users.noreply.github.com> Date: Wed, 3 Aug 2022 11:40:38 -0400 Subject: [PATCH 06/10] [CLDN-1540] revert of temp update to docker image tag so that we can deploy code changes to PB-stg --- cccs-build/superset/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/cccs-build/superset/Dockerfile b/cccs-build/superset/Dockerfile index 6e0667e02575..c7aba483c887 100644 --- a/cccs-build/superset/Dockerfile +++ b/cccs-build/superset/Dockerfile @@ -3,6 +3,7 @@ ARG VAULT_CA_CONTAINER=uchimera.azurecr.io/cccs/hogwarts/vault-ca:master_2921_22 FROM $VAULT_CA_CONTAINER AS vault_ca FROM uchimera.azurecr.io/cccs/superset-base:cccs-2.0_20220808144709_b4476 + USER root COPY *requirements.txt /tmp/ From 83946c723740f438903bd395e677d52c2c529cac Mon Sep 17 00:00:00 2001 From: Reese <10563996+reesercollins@users.noreply.github.com> Date: Tue, 9 Aug 2022 10:54:47 -0400 Subject: [PATCH 07/10] Add path to url (#193) --- superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx index d48f4264b118..0759306cc08b 100644 --- a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx +++ b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx @@ -322,7 +322,7 @@ const DatasetList: FunctionComponent = ({ const parsedExtra = JSON.parse(extra); if (parsedExtra?.urn) { return ( - + ); From cda99f29eed9061fe00bee00df49d54d328f06e7 Mon Sep 17 00:00:00 2001 From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com> Date: Tue, 16 Aug 2022 11:37:01 -0400 Subject: [PATCH 08/10] [CLDN-1609] Fixing post merge build errors --- .../components/Header/Header.test.tsx | 1 - .../src/dashboard/components/Header/index.jsx | 32 +++++++++---------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/superset-frontend/src/dashboard/components/Header/Header.test.tsx b/superset-frontend/src/dashboard/components/Header/Header.test.tsx index 596bb43dc1cb..214a0d0a5322 100644 --- a/superset-frontend/src/dashboard/components/Header/Header.test.tsx +++ b/superset-frontend/src/dashboard/components/Header/Header.test.tsx @@ -328,7 +328,6 @@ test('should refresh the charts', async () => { expect(mockedProps.onRefresh).toHaveBeenCalledTimes(1); }); - test('should show datahub link', async () => { const mockedProps = createProps(); setup(mockedProps); diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx index 756159f6c86a..e55d83e4e546 100644 --- a/superset-frontend/src/dashboard/components/Header/index.jsx +++ b/superset-frontend/src/dashboard/components/Header/index.jsx @@ -511,22 +511,22 @@ class Header extends React.PureComponent { showTooltip: true, }} titlePanelAdditionalItems={ - <> - - - - - + <> + + + + + } rightPanelAdditionalItems={
From 593ee5b29e03326bb8a18ea75a67ebddbb77308a Mon Sep 17 00:00:00 2001 From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com> Date: Tue, 16 Aug 2022 11:45:54 -0400 Subject: [PATCH 09/10] Update cccs-build/superset-base/azure-pipelines.yml Co-authored-by: Reese <10563996+reesercollins@users.noreply.github.com> --- cccs-build/superset-base/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cccs-build/superset-base/azure-pipelines.yml b/cccs-build/superset-base/azure-pipelines.yml index e97febdbbde4..460debb46f6c 100644 --- a/cccs-build/superset-base/azure-pipelines.yml +++ b/cccs-build/superset-base/azure-pipelines.yml @@ -41,7 +41,7 @@ steps: - task: Docker@2 displayName: Push image inputs: - command: "push" + command: push repository: $(imageRepository) tags: | $(BRANCH_NAME) From 88731e54529276fda9bcc14381aac93f55d4b1ed Mon Sep 17 00:00:00 2001 From: cccs-RyanS <71385290+cccs-RyanS@users.noreply.github.com> Date: Tue, 16 Aug 2022 11:46:02 -0400 Subject: [PATCH 10/10] Update superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js Co-authored-by: Reese <10563996+reesercollins@users.noreply.github.com> --- .../plugins/plugin-chart-at-a-glance-user-id/src/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js b/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js index 1aea07460d92..52efd47219a2 100644 --- a/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js +++ b/superset-frontend/src/cccs-viz/plugins/plugin-chart-at-a-glance-user-id/src/styles.js @@ -70,7 +70,7 @@ const AtAGlance = { }; const Table = { - width: '600px', + width: '100%', }; const AtAGlanceLists = {