diff --git a/frontend/src/metabase/dashboard/components/Dashboard/Dashboard.jsx b/frontend/src/metabase/dashboard/components/Dashboard/Dashboard.jsx index 0e918e583225bc20da4b8a1fd10550d8e3e39481..0062bf36b465c7db00204d5acb0bd8dc7991a6ee 100644 --- a/frontend/src/metabase/dashboard/components/Dashboard/Dashboard.jsx +++ b/frontend/src/metabase/dashboard/components/Dashboard/Dashboard.jsx @@ -210,12 +210,13 @@ class Dashboard extends Component { const { addParameter, dashboard, + isDataApp, isEditing, isEditingParameter, isFullscreen, isNightMode, isSharing, - parameters, + parameters: allParameters, parameterValues, isNavbarOpen, showAddQuestionSidebar, @@ -231,6 +232,17 @@ class Dashboard extends Component { const shouldRenderAsNightMode = isNightMode && isFullscreen; const dashboardHasCards = dashboard => dashboard.ordered_cards.length > 0; + const parameters = isDataApp + ? // Writeback hack for prototyping purposes + // We need ID parameters to configure custom destinations, + // but in the end we don't want to keep them visible to the user + // This lets us achieve the desired behavior + // when ID parameters are only visible in dashboard editing mode + allParameters.filter(parameter => + isEditing ? parameter : parameter.type !== "id", + ) + : allParameters; + const parametersWidget = ( <SyncedParametersList parameters={getValuePopulatedParameters(parameters, parameterValues)} @@ -316,7 +328,7 @@ class Dashboard extends Component { {...this.props} isNightMode={shouldRenderAsNightMode} onEditingChange={this.setEditing} - isDataApp={this.props.isDataApp} + isDataApp={isDataApp} /> ) : ( <DashboardEmptyState