scrivito
Version:
Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.
22 lines (18 loc) • 682 B
text/typescript
import {
DataItem,
deserializeDataItem,
findItemInGlobalData,
isDataItemPojo,
scopePojoToItemPojo,
} from 'scrivito_sdk/data_integration';
import { useClosestSingleItemElement } from 'scrivito_sdk/react/data_context_container';
/** @public */
export function useDataItem(dataClassName?: string): DataItem | undefined {
const stackElement =
useClosestSingleItemElement(dataClassName) ||
(dataClassName && findItemInGlobalData(dataClassName));
if (!stackElement) return;
if (isDataItemPojo(stackElement)) return deserializeDataItem(stackElement);
const itemPojo = scopePojoToItemPojo(stackElement);
if (itemPojo) return deserializeDataItem(itemPojo);
}