@atlaskit/renderer
Version:
Renderer component
31 lines • 1.25 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from 'react';
import { ResourcedTaskItem } from '@atlaskit/task-decision';
export default function TaskItemWithProviders(props) {
const {
objectAri,
isRenderer,
...otherProps
} = props;
const [resolvedContextProvider, setResolvedContextProvider] = React.useState(undefined);
const updateContextIdentifierProvider = React.useCallback(async contextIdentifierProvider => {
if (contextIdentifierProvider) {
try {
const resolvedContextProvider = await contextIdentifierProvider;
setResolvedContextProvider(resolvedContextProvider);
return;
} catch {}
}
setResolvedContextProvider(undefined);
}, []);
React.useMemo(() => {
updateContextIdentifierProvider(props.contextIdentifierProvider);
}, [props.contextIdentifierProvider, updateContextIdentifierProvider]);
const resolvedObjectId = resolvedContextProvider && resolvedContextProvider.objectId || objectAri;
return /*#__PURE__*/React.createElement("div", {
"data-task-local-id": props.taskId || ''
}, /*#__PURE__*/React.createElement(ResourcedTaskItem, _extends({}, otherProps, {
objectAri: resolvedObjectId,
isRenderer: isRenderer
})));
}