You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ly...@apache.org on 2023/01/19 16:36:06 UTC

[superset] 12/21: Add dangerToasts to error handling

This is an automated email from the ASF dual-hosted git repository.

lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 302b902665355a255eafc7694ce53412bdcd7b50
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Wed Jan 11 13:40:15 2023 -0600

    Add dangerToasts to error handling
---
 .../views/CRUD/data/dataset/AddDataset/DatasetPanel/index.tsx    | 9 ++++++---
 .../src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx   | 8 +++++---
 .../src/views/CRUD/data/dataset/AddDataset/index.tsx             | 8 +++++---
 superset-frontend/src/views/CRUD/data/hooks.ts                   | 8 +++++---
 4 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/DatasetPanel/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/DatasetPanel/index.tsx
index 15e6225e56..56939258e1 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/DatasetPanel/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/DatasetPanel/index.tsx
@@ -17,8 +17,9 @@
  * under the License.
  */
 import React, { useEffect, useState, useRef } from 'react';
-import { SupersetClient } from '@superset-ui/core';
+import { SupersetClient, logging } from '@superset-ui/core';
 import { DatasetObject } from 'src/views/CRUD/data/dataset/AddDataset/types';
+import { addDangerToast } from 'src/components/MessageToasts/actions';
 import DatasetPanel from './DatasetPanel';
 import { ITableColumn, IDatabaseTable, isIDatabaseTable } from './types';
 
@@ -94,8 +95,10 @@ const DatasetPanelWrapper = ({
         setColumnList([]);
         setHasColumns?.(false);
         setHasError(true);
-        // eslint-disable-next-line no-console
-        console.error(
+        addDangerToast(
+          `The API response from ${path} does not match the IDatabaseTable interface.`,
+        );
+        logging.error(
           `The API response from ${path} does not match the IDatabaseTable interface.`,
         );
       }
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
index 7e66fe59ea..50cfb30948 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
@@ -41,6 +41,7 @@ import {
 } from 'src/components/EmptyState';
 import { useToasts } from 'src/components/MessageToasts/withToasts';
 import { LocalStorageKeys, getItem } from 'src/utils/localStorageHelpers';
+import { addDangerToast } from 'src/components/MessageToasts/actions';
 import { DatasetActionType } from '../types';
 
 interface LeftPanelProps {
@@ -193,9 +194,10 @@ export default function LeftPanel({
         setResetTables(false);
         setRefresh(false);
       })
-      .catch(error =>
-        logging.error('There was an error fetching tables', error),
-      );
+      .catch(error => {
+        addDangerToast('There was an error fetching tables');
+        logging.error('There was an error fetching tables', error);
+      });
   };
 
   const setSchema = (schema: string) => {
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
index e4dbaa9a69..005e654627 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
@@ -20,6 +20,7 @@ import React, { useReducer, Reducer, useEffect, useState } from 'react';
 import { logging } from '@superset-ui/core';
 import { UseGetDatasetsList } from 'src/views/CRUD/data/hooks';
 import rison from 'rison';
+import { addDangerToast } from 'src/components/MessageToasts/actions';
 import Header from './Header';
 import DatasetPanel from './DatasetPanel';
 import LeftPanel from './LeftPanel';
@@ -96,9 +97,10 @@ export default function AddDataset() {
       .then(json => {
         setDatasets(json?.result);
       })
-      .catch(error =>
-        logging.error('There was an error fetching dataset', error),
-      );
+      .catch(error => {
+        addDangerToast('There was an error fetching dataset');
+        logging.error('There was an error fetching dataset', error);
+      });
   };
 
   useEffect(() => {
diff --git a/superset-frontend/src/views/CRUD/data/hooks.ts b/superset-frontend/src/views/CRUD/data/hooks.ts
index 2f2bdd9a2c..82c63bb320 100644
--- a/superset-frontend/src/views/CRUD/data/hooks.ts
+++ b/superset-frontend/src/views/CRUD/data/hooks.ts
@@ -18,6 +18,7 @@
  */
 import { useState, useEffect } from 'react';
 import { SupersetClient, logging } from '@superset-ui/core';
+import { addDangerToast } from 'src/components/MessageToasts/actions';
 
 type BaseQueryObject = {
   id: number;
@@ -80,6 +81,7 @@ export const UseGetDatasetsList = (queryParams: string | undefined) =>
     endpoint: `/api/v1/dataset/?q=${queryParams}`,
   })
     .then(({ json }) => json)
-    .catch(error =>
-      logging.error('There was an error fetching dataset', error),
-    );
+    .catch(error => {
+      addDangerToast('There was an error fetching dataset');
+      logging.error('There was an error fetching dataset', error);
+    });