You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2023/12/04 21:05:59 UTC
(superset) 14/15: chore: Clean up the examples dashboards (#26158)
This is an automated email from the ASF dual-hosted git repository.
michaelsmolina pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 5ec1edc87638d30ad1b13411fd99846984cc5972
Author: Michael S. Molina <70...@users.noreply.github.com>
AuthorDate: Mon Dec 4 16:05:08 2023 -0300
chore: Clean up the examples dashboards (#26158)
(cherry picked from commit 3ab27c6ec90d4b27e6a7c21783bd3d1f203280a4)
---
.../cypress/e2e/dashboard/nativeFilters.test.ts | 6 +-
.../cypress/e2e/dashboard/tabs.test.ts | 3 -
.../cypress-base/cypress/e2e/dashboard/utils.ts | 1 -
.../cypress-base/cypress/support/e2e.ts | 2 +-
.../examples/configs/charts/Filter_Segments.yaml | 68 ---
.../configs/charts/Filtering_Vaccines.yaml | 53 --
.../configs/charts/Vehicle_Sales_Filter.yaml | 47 --
.../configs/charts/Video_Game_Sales_Filter.yaml | 55 --
.../dashboards/COVID_Vaccine_Dashboard.yaml | 128 ++---
.../dashboards/FCC_New_Coder_Survey_2018.yaml | 608 ++++++++++-----------
.../configs/dashboards/Sales_Dashboard.yaml | 300 ++++------
.../configs/dashboards/Video_Game_Sales.yaml | 389 ++++++-------
superset/examples/misc_dashboard.py | 148 ++---
superset/examples/world_bank.py | 39 +-
tests/integration_tests/charts/api_tests.py | 6 +-
.../integration_tests/dashboards/commands_tests.py | 20 +-
tests/integration_tests/dashboards/dao_tests.py | 54 --
tests/integration_tests/databases/api_tests.py | 2 +-
tests/integration_tests/utils_tests.py | 44 --
19 files changed, 659 insertions(+), 1314 deletions(-)
diff --git a/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts b/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts
index e8457ba94b..7683d7f878 100644
--- a/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts
+++ b/superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.test.ts
@@ -113,7 +113,7 @@ function prepareDashboardFilters(
},
type: 'NATIVE_FILTER',
description: '',
- chartsInScope: [6],
+ chartsInScope: [5],
tabsInScope: [],
});
});
@@ -150,7 +150,7 @@ function prepareDashboardFilters(
meta: {
width: 4,
height: 50,
- chartId: 6,
+ chartId: 5,
sliceName: 'Most Populated Countries',
},
},
@@ -414,7 +414,7 @@ describe('Native filters', () => {
cy.createSampleDashboards([0]);
});
- it('Verify that default value is respected after revisit', () => {
+ it.only('Verify that default value is respected after revisit', () => {
prepareDashboardFilters([
{ name: 'country_name', column: 'country_name', datasetId: 2 },
]);
diff --git a/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts b/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts
index 6fc89c1446..ba442e600a 100644
--- a/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts
+++ b/superset-frontend/cypress-base/cypress/e2e/dashboard/tabs.test.ts
@@ -25,7 +25,6 @@ import { TABBED_DASHBOARD } from 'cypress/utils/urls';
import { expandFilterOnLeftPanel } from './utils';
const TREEMAP = { name: 'Treemap', viz: 'treemap_v2' };
-const FILTER_BOX = { name: 'Region Filter', viz: 'filter_box' };
const LINE_CHART = { name: 'Growth Rate', viz: 'line' };
const BOX_PLOT = { name: 'Box plot', viz: 'box_plot' };
const BIG_NUMBER = { name: 'Number of Girls', viz: 'big_number_total' };
@@ -41,7 +40,6 @@ function topLevelTabs() {
function resetTabs() {
topLevelTabs();
cy.get('@top-level-tabs').first().click();
- waitForChartLoad(FILTER_BOX);
waitForChartLoad(TREEMAP);
waitForChartLoad(BIG_NUMBER);
waitForChartLoad(TABLE);
@@ -96,7 +94,6 @@ describe('Dashboard tabs', () => {
it.skip('should send new queries when tab becomes visible', () => {
// landing in first tab
- waitForChartLoad(FILTER_BOX);
waitForChartLoad(TREEMAP);
getChartAliasBySpec(TREEMAP).then(treemapAlias => {
diff --git a/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts b/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
index ca539039cf..c63df51d10 100644
--- a/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
+++ b/superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
@@ -23,7 +23,6 @@ import { ChartSpec, waitForChartLoad } from 'cypress/utils';
export const WORLD_HEALTH_CHARTS = [
{ name: '% Rural', viz: 'world_map' },
{ name: 'Most Populated Countries', viz: 'table' },
- { name: 'Region Filter', viz: 'filter_box' },
{ name: "World's Population", viz: 'big_number' },
{ name: 'Growth Rate', viz: 'line' },
{ name: 'Rural Breakdown', viz: 'sunburst' },
diff --git a/superset-frontend/cypress-base/cypress/support/e2e.ts b/superset-frontend/cypress-base/cypress/support/e2e.ts
index 6642e0120c..cccc7b2005 100644
--- a/superset-frontend/cypress-base/cypress/support/e2e.ts
+++ b/superset-frontend/cypress-base/cypress/support/e2e.ts
@@ -18,7 +18,7 @@
*/
import '@cypress/code-coverage/support';
import '@applitools/eyes-cypress/commands';
-import failOnConsoleError, { Config } from 'cypress-fail-on-console-error';
+import failOnConsoleError from 'cypress-fail-on-console-error';
require('cy-verify-downloads').addCustomCommand();
diff --git a/superset/examples/configs/charts/Filter_Segments.yaml b/superset/examples/configs/charts/Filter_Segments.yaml
deleted file mode 100644
index 605e33ca7e..0000000000
--- a/superset/examples/configs/charts/Filter_Segments.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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.
-slice_name: Filter Segments
-viz_type: filter_box
-params:
- adhoc_filters: []
- datasource: 42__table
- date_filter: false
- filter_configs:
- - asc: true
- clearable: true
- column: ethnic_minority
- key: -xNBqpfQo
- label: Ethnic Minority
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: gender
- key: 19VeBGTKf
- label: Gender
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: developer_type
- key: OWTb4s69T
- label: Developer Type
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: lang_at_home
- key: Fn-YClyhb
- label: Language at Home
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: country_live
- key: 2fNskRCLJ
- label: Country live
- multiple: true
- searchAllOptions: false
- granularity_sqla: time_start
- queryFields: {}
- slice_id: 1387
- time_range: No filter
- url_params: {}
- viz_type: filter_box
-cache_timeout: null
-uuid: 6420629a-ce74-2c6b-ef7d-b2e78baa3cfe
-version: 1.0.0
-dataset_uuid: d95a2865-53ce-1f82-a53d-8e3c89331469
diff --git a/superset/examples/configs/charts/Filtering_Vaccines.yaml b/superset/examples/configs/charts/Filtering_Vaccines.yaml
deleted file mode 100644
index e458c5a009..0000000000
--- a/superset/examples/configs/charts/Filtering_Vaccines.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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.
-slice_name: Filtering Vaccines
-viz_type: filter_box
-params:
- adhoc_filters: []
- datasource: 69__table
- date_filter: false
- filter_configs:
- - asc: true
- clearable: true
- column: country_name
- key: D00hRxPLE
- label: Country
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: product_category
- key: jJ7x2cuIc
- label: Vaccine Approach
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: clinical_stage
- key: EgGwwAUU6
- label: Clinical Stage
- multiple: true
- searchAllOptions: false
- queryFields: {}
- slice_id: 3965
- time_range: No filter
- url_params: {}
- viz_type: filter_box
-cache_timeout: null
-uuid: c29381ce-0e99-4cf3-bf0f-5f55d6b94176
-version: 1.0.0
-dataset_uuid: 974b7a1c-22ea-49cb-9214-97b7dbd511e0
diff --git a/superset/examples/configs/charts/Vehicle_Sales_Filter.yaml b/superset/examples/configs/charts/Vehicle_Sales_Filter.yaml
deleted file mode 100644
index 91c8f76bb8..0000000000
--- a/superset/examples/configs/charts/Vehicle_Sales_Filter.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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.
-slice_name: Vehicle Sales Filter
-viz_type: filter_box
-params:
- adhoc_filters: []
- datasource: 23__table
- date_filter: true
- filter_configs:
- - asc: true
- clearable: true
- column: product_line
- key: 7oUjq15eQ
- label: Product Line
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: deal_size
- key: c3hO6Eub8
- label: Deal Size
- multiple: true
- searchAllOptions: false
- granularity_sqla: order_date
- queryFields: {}
- slice_id: 671
- time_range: '2003-01-01T00:00:00 : 2005-06-01T00:00:00'
- url_params: {}
- viz_type: filter_box
-cache_timeout: null
-uuid: a5689df7-98fc-7c51-602c-ebd92dc3ec70
-version: 1.0.0
-dataset_uuid: e8623bb9-5e00-f531-506a-19607f5f8005
diff --git a/superset/examples/configs/charts/Video_Game_Sales_Filter.yaml b/superset/examples/configs/charts/Video_Game_Sales_Filter.yaml
deleted file mode 100644
index 6c76d53e8e..0000000000
--- a/superset/examples/configs/charts/Video_Game_Sales_Filter.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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.
-slice_name: Video Game Sales filter
-viz_type: filter_box
-params:
- adhoc_filters: []
- datasource: 21__table
- date_filter: true
- filter_configs:
- - asc: true
- clearable: true
- column: platform
- key: s3ItH9vhG
- label: Platform
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: genre
- key: 202hDeMsG
- label: Genre
- multiple: true
- searchAllOptions: false
- - asc: true
- clearable: true
- column: publisher
- key: 5Os6jsJFK
- label: Publisher
- multiple: true
- searchAllOptions: false
- granularity_sqla: year
- queryFields: {}
- time_range: No filter
- url_params:
- preselect_filters: '{"1389": {"platform": ["PS", "PS2", "PS3", "PS4"], "genre":
- null, "__time_range": "No filter"}}'
- viz_type: filter_box
-cache_timeout: null
-uuid: fd9ce7ec-ae08-4f71-93e0-7c26b132b2e6
-version: 1.0.0
-dataset_uuid: 53d47c0c-c03d-47f0-b9ac-81225f808283
diff --git a/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml b/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml
index 363077aebe..1d870880b9 100644
--- a/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml
+++ b/superset/examples/configs/dashboards/COVID_Vaccine_Dashboard.yaml
@@ -18,6 +18,9 @@ dashboard_title: COVID Vaccine Dashboard
description: null
css: ""
slug: null
+certified_by: ""
+certification_details: ""
+published: true
uuid: f4065089-110a-41fa-8dd7-9ce98a65e250
position:
CHART-63bEuxjDMJ:
@@ -25,32 +28,32 @@ position:
id: CHART-63bEuxjDMJ
meta:
chartId: 3961
- height: 72
+ height: 60
sliceName: Vaccine Candidates per Country
sliceNameOverride: Map of Vaccine Candidates
uuid: ddc91df6-fb40-4826-bdca-16b85af1c024
- width: 12
+ width: 8
parents:
- ROOT_ID
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
- - ROW-zvw7luvEL
+ - ROW-xSeNAspgw
type: CHART
CHART-F-fkth0Dnv:
children: []
id: CHART-F-fkth0Dnv
meta:
chartId: 3960
- height: 60
+ height: 82
sliceName: Vaccine Candidates per Country
sliceNameOverride: Treemap of Vaccine Candidates per Country
uuid: e2f5a8a7-feb0-4f79-bc6b-01fe55b98b3c
- width: 8
+ width: 4
parents:
- ROOT_ID
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
- - ROW-xSeNAspgw
+ - ROW-dieUdkeUw
type: CHART
CHART-RjD_ygqtwH:
children: []
@@ -66,7 +69,7 @@ position:
- ROOT_ID
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
- - ROW-zvw7luvEL
+ - ROW-zhOlQLQnB
type: CHART
CHART-aGfmWtliqA:
children: []
@@ -81,17 +84,17 @@ position:
- ROOT_ID
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
- - ROW-zvw7luvEL
+ - ROW-zhOlQLQnB
type: CHART
- CHART-j4hUvP5dDD:
+ CHART-dCUpAcPsji:
children: []
- id: CHART-j4hUvP5dDD
+ id: CHART-dCUpAcPsji
meta:
- chartId: 3962
+ chartId: 3963
height: 82
- sliceName: Vaccine Candidates per Approach & Stage
- sliceNameOverride: Heatmap of Approaches & Clinical Stages
- uuid: 0c953c84-0c9a-418d-be9f-2894d2a2cee0
+ sliceName: Vaccine Candidates per Country & Stage
+ sliceNameOverride: Heatmap of Countries & Clinical Stages
+ uuid: cd111331-d286-4258-9020-c7949a109ed2
width: 4
parents:
- ROOT_ID
@@ -99,37 +102,37 @@ position:
- TAB-BCIJF4NvgQ
- ROW-dieUdkeUw
type: CHART
- CHART-dCUpAcPsji:
+ CHART-fYo7IyvKZQ:
children: []
- id: CHART-dCUpAcPsji
+ id: CHART-fYo7IyvKZQ
meta:
- chartId: 3963
- height: 72
+ chartId: 3964
+ height: 60
sliceName: Vaccine Candidates per Country & Stage
- sliceNameOverride: Heatmap of Countries & Clinical Stages
- uuid: cd111331-d286-4258-9020-c7949a109ed2
+ sliceNameOverride: Sunburst of Country & Clinical Stages
+ uuid: f69c556f-15fe-4a82-a8bb-69d5b6954123
width: 4
parents:
- ROOT_ID
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
- - ROW-dieUdkeUw
+ - ROW-xSeNAspgw
type: CHART
- CHART-eirDduqb1A:
+ CHART-j4hUvP5dDD:
children: []
- id: CHART-eirDduqb1A
+ id: CHART-j4hUvP5dDD
meta:
- chartId: 3965
- height: 60
- sliceName: Filtering Vaccines
- sliceNameOverride: Filter Box of Vaccines
- uuid: c29381ce-0e99-4cf3-bf0f-5f55d6b94176
+ chartId: 3962
+ height: 82
+ sliceName: Vaccine Candidates per Approach & Stage
+ sliceNameOverride: Heatmap of Approaches & Clinical Stages
+ uuid: 0c953c84-0c9a-418d-be9f-2894d2a2cee0
width: 4
parents:
- ROOT_ID
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
- - ROW-xSeNAspgw
+ - ROW-dieUdkeUw
type: CHART
DASHBOARD_VERSION_KEY: v2
GRID_ID:
@@ -189,46 +192,17 @@ position:
- TAB-BCIJF4NvgQ
- ROW-zhOlQLQnB
type: MARKDOWN
- CHART-fYo7IyvKZQ:
- children: []
- id: CHART-fYo7IyvKZQ
- meta:
- chartId: 3964
- height: 72
- sliceName: Vaccine Candidates per Country & Stage
- sliceNameOverride: Sunburst of Country & Clinical Stages
- uuid: f69c556f-15fe-4a82-a8bb-69d5b6954123
- width: 4
- parents:
- - ROOT_ID
- - TABS-wUKya7eQ0Z
- - TAB-BCIJF4NvgQ
- - ROW-dieUdkeUw
- type: CHART
ROOT_ID:
children:
- TABS-wUKya7eQ0Z
id: ROOT_ID
type: ROOT
- ROW-zhOlQLQnB:
- children:
- - MARKDOWN-VjQQ5SFj5v
- - CHART-RjD_ygqtwH
- - CHART-aGfmWtliqA
- id: ROW-zhOlQLQnB
- meta:
- "0": ROOT_ID
- background: BACKGROUND_TRANSPARENT
- parents:
- - ROOT_ID
- - TABS-wUKya7eQ0Z
- - TAB-BCIJF4NvgQ
- type: ROW
- ROW-xSeNAspgw:
+ ROW-dieUdkeUw:
children:
- - CHART-eirDduqb1A
- CHART-F-fkth0Dnv
- id: ROW-xSeNAspgw
+ - CHART-dCUpAcPsji
+ - CHART-j4hUvP5dDD
+ id: ROW-dieUdkeUw
meta:
"0": ROOT_ID
background: BACKGROUND_TRANSPARENT
@@ -237,12 +211,11 @@ position:
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
type: ROW
- ROW-dieUdkeUw:
+ ROW-xSeNAspgw:
children:
- - CHART-dCUpAcPsji
+ - CHART-63bEuxjDMJ
- CHART-fYo7IyvKZQ
- - CHART-j4hUvP5dDD
- id: ROW-dieUdkeUw
+ id: ROW-xSeNAspgw
meta:
"0": ROOT_ID
background: BACKGROUND_TRANSPARENT
@@ -251,10 +224,12 @@ position:
- TABS-wUKya7eQ0Z
- TAB-BCIJF4NvgQ
type: ROW
- ROW-zvw7luvEL:
+ ROW-zhOlQLQnB:
children:
- - CHART-63bEuxjDMJ
- id: ROW-zvw7luvEL
+ - MARKDOWN-VjQQ5SFj5v
+ - CHART-RjD_ygqtwH
+ - CHART-aGfmWtliqA
+ id: ROW-zhOlQLQnB
meta:
"0": ROOT_ID
background: BACKGROUND_TRANSPARENT
@@ -267,7 +242,6 @@ position:
children:
- ROW-zhOlQLQnB
- ROW-xSeNAspgw
- - ROW-zvw7luvEL
- ROW-dieUdkeUw
id: TAB-BCIJF4NvgQ
meta:
@@ -316,18 +290,4 @@ metadata:
Unknown: "#EFA1AA"
Live attenuated virus: "#FDE380"
COUNT(*): "#D1C6BC"
- filter_scopes:
- "3965":
- country_name:
- scope:
- - ROOT_ID
- immune: []
- product_category:
- scope:
- - ROOT_ID
- immune: []
- clinical_stage:
- scope:
- - ROOT_ID
- immune: []
version: 1.0.0
diff --git a/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml b/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml
index 2e97e6b576..b1508daff0 100644
--- a/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml
+++ b/superset/examples/configs/dashboards/FCC_New_Coder_Survey_2018.yaml
@@ -16,8 +16,11 @@
# under the License.
dashboard_title: FCC New Coder Survey 2018
description: null
-css: ''
+css: ""
slug: null
+certified_by: ""
+certification_details: ""
+published: true
uuid: 5b12b583-8204-08e9-392c-422209c29787
position:
CHART--0GPGmD-pO:
@@ -25,17 +28,17 @@ position:
id: CHART--0GPGmD-pO
meta:
chartId: 1361
- height: 48
- sliceName: 'Current Developers: Is this your first development job?'
+ height: 56
+ sliceName: "Current Developers: Is this your first development job?"
sliceNameOverride: Is this your first development job?
uuid: bfe5a8e6-146f-ef59-5e6c-13d519b236a8
width: 2
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-b7USYEngT
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-b7USYEngT
type: CHART
CHART--w_Br1tPP3:
children: []
@@ -47,27 +50,27 @@ position:
uuid: a6dd2d5a-2cdc-c8ec-f30c-85920f4f8a65
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW-DR80aHJA2c
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW-DR80aHJA2c
type: CHART
CHART-0-zzTwBINh:
children: []
id: CHART-0-zzTwBINh
meta:
chartId: 3631
- height: 49
+ height: 55
sliceName: Last Year Income Distribution
uuid: a2ec5256-94b4-43c4-b8c7-b83f70c5d4df
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-b7USYEngT
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-b7USYEngT
type: CHART
CHART-37fu7fO6Z0:
children: []
@@ -79,11 +82,11 @@ position:
uuid: 02f546ae-1bf4-bd26-8bc2-14b9279c8a62
width: 7
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-kNjtGVFpp
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-kNjtGVFpp
type: CHART
CHART-5QwNlSbXYU:
children: []
@@ -95,11 +98,11 @@ position:
uuid: 097c05c9-2dd2-481d-813d-d6c0c12b4a3d
width: 5
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-kNjtGVFpp
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-kNjtGVFpp
type: CHART
CHART-FKuVqq4kaA:
children: []
@@ -112,11 +115,11 @@ position:
uuid: e6b09c28-98cf-785f-4caf-320fd4fca802
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW-DR80aHJA2c
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW-DR80aHJA2c
type: CHART
CHART-JnpdZOhVer:
children: []
@@ -124,16 +127,16 @@ position:
meta:
chartId: 1369
height: 50
- sliceName: "\U0001F393 Highest degree held"
+ sliceName: Highest degree held
uuid: 9f7d2b9c-6b3a-69f9-f03e-d3a141514639
width: 2
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW--BIzjz9F0
- - COLUMN-IEKAo_QJlz
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW--BIzjz9F0
+ - COLUMN-IEKAo_QJlz
type: CHART
CHART-LjfhrUkEef:
children: []
@@ -145,11 +148,11 @@ position:
uuid: 067c4a1e-ae03-4c0c-8e2a-d2c0f4bf43c3
width: 5
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-s3l4os7YY
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-s3l4os7YY
type: CHART
CHART-Q3pbwsH3id:
children: []
@@ -162,27 +165,27 @@ position:
uuid: def07750-b5c0-0b69-6228-cb2330916166
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-mOvr_xWm1
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-mOvr_xWm1
type: CHART
CHART-QVql08s5Bv:
children: []
id: CHART-QVql08s5Bv
meta:
chartId: 3632
- height: 50
+ height: 56
sliceName: First Time Developer?
uuid: edc75073-8f33-4123-a28d-cd6dfb33cade
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-b7USYEngT
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-b7USYEngT
type: CHART
CHART-UtSaz4pfV6:
children: []
@@ -194,12 +197,12 @@ position:
uuid: 5f1ea868-604e-f69d-a241-5daa83ff33be
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-UsW-_RPAb
- - COLUMN-OJ5spdMmNh
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-UsW-_RPAb
+ - COLUMN-OJ5spdMmNh
type: CHART
CHART-VvFbGxi3X_:
children: []
@@ -211,12 +214,12 @@ position:
uuid: 03a74c97-52fc-cf87-233c-d4275f8c550c
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-UsW-_RPAb
- - COLUMN-OJ5spdMmNh
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-UsW-_RPAb
+ - COLUMN-OJ5spdMmNh
type: CHART
CHART-XHncHuS5pZ:
children: []
@@ -229,11 +232,11 @@ position:
uuid: a0e5329f-224e-6fc8-efd2-d37d0f546ee8
width: 2
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW-DR80aHJA2c
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW-DR80aHJA2c
type: CHART
CHART-YSzS5GOOLf:
children: []
@@ -245,11 +248,11 @@ position:
uuid: 4880e4f4-b701-4be0-86f3-e7e89432e83b
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-mOvr_xWm1
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-mOvr_xWm1
type: CHART
CHART-ZECnzPz8Bi:
children: []
@@ -261,44 +264,27 @@ position:
uuid: 5596e0f6-78a9-465d-8325-7139c794a06a
width: 7
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-s3l4os7YY
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-s3l4os7YY
type: CHART
CHART-aytwlT4GAq:
children: []
id: CHART-aytwlT4GAq
meta:
chartId: 1384
- height: 50
+ height: 30
sliceName: Breakdown of Developer Type
uuid: b8386be8-f44e-6535-378c-2aa2ba461286
- width: 4
- parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-y-GwJPgxLr
- type: CHART
- CHART-d6vjW6rC6V:
- children: []
- id: CHART-d6vjW6rC6V
- meta:
- chartId: 1387
- height: 54
- sliceName: Filter Segments
- sliceNameOverride: Filter By
- uuid: 6420629a-ce74-2c6b-ef7d-b2e78baa3cfe
- width: 5
+ width: 6
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-y-GwJPgxLr
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-y-GwJPgxLr
type: CHART
CHART-fLpTSAHpAO:
children: []
@@ -310,11 +296,11 @@ position:
uuid: 2ba66056-a756-d6a3-aaec-0c243fb7062e
width: 9
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-UsW-_RPAb
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-UsW-_RPAb
type: CHART
CHART-lQVSAw0Or3:
children: []
@@ -327,11 +313,11 @@ position:
uuid: cb8998ab-9f93-4f0f-4e4b-3bfe4b0dea9d
width: 4
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW--BIzjz9F0
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW--BIzjz9F0
type: CHART
CHART-o-JPAWMZK-:
children: []
@@ -343,11 +329,11 @@ position:
uuid: 0f6b447c-828c-e71c-87ac-211bc412b214
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-mOvr_xWm1
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-mOvr_xWm1
type: CHART
CHART-v22McUFMtx:
children: []
@@ -360,12 +346,12 @@ position:
uuid: 6d0ceb30-2008-d19c-d285-cf77dc764433
width: 4
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW--BIzjz9F0
- - COLUMN-IEKAo_QJlz
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW--BIzjz9F0
+ - COLUMN-IEKAo_QJlz
type: CHART
CHART-wxWVtlajRF:
children: []
@@ -377,49 +363,49 @@ position:
uuid: bff88053-ccc4-92f2-d6f5-de83e950e8cd
width: 4
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW--BIzjz9F0
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW--BIzjz9F0
type: CHART
COLUMN-IEKAo_QJlz:
children:
- - CHART-JnpdZOhVer
- - CHART-v22McUFMtx
+ - CHART-JnpdZOhVer
+ - CHART-v22McUFMtx
id: COLUMN-IEKAo_QJlz
meta:
background: BACKGROUND_TRANSPARENT
width: 4
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW--BIzjz9F0
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW--BIzjz9F0
type: COLUMN
COLUMN-OJ5spdMmNh:
children:
- - CHART-VvFbGxi3X_
- - CHART-UtSaz4pfV6
+ - CHART-VvFbGxi3X_
+ - CHART-UtSaz4pfV6
id: COLUMN-OJ5spdMmNh
meta:
background: BACKGROUND_TRANSPARENT
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-UsW-_RPAb
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-UsW-_RPAb
type: COLUMN
DASHBOARD_VERSION_KEY: v2
GRID_ID:
children:
- - TABS-L-d9eyOE-b
+ - TABS-L-d9eyOE-b
id: GRID_ID
parents:
- - ROOT_ID
+ - ROOT_ID
type: GRID
HEADER_ID:
id: HEADER_ID
@@ -453,21 +439,21 @@ position:
height: 50
width: 4
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
- - ROW-DR80aHJA2c
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
+ - ROW-DR80aHJA2c
type: MARKDOWN
MARKDOWN-NQmSPDOtpl:
children: []
id: MARKDOWN-NQmSPDOtpl
meta:
- code: '# Current Developers
+ code: "# Current Developers
- While majority of the students on FCC are Aspiring developers, there''s a
- nontrivial minority that''s there to continue leveling up their skills (17%
+ While majority of the students on FCC are Aspiring developers, there's a
+ nontrivial minority that's there to continue leveling up their skills (17%
of the survey respondents).
@@ -480,28 +466,28 @@ position:
- The proportion of developers whose current job is their first developer
job
- - Distribution of last year''s income
+ - Distribution of last year's income
- The geographic distribution of these developers
- The overlap between commute time and if their current job is their first
developer job
- - Potential link between highest degree earned and last year''s income'
- height: 50
+ - Potential link between highest degree earned and last year's income"
+ height: 56
width: 4
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
- - ROW-b7USYEngT
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
+ - ROW-b7USYEngT
type: MARKDOWN
MARKDOWN-__u6CsUyfh:
children: []
id: MARKDOWN-__u6CsUyfh
meta:
- code: '## FreeCodeCamp New Coder Survey 2018
+ code: "## FreeCodeCamp New Coder Survey 2018
Every year, FCC surveys its user base (mostly budding software developers)
@@ -513,21 +499,22 @@ position:
- [Dataset](https://github.com/freeCodeCamp/2018-new-coder-survey)
- - [FCC Blog Post](https://www.freecodecamp.org/news/we-asked-20-000-people-who-they-are-and-how-theyre-learning-to-code-fff5d668969/)'
- height: 45
- width: 3
- parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-y-GwJPgxLr
+ - [FCC Blog Post](https://www.freecodecamp.org/news/we-asked-20-000-people-who-they-are-and-how-theyre-learning-to-code-fff5d668969/)"
+ height: 30
+ width: 6
+ parents:
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-y-GwJPgxLr
type: MARKDOWN
MARKDOWN-zc2mWxZeox:
children: []
id: MARKDOWN-zc2mWxZeox
meta:
- code: "# Demographics\n\nFreeCodeCamp is a completely-online community of people\
+ code:
+ "# Demographics\n\nFreeCodeCamp is a completely-online community of people\
\ learning to code and consists of aspiring & current developers from all\
\ over the world. That doesn't necessarily mean that access to these types\
\ of opportunities are evenly distributed. \n\nThe following charts can begin\
@@ -537,243 +524,220 @@ position:
height: 52
width: 3
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
- - ROW-mOvr_xWm1
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
+ - ROW-mOvr_xWm1
type: MARKDOWN
ROOT_ID:
children:
- - GRID_ID
+ - GRID_ID
id: ROOT_ID
type: ROOT
ROW--BIzjz9F0:
children:
- - COLUMN-IEKAo_QJlz
- - CHART-lQVSAw0Or3
- - CHART-wxWVtlajRF
+ - COLUMN-IEKAo_QJlz
+ - CHART-lQVSAw0Or3
+ - CHART-wxWVtlajRF
id: ROW--BIzjz9F0
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
type: ROW
ROW-DR80aHJA2c:
children:
- - MARKDOWN-BUmyHM2s0x
- - CHART-XHncHuS5pZ
- - CHART--w_Br1tPP3
- - CHART-FKuVqq4kaA
+ - MARKDOWN-BUmyHM2s0x
+ - CHART-XHncHuS5pZ
+ - CHART--w_Br1tPP3
+ - CHART-FKuVqq4kaA
id: ROW-DR80aHJA2c
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-YT6eNksV-
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-YT6eNksV-
type: ROW
ROW-UsW-_RPAb:
children:
- - COLUMN-OJ5spdMmNh
- - CHART-fLpTSAHpAO
+ - COLUMN-OJ5spdMmNh
+ - CHART-fLpTSAHpAO
id: ROW-UsW-_RPAb
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
type: ROW
ROW-b7USYEngT:
children:
- - MARKDOWN-NQmSPDOtpl
- - CHART--0GPGmD-pO
- - CHART-QVql08s5Bv
- - CHART-0-zzTwBINh
+ - MARKDOWN-NQmSPDOtpl
+ - CHART--0GPGmD-pO
+ - CHART-QVql08s5Bv
+ - CHART-0-zzTwBINh
id: ROW-b7USYEngT
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
type: ROW
ROW-kNjtGVFpp:
children:
- - CHART-5QwNlSbXYU
- - CHART-37fu7fO6Z0
+ - CHART-5QwNlSbXYU
+ - CHART-37fu7fO6Z0
id: ROW-kNjtGVFpp
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
type: ROW
ROW-mOvr_xWm1:
children:
- - MARKDOWN-zc2mWxZeox
- - CHART-Q3pbwsH3id
- - CHART-o-JPAWMZK-
- - CHART-YSzS5GOOLf
+ - MARKDOWN-zc2mWxZeox
+ - CHART-Q3pbwsH3id
+ - CHART-o-JPAWMZK-
+ - CHART-YSzS5GOOLf
id: ROW-mOvr_xWm1
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
type: ROW
ROW-s3l4os7YY:
children:
- - CHART-LjfhrUkEef
- - CHART-ZECnzPz8Bi
+ - CHART-LjfhrUkEef
+ - CHART-ZECnzPz8Bi
id: ROW-s3l4os7YY
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-l_9I0aNYZ
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-l_9I0aNYZ
type: ROW
ROW-y-GwJPgxLr:
children:
- - MARKDOWN-__u6CsUyfh
- - CHART-aytwlT4GAq
- - CHART-d6vjW6rC6V
+ - MARKDOWN-__u6CsUyfh
+ - CHART-aytwlT4GAq
id: ROW-y-GwJPgxLr
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
- - TAB-AsMaxdYL_t
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
+ - TAB-AsMaxdYL_t
type: ROW
TAB-AsMaxdYL_t:
children:
- - ROW-y-GwJPgxLr
- - ROW-mOvr_xWm1
- - ROW-UsW-_RPAb
+ - ROW-y-GwJPgxLr
+ - ROW-mOvr_xWm1
+ - ROW-UsW-_RPAb
id: TAB-AsMaxdYL_t
meta:
text: Overview
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
type: TAB
TAB-YT6eNksV-:
children:
- - ROW-DR80aHJA2c
- - ROW--BIzjz9F0
+ - ROW-DR80aHJA2c
+ - ROW--BIzjz9F0
id: TAB-YT6eNksV-
meta:
text: "\U0001F680 Aspiring Developers"
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
type: TAB
TAB-l_9I0aNYZ:
children:
- - ROW-b7USYEngT
- - ROW-kNjtGVFpp
- - ROW-s3l4os7YY
+ - ROW-b7USYEngT
+ - ROW-kNjtGVFpp
+ - ROW-s3l4os7YY
id: TAB-l_9I0aNYZ
meta:
text: "\U0001F4BB Current Developers"
parents:
- - ROOT_ID
- - GRID_ID
- - TABS-L-d9eyOE-b
+ - ROOT_ID
+ - GRID_ID
+ - TABS-L-d9eyOE-b
type: TAB
TABS-L-d9eyOE-b:
children:
- - TAB-AsMaxdYL_t
- - TAB-YT6eNksV-
- - TAB-l_9I0aNYZ
+ - TAB-AsMaxdYL_t
+ - TAB-YT6eNksV-
+ - TAB-l_9I0aNYZ
id: TABS-L-d9eyOE-b
meta: {}
parents:
- - ROOT_ID
- - GRID_ID
+ - ROOT_ID
+ - GRID_ID
type: TABS
metadata:
timed_refresh_immune_slices: []
expanded_slices: {}
refresh_frequency: 0
- default_filters: '{}'
+ default_filters: "{}"
color_scheme: supersetColors
- filter_scopes:
- '1387':
- ethnic_minority:
- scope:
- - TAB-AsMaxdYL_t
- immune: []
- gender:
- scope:
- - ROOT_ID
- immune: []
- developer_type:
- scope:
- - ROOT_ID
- immune: []
- lang_at_home:
- scope:
- - ROOT_ID
- immune: []
- country_live:
- scope:
- - ROOT_ID
- immune: []
label_colors:
- '0': '#FCC700'
- '1': '#A868B7'
- '15': '#3CCCCB'
- '30': '#A38F79'
- '45': '#8FD3E4'
- age: '#1FA8C9'
- Yes,: '#1FA8C9'
- Female: '#454E7C'
- Prefer: '#5AC189'
- No,: '#FF7F44'
- Male: '#666666'
- Prefer not to say: '#E04355'
- Ph.D.: '#FCC700'
- associate's degree: '#A868B7'
- bachelor's degree: '#3CCCCB'
- high school diploma or equivalent (GED): '#A38F79'
- master's degree (non-professional): '#8FD3E4'
- no high school (secondary school): '#A1A6BD'
- professional degree (MBA, MD, JD, etc.): '#ACE1C4'
- some college credit, no degree: '#FEC0A1'
- some high school: '#B2B2B2'
- trade, technical, or vocational training: '#EFA1AA'
- No, not an ethnic minority: '#1FA8C9'
- Yes, an ethnic minority: '#454E7C'
- <NULL>: '#5AC189'
- 'Yes': '#FF7F44'
- 'No': '#666666'
- last_yr_income: '#E04355'
- More: '#A1A6BD'
- Less: '#ACE1C4'
- I: '#FEC0A1'
- expected_earn: '#B2B2B2'
- 'Yes: Willing To': '#EFA1AA'
- 'No: Not Willing to': '#FDE380'
- No Answer: '#D3B3DA'
- In an Office (with Other Developers): '#9EE5E5'
- No Preference: '#D1C6BC'
- From Home: '#1FA8C9'
+ "0": "#FCC700"
+ "1": "#A868B7"
+ "15": "#3CCCCB"
+ "30": "#A38F79"
+ "45": "#8FD3E4"
+ age: "#1FA8C9"
+ Yes,: "#1FA8C9"
+ Female: "#454E7C"
+ Prefer: "#5AC189"
+ No,: "#FF7F44"
+ Male: "#666666"
+ Prefer not to say: "#E04355"
+ Ph.D.: "#FCC700"
+ associate's degree: "#A868B7"
+ bachelor's degree: "#3CCCCB"
+ high school diploma or equivalent (GED): "#A38F79"
+ master's degree (non-professional): "#8FD3E4"
+ no high school (secondary school): "#A1A6BD"
+ professional degree (MBA, MD, JD, etc.): "#ACE1C4"
+ some college credit, no degree: "#FEC0A1"
+ some high school: "#B2B2B2"
+ trade, technical, or vocational training: "#EFA1AA"
+ No, not an ethnic minority: "#1FA8C9"
+ Yes, an ethnic minority: "#454E7C"
+ <NULL>: "#5AC189"
+ "Yes": "#FF7F44"
+ "No": "#666666"
+ last_yr_income: "#E04355"
+ More: "#A1A6BD"
+ Less: "#ACE1C4"
+ I: "#FEC0A1"
+ expected_earn: "#B2B2B2"
+ "Yes: Willing To": "#EFA1AA"
+ "No: Not Willing to": "#FDE380"
+ No Answer: "#D3B3DA"
+ In an Office (with Other Developers): "#9EE5E5"
+ No Preference: "#D1C6BC"
+ From Home: "#1FA8C9"
version: 1.0.0
diff --git a/superset/examples/configs/dashboards/Sales_Dashboard.yaml b/superset/examples/configs/dashboards/Sales_Dashboard.yaml
index 3efea3af25..439b763d0c 100644
--- a/superset/examples/configs/dashboards/Sales_Dashboard.yaml
+++ b/superset/examples/configs/dashboards/Sales_Dashboard.yaml
@@ -16,8 +16,11 @@
# under the License.
dashboard_title: Sales Dashboard
description: null
-css: ''
+css: ""
slug: null
+certified_by: ""
+certification_details: ""
+published: true
uuid: 04f79081-fb49-7bac-7f14-cc76cd2ad93b
position:
CHART-1NOOLm5YPs:
@@ -31,26 +34,26 @@ position:
uuid: c3d643cd-fd6f-4659-a5b7-59402487a8d0
width: 2
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-Tyv02UA_6W
- - COLUMN-8Rp54B6ikC
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-Tyv02UA_6W
+ - COLUMN-8Rp54B6ikC
type: CHART
CHART-AYpv8gFi_q:
children: []
id: CHART-AYpv8gFi_q
meta:
chartId: 2810
- height: 91
+ height: 70
sliceName: Number of Deals (for each Combination)
uuid: bd20fc69-dd51-46c1-99b5-09e37a434bf1
- width: 3
+ width: 6
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-0l1WcDzW3
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-4fthLQmdX
+ - ROW-0l1WcDzW3
type: CHART
CHART-KKT9BsnUst:
children: []
@@ -63,90 +66,74 @@ position:
uuid: db9609e4-9b78-4a32-87a7-4d9e19d51cd8
width: 7
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-oAtmu5grZ
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-oAtmu5grZ
type: CHART
CHART-OJ9aWDmn1q:
children: []
id: CHART-OJ9aWDmn1q
meta:
chartId: 2808
- height: 91
+ height: 70
sliceName: Proportion of Revenue by Product Line
sliceNameOverride: Proportion of Monthly Revenue by Product Line
uuid: 08aff161-f60c-4cb3-a225-dc9b1140d2e3
width: 6
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-0l1WcDzW3
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-4fthLQmdX
+ - ROW-0l1WcDzW3
type: CHART
CHART-YFg-9wHE7s:
children: []
id: CHART-YFg-9wHE7s
meta:
chartId: 2811
- height: 63
+ height: 49
sliceName: Seasonality of Revenue (per Product Line)
uuid: cf0da099-b3ab-4d94-ab62-cf353ac3c611
width: 6
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-E7MDSGfnm
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-4fthLQmdX
+ - ROW-E7MDSGfnm
type: CHART
CHART-_LMKI0D3tj:
children: []
id: CHART-_LMKI0D3tj
meta:
chartId: 2809
- height: 62
- sliceName: Revenue by Deal SIze
+ height: 49
+ sliceName: Revenue by Deal Size
sliceNameOverride: Monthly Revenue by Deal SIze
uuid: f065a533-2e13-42b9-bd19-801a21700dff
width: 6
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-E7MDSGfnm
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-4fthLQmdX
+ - ROW-E7MDSGfnm
type: CHART
CHART-id4RGv80N-:
children: []
id: CHART-id4RGv80N-
meta:
chartId: 2807
- height: 40
+ height: 59
sliceName: Total Items Sold (By Product Line)
sliceNameOverride: Total Products Sold (By Product Line)
uuid: b8b7ca30-6291-44b0-bc64-ba42e2892b86
width: 2
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-oAtmu5grZ
- - COLUMN-G6_2DvG8aK
- type: CHART
- CHART-iyvXMcqHt9:
- children: []
- id: CHART-iyvXMcqHt9
- meta:
- chartId: 671
- height: 39
- sliceName: Filter
- uuid: a5689df7-98fc-7c51-602c-ebd92dc3ec70
- width: 2
- parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-0l1WcDzW3
- - COLUMN-jlNWyWCfTC
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-oAtmu5grZ
+ - COLUMN-G6_2DvG8aK
type: CHART
CHART-j24u8ve41b:
children: []
@@ -159,10 +146,10 @@ position:
uuid: 09c497e0-f442-1121-c9e7-671e37750424
width: 3
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-oAtmu5grZ
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-oAtmu5grZ
type: CHART
CHART-lFanAaYKBK:
children: []
@@ -174,11 +161,11 @@ position:
uuid: 7b12a243-88e0-4dc5-ac33-9a840bb0ac5a
width: 3
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-Tyv02UA_6W
- - COLUMN-8Rp54B6ikC
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-Tyv02UA_6W
+ - COLUMN-8Rp54B6ikC
type: CHART
CHART-vomBOiI7U9:
children: []
@@ -191,58 +178,44 @@ position:
uuid: 692aca26-a526-85db-c94c-411c91cc1077
width: 7
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-Tyv02UA_6W
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-Tyv02UA_6W
type: CHART
COLUMN-8Rp54B6ikC:
children:
- - CHART-lFanAaYKBK
- - CHART-1NOOLm5YPs
+ - CHART-lFanAaYKBK
+ - CHART-1NOOLm5YPs
id: COLUMN-8Rp54B6ikC
meta:
background: BACKGROUND_TRANSPARENT
width: 2
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-Tyv02UA_6W
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-Tyv02UA_6W
type: COLUMN
COLUMN-G6_2DvG8aK:
children:
- - CHART-id4RGv80N-
+ - CHART-id4RGv80N-
id: COLUMN-G6_2DvG8aK
meta:
background: BACKGROUND_TRANSPARENT
width: 2
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-oAtmu5grZ
- type: COLUMN
- COLUMN-jlNWyWCfTC:
- children:
- - MARKDOWN-HrzsMmvGQo
- - CHART-iyvXMcqHt9
- id: COLUMN-jlNWyWCfTC
- meta:
- background: BACKGROUND_TRANSPARENT
- width: 3
- parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-0l1WcDzW3
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-oAtmu5grZ
type: COLUMN
DASHBOARD_VERSION_KEY: v2
GRID_ID:
children: []
id: GRID_ID
parents:
- - ROOT_ID
+ - ROOT_ID
type: GRID
HEADER_ID:
id: HEADER_ID
@@ -253,7 +226,8 @@ position:
children: []
id: MARKDOWN--AtDSWnapE
meta:
- code: "# \U0001F697 Vehicle Sales Dashboard \U0001F3CD\n\nThis example dashboard\
+ code:
+ "# \U0001F697 Vehicle Sales Dashboard \U0001F3CD\n\nThis example dashboard\
\ provides insight into the business operations of vehicle seller. The dataset\
\ powering this dashboard can be found [here on Kaggle](https://www.kaggle.com/kyanyoga/sample-sales-data).\n\
\n### Timeline\n\nThe dataset contains data on all orders from the 2003 and\
@@ -265,151 +239,113 @@ position:
height: 53
width: 3
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
- - ROW-Tyv02UA_6W
- type: MARKDOWN
- MARKDOWN-HrzsMmvGQo:
- children: []
- id: MARKDOWN-HrzsMmvGQo
- meta:
- code: "# \U0001F50D Filter Box\n\nDashboard filters are a powerful way to enable\
- \ teams to dive deeper into their business operations data. This filter box\
- \ helps focus the charts along the following variables:\n\n- Time Range: Focus\
- \ in on a specific time period (e.g. a holiday or quarter)\n- Product Line:\
- \ Choose 1 or more product lines to see relevant sales data\n- Deal Size:\
- \ Zoom in on small, medium, and / or large sales deals\n\nThe filter box below\
- \ \U0001F447 is configured to only apply to the charts in this tab (**Exploratory**).\
- \ You can customize the charts that this filter box applies to by:\n\n- entering\
- \ Edit mode in this dashboard\n- selecting the `...` in the top right corner\n\
- - selecting the **Set filter mapping** button"
- height: 50
- width: 3
- parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
- - ROW-0l1WcDzW3
- - COLUMN-jlNWyWCfTC
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
+ - ROW-Tyv02UA_6W
type: MARKDOWN
ROOT_ID:
children:
- - TABS-e5Ruro0cjP
+ - TABS-e5Ruro0cjP
id: ROOT_ID
type: ROOT
ROW-0l1WcDzW3:
children:
- - COLUMN-jlNWyWCfTC
- - CHART-OJ9aWDmn1q
- - CHART-AYpv8gFi_q
+ - CHART-OJ9aWDmn1q
+ - CHART-AYpv8gFi_q
id: ROW-0l1WcDzW3
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-4fthLQmdX
type: ROW
ROW-E7MDSGfnm:
children:
- - CHART-YFg-9wHE7s
- - CHART-_LMKI0D3tj
+ - CHART-YFg-9wHE7s
+ - CHART-_LMKI0D3tj
id: ROW-E7MDSGfnm
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-4fthLQmdX
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-4fthLQmdX
type: ROW
ROW-Tyv02UA_6W:
children:
- - COLUMN-8Rp54B6ikC
- - CHART-vomBOiI7U9
- - MARKDOWN--AtDSWnapE
+ - COLUMN-8Rp54B6ikC
+ - CHART-vomBOiI7U9
+ - MARKDOWN--AtDSWnapE
id: ROW-Tyv02UA_6W
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
type: ROW
ROW-oAtmu5grZ:
children:
- - COLUMN-G6_2DvG8aK
- - CHART-KKT9BsnUst
- - CHART-j24u8ve41b
+ - COLUMN-G6_2DvG8aK
+ - CHART-KKT9BsnUst
+ - CHART-j24u8ve41b
id: ROW-oAtmu5grZ
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
- - TAB-d-E0Zc1cTH
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
+ - TAB-d-E0Zc1cTH
type: ROW
TAB-4fthLQmdX:
children:
- - ROW-0l1WcDzW3
- - ROW-E7MDSGfnm
+ - ROW-0l1WcDzW3
+ - ROW-E7MDSGfnm
id: TAB-4fthLQmdX
meta:
text: "\U0001F9ED Exploratory"
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
type: TAB
TAB-d-E0Zc1cTH:
children:
- - ROW-Tyv02UA_6W
- - ROW-oAtmu5grZ
+ - ROW-Tyv02UA_6W
+ - ROW-oAtmu5grZ
id: TAB-d-E0Zc1cTH
meta:
text: "\U0001F3AF Sales Overview"
parents:
- - ROOT_ID
- - TABS-e5Ruro0cjP
+ - ROOT_ID
+ - TABS-e5Ruro0cjP
type: TAB
TABS-e5Ruro0cjP:
children:
- - TAB-d-E0Zc1cTH
- - TAB-4fthLQmdX
+ - TAB-d-E0Zc1cTH
+ - TAB-4fthLQmdX
id: TABS-e5Ruro0cjP
meta: {}
parents:
- - ROOT_ID
+ - ROOT_ID
type: TABS
metadata:
timed_refresh_immune_slices: []
expanded_slices: {}
refresh_frequency: 0
- default_filters: '{"671": {"__time_range": "No filter"}}'
- filter_scopes:
- "671":
- product_line:
- scope:
- - TAB-4fthLQmdX
- immune: []
- deal_size:
- scope:
- - ROOT_ID
- immune: []
- __time_range:
- scope:
- - ROOT_ID
- immune: []
+ default_filters: "{}"
color_scheme: supersetColors
label_colors:
- Medium: '#1FA8C9'
- Small: '#454E7C'
- Large: '#5AC189'
- SUM(SALES): '#1FA8C9'
- Classic Cars: '#454E7C'
- Vintage Cars: '#5AC189'
- Motorcycles: '#FF7F44'
- Trucks and Buses: '#666666'
- Planes: '#E04355'
- Ships: '#FCC700'
- Trains: '#A868B7'
+ Medium: "#1FA8C9"
+ Small: "#454E7C"
+ Large: "#5AC189"
+ SUM(SALES): "#1FA8C9"
+ Classic Cars: "#454E7C"
+ Vintage Cars: "#5AC189"
+ Motorcycles: "#FF7F44"
+ Trucks and Buses: "#666666"
+ Planes: "#E04355"
+ Ships: "#FCC700"
+ Trains: "#A868B7"
version: 1.0.0
diff --git a/superset/examples/configs/dashboards/Video_Game_Sales.yaml b/superset/examples/configs/dashboards/Video_Game_Sales.yaml
index 958d32b069..2edaad2d1a 100644
--- a/superset/examples/configs/dashboards/Video_Game_Sales.yaml
+++ b/superset/examples/configs/dashboards/Video_Game_Sales.yaml
@@ -16,39 +16,27 @@
# under the License.
dashboard_title: Video Game Sales
description: null
-css: ''
+css: ""
slug: null
+certified_by: ""
+certification_details: ""
+published: true
uuid: c7bc10f4-6a2d-7569-caae-bbc91864ee11
position:
- CHART-1L7NIcXvVN:
- children: []
- id: CHART-1L7NIcXvVN
- meta:
- chartId: 3544
- height: 79
- sliceName: Games per Genre over time
- uuid: 0f8976aa-7bb4-40c7-860b-64445a51aaaf
- width: 6
- parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-fjg6YQBkH
- type: CHART
CHART-7mKdnU7OUJ:
children: []
id: CHART-7mKdnU7OUJ
meta:
chartId: 3545
- height: 80
+ height: 55
sliceName: Games per Genre
uuid: 0499bdec-0837-44f3-ae8a-8c670de81afd
- width: 3
+ width: 8
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-yP9SB89PZ
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
+ - ROW-yP9SB89PZ
type: CHART
CHART-8OG3UJX-Tn:
children: []
@@ -56,15 +44,15 @@ position:
meta:
chartId: 661
height: 54
- sliceName: '# of Games That Hit 100k in Sales By Release Year'
- sliceNameOverride: 'Top 10 Consoles, by # of Hit Games'
+ sliceName: "# of Games That Hit 100k in Sales By Release Year"
+ sliceNameOverride: "Top 10 Consoles, by # of Hit Games"
uuid: 2b69887b-23e3-b46d-d38c-8ea11856c555
width: 6
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-7kAf1blYU
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
+ - ROW-7kAf1blYU
type: CHART
CHART-W02beJK7ms:
children: []
@@ -77,10 +65,10 @@ position:
uuid: d20b7324-3b80-24d4-37e2-3bd583b66713
width: 3
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-7kAf1blYU
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
+ - ROW-7kAf1blYU
type: CHART
CHART-XFag0yZdLk:
children: []
@@ -93,10 +81,10 @@ position:
uuid: 1810975a-f6d4-07c3-495c-c3b535d01f21
width: 3
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-7kAf1blYU
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
+ - ROW-7kAf1blYU
type: CHART
CHART-XRvRfsMsaQ:
children: []
@@ -104,14 +92,14 @@ position:
meta:
chartId: 3546
height: 62
- sliceName: 'Top 10 Games: Proportion of Sales in Markets'
+ sliceName: "Top 10 Games: Proportion of Sales in Markets"
uuid: a40879d5-653a-42fe-9314-bbe88ad26e92
width: 6
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-NuR8GFQTO
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
+ - ROW-NuR8GFQTO
type: CHART
CHART-XVIYTeubZh:
children: []
@@ -121,12 +109,12 @@ position:
height: 80
sliceName: Games
uuid: 2a5e562b-ab37-1b9b-1de3-1be4335c8e83
- width: 5
+ width: 6
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-yP9SB89PZ
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
+ - ROW-yP9SB89PZ
type: CHART
CHART-_sx22yawJO:
children: []
@@ -138,78 +126,45 @@ position:
uuid: 326fc7e5-b7f1-448e-8a6f-80d0e7ce0b64
width: 6
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-NuR8GFQTO
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
+ - ROW-NuR8GFQTO
type: CHART
CHART-nYns6xr4Ft:
children: []
id: CHART-nYns6xr4Ft
meta:
chartId: 3548
- height: 79
+ height: 80
sliceName: Total Sales per Market (Grouped by Genre)
uuid: d8bf948e-46fd-4380-9f9c-a950c34bcc92
width: 6
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-fjg6YQBkH
- type: CHART
- CHART-uP9GF0z0rT:
- children: []
- id: CHART-uP9GF0z0rT
- meta:
- chartId: 3547
- height: 45
- sliceName: Filter
- uuid: fd9ce7ec-ae08-4f71-93e0-7c26b132b2e6
- width: 4
- parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-yP9SB89PZ
- - COLUMN-F53B1OSMcz
- type: CHART
- CHART-wt6ZO8jRXZ:
- children: []
- id: CHART-wt6ZO8jRXZ
- meta:
- chartId: 659
- height: 72
- sliceName: Rise & Fall of Video Game Consoles
- sliceNameOverride: Global Sales per Console
- uuid: 83b0e2d0-d38b-d980-ed8e-e1c9846361b6
- width: 12
- parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-XT1DsNA_V
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
+ - ROW-fjg6YQBkH
type: CHART
COLUMN-F53B1OSMcz:
children:
- - MARKDOWN-7K5cBNy7qu
- - CHART-uP9GF0z0rT
+ - MARKDOWN-7K5cBNy7qu
id: COLUMN-F53B1OSMcz
meta:
background: BACKGROUND_TRANSPARENT
width: 4
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-yP9SB89PZ
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
+ - ROW-yP9SB89PZ
type: COLUMN
DASHBOARD_VERSION_KEY: v2
GRID_ID:
children: []
id: GRID_ID
parents:
- - ROOT_ID
+ - ROOT_ID
type: GRID
HEADER_ID:
id: HEADER_ID
@@ -220,224 +175,194 @@ position:
children: []
id: MARKDOWN-7K5cBNy7qu
meta:
- code: "# \U0001F93F Explore Trends\n\nDive into data on popular video games\
+ code:
+ "# \U0001F93F Explore Trends\n\nDive into data on popular video games\
\ using the following dimensions:\n\n- Year\n- Platform\n- Publisher\n- Genre\n\
\nTo use the **Filter Games** box below, select values for each dimension\
\ you want to zoom in on and then click **Apply**. \n\nThe filter criteria\
\ you set in this Filter-box will apply to *all* charts in this tab."
- height: 33
+ height: 55
width: 4
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
- - ROW-yP9SB89PZ
- - COLUMN-F53B1OSMcz
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
+ - ROW-yP9SB89PZ
+ - COLUMN-F53B1OSMcz
type: MARKDOWN
MARKDOWN-JOZKOjVc3a:
children: []
id: MARKDOWN-JOZKOjVc3a
meta:
- code: "## \U0001F3AEVideo Game Sales\n\nThis dashboard visualizes sales & platform\
+ code:
+ "## \U0001F3AEVideo Game Sales\n\nThis dashboard visualizes sales & platform\
\ data on video games that sold more than 100k copies. The data was last updated\
\ in early 2017.\n\n[Original dataset](https://www.kaggle.com/gregorut/videogamesales)"
height: 18
width: 12
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- - ROW-0F99WDC-sz
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
+ - ROW-0F99WDC-sz
type: MARKDOWN
ROOT_ID:
children:
- - TABS-97PVJa11D_
+ - TABS-97PVJa11D_
id: ROOT_ID
type: ROOT
ROW-0F99WDC-sz:
children:
- - MARKDOWN-JOZKOjVc3a
+ - MARKDOWN-JOZKOjVc3a
id: ROW-0F99WDC-sz
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
type: ROW
ROW-7kAf1blYU:
children:
- - CHART-W02beJK7ms
- - CHART-XFag0yZdLk
- - CHART-8OG3UJX-Tn
+ - CHART-W02beJK7ms
+ - CHART-XFag0yZdLk
+ - CHART-8OG3UJX-Tn
id: ROW-7kAf1blYU
meta:
- '0': ROOT_ID
+ "0": ROOT_ID
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
type: ROW
ROW-NuR8GFQTO:
children:
- - CHART-_sx22yawJO
- - CHART-XRvRfsMsaQ
+ - CHART-_sx22yawJO
+ - CHART-XRvRfsMsaQ
id: ROW-NuR8GFQTO
meta:
- '0': ROOT_ID
- '1': TABS-97PVJa11D_
- background: BACKGROUND_TRANSPARENT
- parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
- type: ROW
- ROW-XT1DsNA_V:
- children:
- - CHART-wt6ZO8jRXZ
- id: ROW-XT1DsNA_V
- meta:
+ "0": ROOT_ID
+ "1": TABS-97PVJa11D_
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-lg-5ymUDgm
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-lg-5ymUDgm
type: ROW
ROW-fjg6YQBkH:
children:
- - CHART-1L7NIcXvVN
- - CHART-nYns6xr4Ft
+ - CHART-nYns6xr4Ft
+ - CHART-XVIYTeubZh
id: ROW-fjg6YQBkH
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
type: ROW
ROW-yP9SB89PZ:
children:
- - COLUMN-F53B1OSMcz
- - CHART-XVIYTeubZh
- - CHART-7mKdnU7OUJ
+ - COLUMN-F53B1OSMcz
+ - CHART-7mKdnU7OUJ
id: ROW-yP9SB89PZ
meta:
background: BACKGROUND_TRANSPARENT
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
- - TAB-2_QXp8aNq
+ - ROOT_ID
+ - TABS-97PVJa11D_
+ - TAB-2_QXp8aNq
type: ROW
TAB-2_QXp8aNq:
children:
- - ROW-yP9SB89PZ
- - ROW-fjg6YQBkH
+ - ROW-yP9SB89PZ
+ - ROW-fjg6YQBkH
id: TAB-2_QXp8aNq
meta:
text: "\U0001F93F Explore Trends"
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
+ - ROOT_ID
+ - TABS-97PVJa11D_
type: TAB
TAB-lg-5ymUDgm:
children:
- - ROW-0F99WDC-sz
- - ROW-XT1DsNA_V
- - ROW-7kAf1blYU
- - ROW-NuR8GFQTO
+ - ROW-0F99WDC-sz
+ - ROW-7kAf1blYU
+ - ROW-NuR8GFQTO
id: TAB-lg-5ymUDgm
meta:
text: Overview
parents:
- - ROOT_ID
- - TABS-97PVJa11D_
+ - ROOT_ID
+ - TABS-97PVJa11D_
type: TAB
TABS-97PVJa11D_:
children:
- - TAB-lg-5ymUDgm
- - TAB-2_QXp8aNq
+ - TAB-lg-5ymUDgm
+ - TAB-2_QXp8aNq
id: TABS-97PVJa11D_
meta: {}
parents:
- - ROOT_ID
+ - ROOT_ID
type: TABS
metadata:
timed_refresh_immune_slices: []
expanded_slices: {}
refresh_frequency: 0
- default_filters: '{"3547": {"platform": ["PS", "PS2", "PS3", "XB", "X360"], "__time_range":
- "No filter"}}'
+ default_filters: "{}"
color_scheme: supersetColors
- filter_scopes:
- "3547":
- platform:
- scope:
- - TAB-2_QXp8aNq
- immune: []
- genre:
- scope:
- - ROOT_ID
- immune: []
- publisher:
- scope:
- - ROOT_ID
- immune: []
- __time_range:
- scope:
- - ROOT_ID
- immune: []
label_colors:
- '0': '#1FA8C9'
- '1': '#454E7C'
- '2600': '#666666'
- Europe: '#5AC189'
- Japan: '#FF7F44'
- North America: '#666666'
- Other: '#E04355'
- PS2: '#FCC700'
- X360: '#A868B7'
- PS3: '#3CCCCB'
- Wii: '#A38F79'
- DS: '#8FD3E4'
- PS: '#A1A6BD'
- GBA: '#ACE1C4'
- PSP: '#FEC0A1'
- PS4: '#B2B2B2'
- PC: '#EFA1AA'
- GB: '#FDE380'
- XB: '#D3B3DA'
- NES: '#9EE5E5'
- 3DS: '#D1C6BC'
- N64: '#1FA8C9'
- SNES: '#454E7C'
- GC: '#5AC189'
- XOne: '#FF7F44'
- WiiU: '#E04355'
- PSV: '#FCC700'
- SAT: '#A868B7'
- GEN: '#3CCCCB'
- DC: '#A38F79'
- SCD: '#8FD3E4'
- NG: '#A1A6BD'
- WS: '#ACE1C4'
- TG16: '#FEC0A1'
- 3DO: '#B2B2B2'
- GG: '#EFA1AA'
- PCFX: '#FDE380'
- Nintendo: '#D3B3DA'
- Take-Two Interactive: '#9EE5E5'
- Microsoft Game Studios: '#D1C6BC'
- Action: '#1FA8C9'
- Adventure: '#454E7C'
- Fighting: '#5AC189'
- Misc: '#FF7F44'
- Platform: '#666666'
- Puzzle: '#E04355'
- Racing: '#FCC700'
- Role-Playing: '#A868B7'
- Shooter: '#3CCCCB'
- Simulation: '#A38F79'
- Sports: '#8FD3E4'
- Strategy: '#A1A6BD'
+ "0": "#1FA8C9"
+ "1": "#454E7C"
+ "2600": "#666666"
+ Europe: "#5AC189"
+ Japan: "#FF7F44"
+ North America: "#666666"
+ Other: "#E04355"
+ PS2: "#FCC700"
+ X360: "#A868B7"
+ PS3: "#3CCCCB"
+ Wii: "#A38F79"
+ DS: "#8FD3E4"
+ PS: "#A1A6BD"
+ GBA: "#ACE1C4"
+ PSP: "#FEC0A1"
+ PS4: "#B2B2B2"
+ PC: "#EFA1AA"
+ GB: "#FDE380"
+ XB: "#D3B3DA"
+ NES: "#9EE5E5"
+ 3DS: "#D1C6BC"
+ N64: "#1FA8C9"
+ SNES: "#454E7C"
+ GC: "#5AC189"
+ XOne: "#FF7F44"
+ WiiU: "#E04355"
+ PSV: "#FCC700"
+ SAT: "#A868B7"
+ GEN: "#3CCCCB"
+ DC: "#A38F79"
+ SCD: "#8FD3E4"
+ NG: "#A1A6BD"
+ WS: "#ACE1C4"
+ TG16: "#FEC0A1"
+ 3DO: "#B2B2B2"
+ GG: "#EFA1AA"
+ PCFX: "#FDE380"
+ Nintendo: "#D3B3DA"
+ Take-Two Interactive: "#9EE5E5"
+ Microsoft Game Studios: "#D1C6BC"
+ Action: "#1FA8C9"
+ Adventure: "#454E7C"
+ Fighting: "#5AC189"
+ Misc: "#FF7F44"
+ Platform: "#666666"
+ Puzzle: "#E04355"
+ Racing: "#FCC700"
+ Role-Playing: "#A868B7"
+ Shooter: "#3CCCCB"
+ Simulation: "#A38F79"
+ Sports: "#8FD3E4"
+ Strategy: "#A1A6BD"
version: 1.0.0
diff --git a/superset/examples/misc_dashboard.py b/superset/examples/misc_dashboard.py
index 6336a78820..aa8d037495 100644
--- a/superset/examples/misc_dashboard.py
+++ b/superset/examples/misc_dashboard.py
@@ -38,37 +38,22 @@ def load_misc_dashboard() -> None:
js = textwrap.dedent(
"""\
{
- "CHART-BkeVbh8ANQ": {
- "children": [],
- "id": "CHART-BkeVbh8ANQ",
- "meta": {
- "chartId": 4004,
- "height": 34,
- "sliceName": "Multi Line",
- "width": 8
- },
- "type": "CHART"
- },
- "CHART-H1HYNzEANX": {
- "children": [],
- "id": "CHART-H1HYNzEANX",
- "meta": {
- "chartId": 3940,
- "height": 50,
- "sliceName": "Energy Sankey",
- "width": 6
- },
- "type": "CHART"
- },
"CHART-HJOYVMV0E7": {
"children": [],
"id": "CHART-HJOYVMV0E7",
"meta": {
"chartId": 3969,
- "height": 63,
+ "height": 69,
"sliceName": "Mapbox Long/Lat",
- "width": 6
+ "uuid": "164efe31-295b-4408-aaa6-2f4bfb58a212",
+ "width": 4
},
+ "parents": [
+ "ROOT_ID",
+ "GRID_ID",
+ "ROW-S1MK4M4A4X",
+ "COLUMN-ByUFVf40EQ"
+ ],
"type": "CHART"
},
"CHART-S1WYNz4AVX": {
@@ -76,32 +61,16 @@ def load_misc_dashboard() -> None:
"id": "CHART-S1WYNz4AVX",
"meta": {
"chartId": 3989,
- "height": 25,
+ "height": 69,
"sliceName": "Parallel Coordinates",
+ "uuid": "e84f7e74-031a-47bb-9f80-ae0694dcca48",
"width": 4
},
- "type": "CHART"
- },
- "CHART-r19KVMNCE7": {
- "children": [],
- "id": "CHART-r19KVMNCE7",
- "meta": {
- "chartId": 3971,
- "height": 34,
- "sliceName": "Calendar Heatmap multiformat 0",
- "width": 4
- },
- "type": "CHART"
- },
- "CHART-rJ4K4GV04Q": {
- "children": [],
- "id": "CHART-rJ4K4GV04Q",
- "meta": {
- "chartId": 3941,
- "height": 63,
- "sliceName": "Energy Force Layout",
- "width": 6
- },
+ "parents": [
+ "ROOT_ID",
+ "GRID_ID",
+ "ROW-SytNzNA4X"
+ ],
"type": "CHART"
},
"CHART-rkgF4G4A4X": {
@@ -109,54 +78,27 @@ def load_misc_dashboard() -> None:
"id": "CHART-rkgF4G4A4X",
"meta": {
"chartId": 3970,
- "height": 25,
+ "height": 69,
"sliceName": "Birth in France by department in 2016",
- "width": 8
- },
- "type": "CHART"
- },
- "CHART-rywK4GVR4X": {
- "children": [],
- "id": "CHART-rywK4GVR4X",
- "meta": {
- "chartId": 3942,
- "height": 50,
- "sliceName": "Heatmap",
- "width": 6
- },
- "type": "CHART"
- },
- "COLUMN-ByUFVf40EQ": {
- "children": [
- "CHART-rywK4GVR4X",
- "CHART-HJOYVMV0E7"
- ],
- "id": "COLUMN-ByUFVf40EQ",
- "meta": {
- "background": "BACKGROUND_TRANSPARENT",
- "width": 6
+ "uuid": "54583ae9-c99a-42b5-a906-7ee2adfe1fb1",
+ "width": 4
},
- "type": "COLUMN"
- },
- "COLUMN-rkmYVGN04Q": {
- "children": [
- "CHART-rJ4K4GV04Q",
- "CHART-H1HYNzEANX"
+ "parents": [
+ "ROOT_ID",
+ "GRID_ID",
+ "ROW-SytNzNA4X"
],
- "id": "COLUMN-rkmYVGN04Q",
- "meta": {
- "background": "BACKGROUND_TRANSPARENT",
- "width": 6
- },
- "type": "COLUMN"
+ "type": "CHART"
},
+ "DASHBOARD_VERSION_KEY": "v2",
"GRID_ID": {
"children": [
- "ROW-SytNzNA4X",
- "ROW-S1MK4M4A4X",
- "ROW-HkFFEzVRVm"
+ "ROW-SytNzNA4X"
],
"id": "GRID_ID",
+ "parents": [
+ "ROOT_ID"
+ ],
"type": "GRID"
},
"HEADER_ID": {
@@ -173,40 +115,22 @@ def load_misc_dashboard() -> None:
"id": "ROOT_ID",
"type": "ROOT"
},
- "ROW-HkFFEzVRVm": {
- "children": [
- "CHART-r19KVMNCE7",
- "CHART-BkeVbh8ANQ"
- ],
- "id": "ROW-HkFFEzVRVm",
- "meta": {
- "background": "BACKGROUND_TRANSPARENT"
- },
- "type": "ROW"
- },
- "ROW-S1MK4M4A4X": {
- "children": [
- "COLUMN-rkmYVGN04Q",
- "COLUMN-ByUFVf40EQ"
- ],
- "id": "ROW-S1MK4M4A4X",
- "meta": {
- "background": "BACKGROUND_TRANSPARENT"
- },
- "type": "ROW"
- },
"ROW-SytNzNA4X": {
"children": [
"CHART-rkgF4G4A4X",
- "CHART-S1WYNz4AVX"
+ "CHART-S1WYNz4AVX",
+ "CHART-HJOYVMV0E7"
],
"id": "ROW-SytNzNA4X",
"meta": {
"background": "BACKGROUND_TRANSPARENT"
},
+ "parents": [
+ "ROOT_ID",
+ "GRID_ID"
+ ],
"type": "ROW"
- },
- "DASHBOARD_VERSION_KEY": "v2"
+ }
}
"""
)
diff --git a/superset/examples/world_bank.py b/superset/examples/world_bank.py
index 5513a52d64..1541e3e472 100644
--- a/superset/examples/world_bank.py
+++ b/superset/examples/world_bank.py
@@ -167,35 +167,6 @@ def create_slices(tbl: BaseDatasource) -> list[Slice]:
}
return [
- Slice(
- slice_name="Region Filter",
- viz_type="filter_box",
- datasource_type=DatasourceType.TABLE,
- datasource_id=tbl.id,
- params=get_slice_json(
- defaults,
- viz_type="filter_box",
- date_filter=False,
- filter_configs=[
- {
- "asc": False,
- "clearable": True,
- "column": "region",
- "key": "2s98dfu",
- "metric": "sum__SP_POP_TOTL",
- "multiple": False,
- },
- {
- "asc": False,
- "clearable": True,
- "key": "li3j2lk",
- "column": "country_name",
- "metric": "sum__SP_POP_TOTL",
- "multiple": True,
- },
- ],
- ),
- ),
Slice(
slice_name="World's Population",
viz_type="big_number",
@@ -372,18 +343,12 @@ def create_slices(tbl: BaseDatasource) -> list[Slice]:
dashboard_positions = {
- "CHART-36bfc934": {
- "children": [],
- "id": "CHART-36bfc934",
- "meta": {"chartId": 40, "height": 25, "sliceName": "Region Filter", "width": 2},
- "type": "CHART",
- },
"CHART-37982887": {
"children": [],
"id": "CHART-37982887",
"meta": {
"chartId": 41,
- "height": 25,
+ "height": 52,
"sliceName": "World's Population",
"width": 2,
},
@@ -464,7 +429,7 @@ dashboard_positions = {
"type": "COLUMN",
},
"COLUMN-fe3914b8": {
- "children": ["CHART-36bfc934", "CHART-37982887"],
+ "children": ["CHART-37982887"],
"id": "COLUMN-fe3914b8",
"meta": {"background": "BACKGROUND_TRANSPARENT", "width": 2},
"type": "COLUMN",
diff --git a/tests/integration_tests/charts/api_tests.py b/tests/integration_tests/charts/api_tests.py
index fe489a0f36..69888104fa 100644
--- a/tests/integration_tests/charts/api_tests.py
+++ b/tests/integration_tests/charts/api_tests.py
@@ -981,7 +981,7 @@ class TestChartApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixin):
rv = self.get_assert_metric(uri, "get_list")
self.assertEqual(rv.status_code, 200)
data = json.loads(rv.data.decode("utf-8"))
- self.assertEqual(data["count"], 34)
+ self.assertEqual(data["count"], 33)
@pytest.mark.usefixtures("load_energy_table_with_slice", "add_dashboard_to_chart")
def test_get_charts_dashboards(self):
@@ -1447,7 +1447,7 @@ class TestChartApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixin):
"""
Chart API: Test get charts filter
"""
- # Assuming we have 34 sample charts
+ # Assuming we have 33 sample charts
self.login(username="admin")
arguments = {"page_size": 10, "page": 0}
uri = f"api/v1/chart/?q={prison.dumps(arguments)}"
@@ -1461,7 +1461,7 @@ class TestChartApi(SupersetTestCase, ApiOwnersTestCaseMixin, InsertChartMixin):
rv = self.get_assert_metric(uri, "get_list")
self.assertEqual(rv.status_code, 200)
data = json.loads(rv.data.decode("utf-8"))
- self.assertEqual(len(data["result"]), 4)
+ self.assertEqual(len(data["result"]), 3)
def test_get_charts_no_data_access(self):
"""
diff --git a/tests/integration_tests/dashboards/commands_tests.py b/tests/integration_tests/dashboards/commands_tests.py
index cfc992b95f..175a8a3198 100644
--- a/tests/integration_tests/dashboards/commands_tests.py
+++ b/tests/integration_tests/dashboards/commands_tests.py
@@ -97,17 +97,11 @@ class TestExportDashboardsCommand(SupersetTestCase):
"published": False,
"uuid": str(example_dashboard.uuid),
"position": {
- "CHART-36bfc934": {
- "children": [],
- "id": "CHART-36bfc934",
- "meta": {"height": 25, "sliceName": "Region Filter", "width": 2},
- "type": "CHART",
- },
"CHART-37982887": {
"children": [],
"id": "CHART-37982887",
"meta": {
- "height": 25,
+ "height": 52,
"sliceName": "World's Population",
"width": 2,
},
@@ -180,7 +174,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
"type": "COLUMN",
},
"COLUMN-fe3914b8": {
- "children": ["CHART-36bfc934", "CHART-37982887"],
+ "children": ["CHART-37982887"],
"id": "COLUMN-fe3914b8",
"meta": {"background": "BACKGROUND_TRANSPARENT", "width": 2},
"type": "COLUMN",
@@ -299,7 +293,9 @@ class TestExportDashboardsCommand(SupersetTestCase):
mock_suffix.side_effect = (str(i) for i in itertools.count(1))
position = get_default_position("example")
- chart_1 = db.session.query(Slice).filter_by(slice_name="Region Filter").one()
+ chart_1 = (
+ db.session.query(Slice).filter_by(slice_name="World's Population").one()
+ )
new_position = append_charts(position, {chart_1})
assert new_position == {
"DASHBOARD_VERSION_KEY": "v2",
@@ -328,7 +324,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
"meta": {
"chartId": chart_1.id,
"height": 50,
- "sliceName": "Region Filter",
+ "sliceName": "World's Population",
"uuid": str(chart_1.uuid),
"width": 4,
},
@@ -375,7 +371,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
"meta": {
"chartId": chart_1.id,
"height": 50,
- "sliceName": "Region Filter",
+ "sliceName": "World's Population",
"uuid": str(chart_1.uuid),
"width": 4,
},
@@ -406,7 +402,7 @@ class TestExportDashboardsCommand(SupersetTestCase):
"meta": {
"chartId": chart_1.id,
"height": 50,
- "sliceName": "Region Filter",
+ "sliceName": "World's Population",
"uuid": str(chart_1.uuid),
"width": 4,
},
diff --git a/tests/integration_tests/dashboards/dao_tests.py b/tests/integration_tests/dashboards/dao_tests.py
index 8f73e5c2f8..65fc9e32dd 100644
--- a/tests/integration_tests/dashboards/dao_tests.py
+++ b/tests/integration_tests/dashboards/dao_tests.py
@@ -33,60 +33,6 @@ from tests.integration_tests.fixtures.world_bank_dashboard import (
class TestDashboardDAO(SupersetTestCase):
- @pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
- def test_set_dash_metadata(self):
- dash: Dashboard = (
- db.session.query(Dashboard).filter_by(slug="world_health").first()
- )
- data = dash.data
- positions = data["position_json"]
- data.update({"positions": positions})
- original_data = copy.deepcopy(data)
-
- # add filter scopes
- filter_slice = next(slc for slc in dash.slices if slc.viz_type == "filter_box")
- immune_slices = [slc for slc in dash.slices if slc != filter_slice]
- filter_scopes = {
- str(filter_slice.id): {
- "region": {
- "scope": ["ROOT_ID"],
- "immune": [slc.id for slc in immune_slices],
- }
- }
- }
- data.update({"filter_scopes": json.dumps(filter_scopes)})
- DashboardDAO.set_dash_metadata(dash, data)
- updated_metadata = json.loads(dash.json_metadata)
- self.assertEqual(updated_metadata["filter_scopes"], filter_scopes)
-
- # remove a slice and change slice ids (as copy slices)
- removed_slice = immune_slices.pop()
- removed_components = [
- key
- for (key, value) in positions.items()
- if isinstance(value, dict)
- and value.get("type") == "CHART"
- and value["meta"]["chartId"] == removed_slice.id
- ]
- for component_id in removed_components:
- del positions[component_id]
-
- data.update({"positions": positions})
- DashboardDAO.set_dash_metadata(dash, data)
- updated_metadata = json.loads(dash.json_metadata)
- expected_filter_scopes = {
- str(filter_slice.id): {
- "region": {
- "scope": ["ROOT_ID"],
- "immune": [slc.id for slc in immune_slices],
- }
- }
- }
- self.assertEqual(updated_metadata["filter_scopes"], expected_filter_scopes)
-
- # reset dash to original data
- DashboardDAO.set_dash_metadata(dash, original_data)
-
@pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
@patch("superset.utils.core.g")
@patch("superset.security.manager.g")
diff --git a/tests/integration_tests/databases/api_tests.py b/tests/integration_tests/databases/api_tests.py
index 6e6f6e15b8..496012390e 100644
--- a/tests/integration_tests/databases/api_tests.py
+++ b/tests/integration_tests/databases/api_tests.py
@@ -2074,7 +2074,7 @@ class TestDatabaseApi(SupersetTestCase):
rv = self.get_assert_metric(uri, "related_objects")
self.assertEqual(rv.status_code, 200)
response = json.loads(rv.data.decode("utf-8"))
- self.assertEqual(response["charts"]["count"], 34)
+ self.assertEqual(response["charts"]["count"], 33)
self.assertEqual(response["dashboards"]["count"], 3)
def test_get_database_related_objects_not_found(self):
diff --git a/tests/integration_tests/utils_tests.py b/tests/integration_tests/utils_tests.py
index 405040e3d0..ddd0b0caf4 100644
--- a/tests/integration_tests/utils_tests.py
+++ b/tests/integration_tests/utils_tests.py
@@ -744,50 +744,6 @@ class TestUtils(SupersetTestCase):
self.assertListEqual(as_list([123]), [123])
self.assertListEqual(as_list("foo"), ["foo"])
- @pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
- def test_build_extra_filters(self):
- world_health = db.session.query(Dashboard).filter_by(slug="world_health").one()
- layout = json.loads(world_health.position_json)
- filter_ = db.session.query(Slice).filter_by(slice_name="Region Filter").one()
- world = db.session.query(Slice).filter_by(slice_name="World's Population").one()
- box_plot = db.session.query(Slice).filter_by(slice_name="Box plot").one()
- treemap = db.session.query(Slice).filter_by(slice_name="Treemap").one()
-
- filter_scopes = {
- str(filter_.id): {
- "region": {"scope": ["ROOT_ID"], "immune": [treemap.id]},
- "country_name": {
- "scope": ["ROOT_ID"],
- "immune": [treemap.id, box_plot.id],
- },
- }
- }
-
- default_filters = {
- str(filter_.id): {
- "region": ["North America"],
- "country_name": ["United States"],
- }
- }
-
- # immune to all filters
- assert (
- build_extra_filters(layout, filter_scopes, default_filters, treemap.id)
- == []
- )
-
- # in scope
- assert build_extra_filters(
- layout, filter_scopes, default_filters, world.id
- ) == [
- {"col": "region", "op": "==", "val": "North America"},
- {"col": "country_name", "op": "in", "val": ["United States"]},
- ]
-
- assert build_extra_filters(
- layout, filter_scopes, default_filters, box_plot.id
- ) == [{"col": "region", "op": "==", "val": "North America"}]
-
def test_merge_extra_filters_with_no_extras(self):
form_data = {
"time_range": "Last 10 days",