UNPKG

@superset-ui/core

Version:
105 lines (37 loc) 3.94 kB
/** * 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. */ import logger from './logging'; // We can codegen the enum definition based on a list of supported flags that we // check into source control. We're hardcoding the supported flags for now. export let FeatureFlag = /*#__PURE__*/function (FeatureFlag) {FeatureFlag["AlertsAttachReports"] = "ALERTS_ATTACH_REPORTS";FeatureFlag["AlertReports"] = "ALERT_REPORTS";FeatureFlag["AlertReportTabs"] = "ALERT_REPORT_TABS";FeatureFlag["AlertReportSlackV2"] = "ALERT_REPORT_SLACK_V2";FeatureFlag["AllowFullCsvExport"] = "ALLOW_FULL_CSV_EXPORT";FeatureFlag["AvoidColorsCollision"] = "AVOID_COLORS_COLLISION";FeatureFlag["ChartPluginsExperimental"] = "CHART_PLUGINS_EXPERIMENTAL";FeatureFlag["ConfirmDashboardDiff"] = "CONFIRM_DASHBOARD_DIFF";FeatureFlag["DashboardCrossFilters"] = "DASHBOARD_CROSS_FILTERS";FeatureFlag["DashboardVirtualization"] = "DASHBOARD_VIRTUALIZATION";FeatureFlag["DashboardRbac"] = "DASHBOARD_RBAC";FeatureFlag["DatapanelClosedByDefault"] = "DATAPANEL_CLOSED_BY_DEFAULT";FeatureFlag["DisableLegacyDatasourceEditor"] = "DISABLE_LEGACY_DATASOURCE_EDITOR";FeatureFlag["DrillToDetail"] = "DRILL_TO_DETAIL";FeatureFlag["DrillBy"] = "DRILL_BY";FeatureFlag["DynamicPlugins"] = "DYNAMIC_PLUGINS";FeatureFlag["EmbeddableCharts"] = "EMBEDDABLE_CHARTS";FeatureFlag["EmbeddedSuperset"] = "EMBEDDED_SUPERSET";FeatureFlag["EnableAdvancedDataTypes"] = "ENABLE_ADVANCED_DATA_TYPES";FeatureFlag["EnableJavascriptControls"] = "ENABLE_JAVASCRIPT_CONTROLS";FeatureFlag["EnableTemplateProcessing"] = "ENABLE_TEMPLATE_PROCESSING";FeatureFlag["EscapeMarkdownHtml"] = "ESCAPE_MARKDOWN_HTML";FeatureFlag["EstimateQueryCost"] = "ESTIMATE_QUERY_COST";FeatureFlag["GlobalAsyncQueries"] = "GLOBAL_ASYNC_QUERIES";FeatureFlag["HorizontalFilterBar"] = "HORIZONTAL_FILTER_BAR";FeatureFlag["ListviewsDefaultCardView"] = "LISTVIEWS_DEFAULT_CARD_VIEW";FeatureFlag["ScheduledQueries"] = "SCHEDULED_QUERIES";FeatureFlag["ShareQueriesViaKvStore"] = "SHARE_QUERIES_VIA_KV_STORE";FeatureFlag["SqllabBackendPersistence"] = "SQLLAB_BACKEND_PERSISTENCE";FeatureFlag["SqlValidatorsByEngine"] = "SQL_VALIDATORS_BY_ENGINE";FeatureFlag["SshTunneling"] = "SSH_TUNNELING";FeatureFlag["TaggingSystem"] = "TAGGING_SYSTEM";FeatureFlag["Thumbnails"] = "THUMBNAILS";FeatureFlag["UseAnalagousColors"] = "USE_ANALAGOUS_COLORS";FeatureFlag["ForceSqlLabRunAsync"] = "SQLLAB_FORCE_RUN_ASYNC";FeatureFlag["SlackEnableAvatars"] = "SLACK_ENABLE_AVATARS";FeatureFlag["EnableDashboardScreenshotEndpoints"] = "ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS";FeatureFlag["EnableDashboardDownloadWebDriverScreenshot"] = "ENABLE_DASHBOARD_DOWNLOAD_WEBDRIVER_SCREENSHOT";return FeatureFlag;}({}); // eslint-disable-next-line @typescript-eslint/no-unused-vars export function initFeatureFlags(featureFlags) { if (!window.featureFlags) { window.featureFlags = featureFlags || {}; } } export function isFeatureEnabled(feature) { try { return !!window.featureFlags[feature]; } catch (error) { logger.error(`Failed to query feature flag ${feature}`); } return false; } //# sourceMappingURL=featureFlags.js.map