UNPKG

@atlaskit/editor-plugin-card

Version:

Card plugin for @atlaskit/editor-core

47 lines • 1.64 kB
/** * @jsxRuntime classic * @jsx jsx */ import { useEffect, useState } from 'react'; import { DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE, useDatasourceClientExtension } from '@atlaskit/link-client-extension/use-data-source-client-extension'; import { ASSETS_LIST_OF_LINKS_DATASOURCE_ID } from '@atlaskit/link-datasource/assets-modal'; import { fg } from '@atlaskit/platform-feature-flags/fg'; const ASSETS_DATASOURCE_DATA_PAGE_SIZE = 100; export const useFetchDatasourceDataInfo = ({ datasourceId, parameters, visibleColumnKeys }) => { const [extensionKey, setExtensionKey] = useState(undefined); const { getDatasourceData } = useDatasourceClientExtension(); useEffect(() => { const fetchDatasource = async () => { try { if (!datasourceId || !parameters || !visibleColumnKeys) { return; } const datasourceDataRequest = { parameters, pageSize: fg('astral_assets_default_page_size_100') && datasourceId === ASSETS_LIST_OF_LINKS_DATASOURCE_ID ? ASSETS_DATASOURCE_DATA_PAGE_SIZE : DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE, pageCursor: undefined, fields: visibleColumnKeys, includeSchema: true }; const { meta } = await getDatasourceData(datasourceId, datasourceDataRequest, false); setExtensionKey(meta.extensionKey); } catch (e) { // eslint-disable-next-line no-console console.error(e); setExtensionKey(undefined); } }; void fetchDatasource(); }, [getDatasourceData, visibleColumnKeys, parameters, datasourceId]); return { extensionKey }; };