Fixed create task bug (#3308)
This commit is contained in:
@ -13,6 +13,7 @@ import { useRightDrawer } from '@/ui/layout/right-drawer/hooks/useRightDrawer';
|
|||||||
import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
|
import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
|
||||||
import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
|
import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
|
||||||
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
|
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
|
||||||
|
import { isNonEmptyArray } from '~/utils/isNonEmptyArray';
|
||||||
|
|
||||||
import { activityTargetableEntityArrayState } from '../states/activityTargetableEntityArrayState';
|
import { activityTargetableEntityArrayState } from '../states/activityTargetableEntityArrayState';
|
||||||
import { viewableActivityIdState } from '../states/viewableActivityIdState';
|
import { viewableActivityIdState } from '../states/viewableActivityIdState';
|
||||||
@ -79,7 +80,9 @@ export const useOpenCreateActivityDrawer = () => {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
await createManyActivityTargets(activityTargetsToCreate);
|
if (isNonEmptyArray(activityTargetsToCreate)) {
|
||||||
|
await createManyActivityTargets(activityTargetsToCreate);
|
||||||
|
}
|
||||||
|
|
||||||
setHotkeyScope(RightDrawerHotkeyScope.RightDrawer, { goto: false });
|
setHotkeyScope(RightDrawerHotkeyScope.RightDrawer, { goto: false });
|
||||||
setViewableActivityId(createdActivity.id);
|
setViewableActivityId(createdActivity.id);
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { gql } from '@apollo/client';
|
|||||||
|
|
||||||
import { useMapFieldMetadataToGraphQLQuery } from '@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery';
|
import { useMapFieldMetadataToGraphQLQuery } from '@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery';
|
||||||
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||||
|
import { isNonEmptyArray } from '~/utils/isNonEmptyArray';
|
||||||
import { capitalize } from '~/utils/string/capitalize';
|
import { capitalize } from '~/utils/string/capitalize';
|
||||||
|
|
||||||
export const useGenerateFindManyRecordsForMultipleMetadataItemsQuery = ({
|
export const useGenerateFindManyRecordsForMultipleMetadataItemsQuery = ({
|
||||||
@ -17,6 +18,10 @@ export const useGenerateFindManyRecordsForMultipleMetadataItemsQuery = ({
|
|||||||
({ nameSingular }) => capitalize(nameSingular),
|
({ nameSingular }) => capitalize(nameSingular),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (!isNonEmptyArray(capitalizedObjectNameSingulars)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const filterPerMetadataItemArray = capitalizedObjectNameSingulars
|
const filterPerMetadataItemArray = capitalizedObjectNameSingulars
|
||||||
.map(
|
.map(
|
||||||
(capitalizedObjectNameSingular) =>
|
(capitalizedObjectNameSingular) =>
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { useQuery } from '@apollo/client';
|
|||||||
import { isNonEmptyArray } from '@sniptt/guards';
|
import { isNonEmptyArray } from '@sniptt/guards';
|
||||||
import { useRecoilValue } from 'recoil';
|
import { useRecoilValue } from 'recoil';
|
||||||
|
|
||||||
|
import { EMPTY_QUERY } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||||
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
|
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
|
||||||
import { useGenerateFindManyRecordsForMultipleMetadataItemsQuery } from '@/object-record/hooks/useGenerateFindManyRecordsForMultipleMetadataItemsQuery';
|
import { useGenerateFindManyRecordsForMultipleMetadataItemsQuery } from '@/object-record/hooks/useGenerateFindManyRecordsForMultipleMetadataItemsQuery';
|
||||||
import { useLimitPerMetadataItem } from '@/object-record/relation-picker/hooks/useLimitPerMetadataItem';
|
import { useLimitPerMetadataItem } from '@/object-record/relation-picker/hooks/useLimitPerMetadataItem';
|
||||||
@ -91,13 +92,17 @@ export const useMultiObjectSearchMatchesSearchFilterAndSelectedItemsQuery = ({
|
|||||||
const {
|
const {
|
||||||
loading: selectedAndMatchesSearchFilterObjectRecordsLoading,
|
loading: selectedAndMatchesSearchFilterObjectRecordsLoading,
|
||||||
data: selectedAndMatchesSearchFilterObjectRecordsQueryResult,
|
data: selectedAndMatchesSearchFilterObjectRecordsQueryResult,
|
||||||
} = useQuery<MultiObjectRecordQueryResult>(multiSelectQueryForSelectedIds, {
|
} = useQuery<MultiObjectRecordQueryResult>(
|
||||||
variables: {
|
multiSelectQueryForSelectedIds ?? EMPTY_QUERY,
|
||||||
...selectedAndMatchesSearchFilterTextFilterPerMetadataItem,
|
{
|
||||||
...orderByFieldPerMetadataItem,
|
variables: {
|
||||||
...limitPerMetadataItem,
|
...selectedAndMatchesSearchFilterTextFilterPerMetadataItem,
|
||||||
|
...orderByFieldPerMetadataItem,
|
||||||
|
...limitPerMetadataItem,
|
||||||
|
},
|
||||||
|
skip: !isDefined(multiSelectQueryForSelectedIds),
|
||||||
},
|
},
|
||||||
});
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
objectRecordForSelectArray: selectedAndMatchesSearchFilterObjectRecords,
|
objectRecordForSelectArray: selectedAndMatchesSearchFilterObjectRecords,
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { useQuery } from '@apollo/client';
|
|||||||
import { isNonEmptyArray } from '@sniptt/guards';
|
import { isNonEmptyArray } from '@sniptt/guards';
|
||||||
import { useRecoilValue } from 'recoil';
|
import { useRecoilValue } from 'recoil';
|
||||||
|
|
||||||
|
import { EMPTY_QUERY } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||||
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
|
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
|
||||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||||
import { useGenerateFindManyRecordsForMultipleMetadataItemsQuery } from '@/object-record/hooks/useGenerateFindManyRecordsForMultipleMetadataItemsQuery';
|
import { useGenerateFindManyRecordsForMultipleMetadataItemsQuery } from '@/object-record/hooks/useGenerateFindManyRecordsForMultipleMetadataItemsQuery';
|
||||||
@ -108,12 +109,13 @@ export const useMultiObjectSearchMatchesSearchFilterAndToSelectQuery = ({
|
|||||||
const {
|
const {
|
||||||
loading: toSelectAndMatchesSearchFilterObjectRecordsLoading,
|
loading: toSelectAndMatchesSearchFilterObjectRecordsLoading,
|
||||||
data: toSelectAndMatchesSearchFilterObjectRecordsQueryResult,
|
data: toSelectAndMatchesSearchFilterObjectRecordsQueryResult,
|
||||||
} = useQuery<MultiObjectRecordQueryResult>(multiSelectQuery, {
|
} = useQuery<MultiObjectRecordQueryResult>(multiSelectQuery ?? EMPTY_QUERY, {
|
||||||
variables: {
|
variables: {
|
||||||
...objectRecordsToSelectAndMatchesSearchFilterTextFilterPerMetadataItem,
|
...objectRecordsToSelectAndMatchesSearchFilterTextFilterPerMetadataItem,
|
||||||
...orderByFieldPerMetadataItem,
|
...orderByFieldPerMetadataItem,
|
||||||
...limitPerMetadataItem,
|
...limitPerMetadataItem,
|
||||||
},
|
},
|
||||||
|
skip: !isDefined(multiSelectQuery),
|
||||||
});
|
});
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { useQuery } from '@apollo/client';
|
import { useQuery } from '@apollo/client';
|
||||||
|
import { gql } from '@apollo/client';
|
||||||
import { isNonEmptyArray } from '@sniptt/guards';
|
import { isNonEmptyArray } from '@sniptt/guards';
|
||||||
import { useRecoilValue } from 'recoil';
|
import { useRecoilValue } from 'recoil';
|
||||||
|
|
||||||
@ -14,6 +15,12 @@ import { useOrderByFieldPerMetadataItem } from '@/object-record/relation-picker/
|
|||||||
import { isDefined } from '~/utils/isDefined';
|
import { isDefined } from '~/utils/isDefined';
|
||||||
import { capitalize } from '~/utils/string/capitalize';
|
import { capitalize } from '~/utils/string/capitalize';
|
||||||
|
|
||||||
|
export const EMPTY_QUERY = gql`
|
||||||
|
query Empty {
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
export const useMultiObjectSearchSelectedItemsQuery = ({
|
export const useMultiObjectSearchSelectedItemsQuery = ({
|
||||||
selectedObjectRecordIds,
|
selectedObjectRecordIds,
|
||||||
}: {
|
}: {
|
||||||
@ -68,13 +75,17 @@ export const useMultiObjectSearchSelectedItemsQuery = ({
|
|||||||
const {
|
const {
|
||||||
loading: selectedObjectRecordsLoading,
|
loading: selectedObjectRecordsLoading,
|
||||||
data: selectedObjectRecordsQueryResult,
|
data: selectedObjectRecordsQueryResult,
|
||||||
} = useQuery<MultiObjectRecordQueryResult>(multiSelectQueryForSelectedIds, {
|
} = useQuery<MultiObjectRecordQueryResult>(
|
||||||
variables: {
|
multiSelectQueryForSelectedIds ?? EMPTY_QUERY,
|
||||||
...selectedIdFilterPerMetadataItem,
|
{
|
||||||
...orderByFieldPerMetadataItem,
|
variables: {
|
||||||
...limitPerMetadataItem,
|
...selectedIdFilterPerMetadataItem,
|
||||||
|
...orderByFieldPerMetadataItem,
|
||||||
|
...limitPerMetadataItem,
|
||||||
|
},
|
||||||
|
skip: !isDefined(multiSelectQueryForSelectedIds),
|
||||||
},
|
},
|
||||||
});
|
);
|
||||||
|
|
||||||
const { objectRecordForSelectArray: selectedObjectRecords } =
|
const { objectRecordForSelectArray: selectedObjectRecords } =
|
||||||
useMultiObjectRecordsQueryResultFormattedAsObjectRecordForSelectArray({
|
useMultiObjectRecordsQueryResultFormattedAsObjectRecordForSelectArray({
|
||||||
|
|||||||
Reference in New Issue
Block a user