mirror of https://github.com/buster-so/buster.git
Merge pull request #1150 from buster-so/big-nate-bus-1944-update_version-on-put-requests-to-report-files-and-dashboard
dashboard updates
This commit is contained in:
commit
3baabc1a62
|
@ -16,7 +16,10 @@ import { useSaveDashboard } from '../queryRequests';
|
|||
export const useAddAndRemoveMetricsFromDashboard = () => {
|
||||
const { openErrorMessage, openConfirmModal } = useBusterNotifications();
|
||||
const ensureDashboardConfig = useEnsureDashboardConfig({ prefetchData: false });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({ updateOnSave: true });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({
|
||||
updateOnSave: true,
|
||||
updateVersion: true,
|
||||
});
|
||||
|
||||
const addAndRemoveMetrics = async ({
|
||||
metrics,
|
||||
|
@ -57,6 +60,7 @@ export const useAddAndRemoveMetricsFromDashboard = () => {
|
|||
const data = await dashboardsUpdateDashboard({
|
||||
id: dashboardId,
|
||||
config: newConfig,
|
||||
update_version: true,
|
||||
});
|
||||
|
||||
return data;
|
||||
|
@ -108,7 +112,10 @@ export const useAddMetricsToDashboard = () => {
|
|||
const queryClient = useQueryClient();
|
||||
const { openErrorMessage, openConfirmModal } = useBusterNotifications();
|
||||
const ensureDashboardConfig = useEnsureDashboardConfig({ prefetchData: false });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({ updateOnSave: true });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({
|
||||
updateOnSave: true,
|
||||
updateVersion: true,
|
||||
});
|
||||
|
||||
const addMetricToDashboard = async ({
|
||||
metricIds,
|
||||
|
@ -169,7 +176,10 @@ export const useRemoveMetricsFromDashboard = () => {
|
|||
const { openConfirmModal, openErrorMessage } = useBusterNotifications();
|
||||
const queryClient = useQueryClient();
|
||||
const ensureDashboardConfig = useEnsureDashboardConfig({ prefetchData: false });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({ updateOnSave: true });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({
|
||||
updateOnSave: true,
|
||||
updateVersion: true,
|
||||
});
|
||||
|
||||
const removeMetricFromDashboard = async ({
|
||||
metricIds,
|
||||
|
|
|
@ -10,13 +10,19 @@ import { dashboardsUpdateDashboard } from '../requests';
|
|||
* useSaveDashboard
|
||||
* Saves the dashboard to the server and updates cache optionally.
|
||||
*/
|
||||
export const useSaveDashboard = (params?: { updateOnSave?: boolean }) => {
|
||||
export const useSaveDashboard = (params?: { updateOnSave?: boolean; updateVersion?: boolean }) => {
|
||||
const updateOnSave = params?.updateOnSave || false;
|
||||
const updateVersion = params?.updateVersion || true;
|
||||
|
||||
const queryClient = useQueryClient();
|
||||
const navigate = useNavigate();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: dashboardsUpdateDashboard,
|
||||
mutationFn: (variables: Parameters<typeof dashboardsUpdateDashboard>[0]) =>
|
||||
dashboardsUpdateDashboard({
|
||||
...variables,
|
||||
update_version: variables.update_version ?? updateVersion,
|
||||
}),
|
||||
onMutate: (variables) => {
|
||||
const options = dashboardQueryKeys.dashboardGetDashboard(variables.id, 'LATEST');
|
||||
queryClient.setQueryData(options.queryKey, (old) => {
|
||||
|
|
|
@ -15,7 +15,10 @@ export const useUpdateDashboard = (params?: {
|
|||
}) => {
|
||||
const { updateOnSave = false, updateVersion = false, saveToServer = false } = params || {};
|
||||
const queryClient = useQueryClient();
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({ updateOnSave });
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({
|
||||
updateOnSave,
|
||||
updateVersion,
|
||||
});
|
||||
|
||||
const mutationFn = async (variables: Parameters<typeof dashboardsUpdateDashboard>[0]) => {
|
||||
if (saveToServer) {
|
||||
|
|
|
@ -3,13 +3,14 @@ import { create } from 'mutative';
|
|||
import type { BusterDashboard } from '@/api/asset_interfaces/dashboard';
|
||||
import { dashboardQueryKeys } from '@/api/query_keys/dashboard';
|
||||
import { useSaveDashboard } from './useSaveDashboard';
|
||||
import { useUpdateDashboard } from './useUpdateDashboard';
|
||||
|
||||
/**
|
||||
* useUpdateDashboardConfig
|
||||
* Client-optmistic update for the dashboard.config field, then persists.
|
||||
*/
|
||||
export const useUpdateDashboardConfig = () => {
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useSaveDashboard({
|
||||
const { mutateAsync: dashboardsUpdateDashboard } = useUpdateDashboard({
|
||||
updateOnSave: true,
|
||||
});
|
||||
const queryClient = useQueryClient();
|
||||
|
|
|
@ -154,7 +154,6 @@ export const prefetchGetDashboard = async ({
|
|||
version_number,
|
||||
}: Parameters<typeof getDashboardAndInitializeMetrics>[0]) => {
|
||||
const chosenVersionNumber = version_number || 'LATEST';
|
||||
console.log('prefetchGetDashboard', chosenVersionNumber);
|
||||
const queryFn = async () =>
|
||||
getDashboardAndInitializeMetrics({
|
||||
id,
|
||||
|
|
|
@ -26,6 +26,7 @@ export const DashboardVersionModal = React.memo(
|
|||
);
|
||||
const { mutateAsync: updateDashboard, isPending: isRestoringVersion } = useSaveDashboard({
|
||||
updateOnSave: true,
|
||||
updateVersion: true,
|
||||
});
|
||||
|
||||
const {
|
||||
|
|
|
@ -14,8 +14,8 @@ export const DataGridRow: React.FC<DataGridRowProps> = ({ row, virtualRow }) =>
|
|||
<tr
|
||||
className={cn(
|
||||
'hover:bg-item-hover absolute inset-x-0 border-b flex',
|
||||
row.getIsSelected() && 'bg-primary/10',
|
||||
'last:border-b-0'
|
||||
row.getIsSelected() && 'bg-primary/10'
|
||||
// 'last:border-b-0' //don't do it
|
||||
)}
|
||||
style={{
|
||||
transform: `translateY(${virtualRow.start}px)`,
|
||||
|
|
Loading…
Reference in New Issue