mirror of
https://github.com/apache/superset.git
synced 2026-04-27 12:05:24 +00:00
refactor: Introduce api resource hooks, fetch owners for chart errors (#13218)
* refactor: introduce api resource hooks, fix error owners
* comment
* vestigial comment
* not a function
* clarification
* vestigial comment
* filter the api for a leaner response
* reorganize code, add resource hook catalog
* better names
* implement state management in redux
* Revert "implement state management in redux"
This reverts commit d64d50a99f.
* add tests for hooks
This commit is contained in:
committed by
GitHub
parent
72721845e1
commit
e11d0cbf44
47
superset-frontend/src/chart/ChartErrorMessage.tsx
Normal file
47
superset-frontend/src/chart/ChartErrorMessage.tsx
Normal file
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* 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 React from 'react';
|
||||
import { useChartOwnerNames } from 'src/common/hooks/apiResources';
|
||||
import ErrorMessageWithStackTrace from 'src/components/ErrorMessage/ErrorMessageWithStackTrace';
|
||||
import { SupersetError } from 'src/components/ErrorMessage/types';
|
||||
|
||||
interface Props {
|
||||
chartId: string;
|
||||
error?: SupersetError;
|
||||
}
|
||||
|
||||
/**
|
||||
* fetches the chart owners and adds them to the extra data of the error message
|
||||
*/
|
||||
export const ChartErrorMessage: React.FC<Props> = ({
|
||||
chartId,
|
||||
error,
|
||||
...props
|
||||
}) => {
|
||||
const { result: owners } = useChartOwnerNames(chartId);
|
||||
|
||||
// don't mutate props
|
||||
const ownedError = error && {
|
||||
...error,
|
||||
extra: { ...error.extra, owners },
|
||||
};
|
||||
|
||||
return <ErrorMessageWithStackTrace {...props} error={ownedError} />;
|
||||
};
|
||||
Reference in New Issue
Block a user