Skip to content

Commit

Permalink
feat(dashboard): confirm overwrite to prevent unintended changes (#21819
Browse files Browse the repository at this point in the history
)
  • Loading branch information
justinpark authored and pull[bot] committed Apr 29, 2024
1 parent a06bb28 commit 7b5d5f1
Show file tree
Hide file tree
Showing 19 changed files with 895 additions and 28 deletions.
1 change: 1 addition & 0 deletions RESOURCES/FEATURE_FLAGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ These features are **finished** but currently being tested. They are usable, but
- ALERT_REPORTS: [(docs)](https://superset.apache.org/docs/installation/alerts-reports)
- ALLOW_FULL_CSV_EXPORT
- CACHE_IMPERSONATION
- CONFIRM_DASHBOARD_DIFF
- DASHBOARD_EDIT_CHART_IN_NEW_TAB
- DASHBOARD_FILTERS_EXPERIMENTAL
- DASHBOARD_NATIVE_FILTERS
Expand Down
122 changes: 119 additions & 3 deletions superset-frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions superset-frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -164,12 +164,14 @@
"react-checkbox-tree": "^1.5.1",
"react-color": "^2.13.8",
"react-datetime": "^3.0.4",
"react-diff-viewer": "^3.1.1",
"react-dnd": "^11.1.3",
"react-dnd-html5-backend": "^11.1.3",
"react-dom": "^16.13.0",
"react-draggable": "^4.4.3",
"react-gravatar": "^2.6.1",
"react-hot-loader": "^4.12.20",
"react-intersection-observer": "^8.26.2",
"react-js-cron": "^1.2.0",
"react-json-tree": "^0.11.2",
"react-jsonschema-form": "^1.2.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export enum FeatureFlag {
DASHBOARD_CROSS_FILTERS = 'DASHBOARD_CROSS_FILTERS',
DASHBOARD_EDIT_CHART_IN_NEW_TAB = 'DASHBOARD_EDIT_CHART_IN_NEW_TAB',
DASHBOARD_FILTERS_EXPERIMENTAL = 'DASHBOARD_FILTERS_EXPERIMENTAL',
CONFIRM_DASHBOARD_DIFF = 'CONFIRM_DASHBOARD_DIFF',
DASHBOARD_NATIVE_FILTERS = 'DASHBOARD_NATIVE_FILTERS',
DASHBOARD_NATIVE_FILTERS_SET = 'DASHBOARD_NATIVE_FILTERS_SET',
DASHBOARD_VIRTUALIZATION = 'DASHBOARD_VIRTUALIZATION',
Expand Down
86 changes: 86 additions & 0 deletions superset-frontend/spec/fixtures/mockDashboardState.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable theme-colors/no-literal-colors */
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Expand Down Expand Up @@ -30,3 +31,88 @@ export default {
focusedFilterField: null,
refreshFrequency: 0,
};

export const overwriteConfirmMetadata = {
updatedAt: '2022-10-07T16:35:30.924212',
updatedBy: 'Superset Admin',
overwriteConfirmItems: [
{
keyPath: 'css',
oldValue: '',
newValue: `
.navbar {
transition: opacity 0.5s ease;
}
`,
},
{
keyPath: 'json_metadata.filter_scopes',
oldValue: `{
"122": {
"ethnic_minority": {
"scope": ["ROOT_ID"],
"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": []
}
}
}`,
newValue: `{
"122": {
"ethnic_minority": {
"scope": ["ROOT_ID"],
"immune": [
131,
115,
123,
89,
94,
71
]
},
"gender": {
"scope": ["ROOT_ID"],
"immune": []
},
"developer_type": {
"scope": ["ROOT_ID"],
"immune": []
},
"lang_at_home": {
"scope": ["ROOT_ID"],
"immune": []
},
"country_live": {
"scope": ["ROOT_ID"],
"immune": []
}
}
}`,
},
],
dashboardId: 9,
data: {
certified_by: '',
certification_details: '',
css: ".navbar {\n transition: opacity 0.5s ease;\n opacity: 0.05;\n}\n.navbar:hover {\n opacity: 1;\n}\n.chart-header .header{\n font-weight: @font-weight-normal;\n font-size: 12px;\n}\n/*\nvar bnbColors = [\n //rausch hackb kazan babu lima beach tirol\n '#ff5a5f', '#7b0051', '#007A87', '#00d1c1', '#8ce071', '#ffb400', '#b4a76c',\n '#ff8083', '#cc0086', '#00a1b3', '#00ffeb', '#bbedab', '#ffd266', '#cbc29a',\n '#ff3339', '#ff1ab1', '#005c66', '#00b3a5', '#55d12e', '#b37e00', '#988b4e',\n ];\n*/\n",
dashboard_title: 'FCC New Coder Survey 2018',
slug: null,
owners: [],
json_metadata:
'{"timed_refresh_immune_slices":[],"expanded_slices":{},"refresh_frequency":0,"default_filters":"{}","color_scheme":"supersetColors","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"},"show_native_filters":true,"color_scheme_domain":["#1FA8C9","#454E7C","#5AC189","#FF7F44","#666666","#E04355","#FCC700","#A868B7","#3CCCCB","#A38F79","#8FD3E4","#A1A6BD","#ACE1C4","#FEC0A1","#B2B2B2","#EFA1AA","#FDE380","#D3B3DA","#9EE5E5","#D1C6BC"],"shared_label_colors":{"Male":"#5ac19e","Female":"#1f86c9","<NULL>":"#5AC189","Prefer not to say":"#47457c","No Answer":"#e05043","Yes, an ethnic minority":"#666666","No, not an ethnic minority":"#ffa444","age":"#1FA8C9"},"filter_scopes":{},"chart_configuration":{},"positions":{}}',
},
};
Loading

0 comments on commit 7b5d5f1

Please sign in to comment.