diff --git a/packages/sanity/src/desk/panes/documentList/DocumentListPane.tsx b/packages/sanity/src/desk/panes/documentList/DocumentListPane.tsx index 91acb3a4384..9f376b44937 100644 --- a/packages/sanity/src/desk/panes/documentList/DocumentListPane.tsx +++ b/packages/sanity/src/desk/panes/documentList/DocumentListPane.tsx @@ -55,10 +55,16 @@ export const DocumentListPane = memo(function DocumentListPane(props: DocumentLi 'layout', defaultLayout ) + + // Ensure that we use the defaultOrdering value from structure builder if any as the default + const defaultSortOrder = useMemo(() => { + return defaultOrdering?.length > 0 ? {by: defaultOrdering} : DEFAULT_ORDERING + }, []) + const [sortOrderRaw, setSortOrder] = useDeskToolSetting( typeName, 'sortOrder', - DEFAULT_ORDERING + defaultSortOrder ) const sortWithOrderingFn = diff --git a/packages/sanity/src/desk/panes/documentList/useDocumentList.ts b/packages/sanity/src/desk/panes/documentList/useDocumentList.ts index 3f12bcc8e81..08af4c08451 100644 --- a/packages/sanity/src/desk/panes/documentList/useDocumentList.ts +++ b/packages/sanity/src/desk/panes/documentList/useDocumentList.ts @@ -29,7 +29,7 @@ interface DocumentListState { * @internal */ export function useDocumentList(opts: UseDocumentListOpts): DocumentListState { - const {apiVersion, defaultOrdering, filter, params, sortOrder} = opts + const {apiVersion, filter, params, sortOrder} = opts const client = useClient(DEFAULT_STUDIO_CLIENT_OPTIONS) const [fullList, setFullList] = useState(false) const fullListRef = useRef(fullList) @@ -47,7 +47,7 @@ export function useDocumentList(opts: UseDocumentListOpts): DocumentListState { const extendedProjection = sortOrder?.extendedProjection const projectionFields = ['_id', '_type'] const finalProjection = projectionFields.join(',') - const sortBy = defaultOrdering || sortOrder?.by || [] + const sortBy = sortOrder?.by || [] const limit = fullList ? FULL_LIST_LIMIT : PARTIAL_PAGE_LIMIT const sort = sortBy.length > 0 ? sortBy : DEFAULT_ORDERING.by const order = toOrderClause(sort) @@ -62,7 +62,7 @@ export function useDocumentList(opts: UseDocumentListOpts): DocumentListState { } return `*[${filter}]|order(${order})[0...${limit}]{${finalProjection}}` - }, [defaultOrdering, filter, fullList, sortOrder]) + }, [filter, fullList, sortOrder]) const handleListChange = useCallback( ({toIndex}: VirtualListChangeOpts) => {