UNPKG

@mikezimm/fps-library-v2

Version:

Library of reusable typescript/javascript functions, interfaces and constants

51 lines (50 loc) 2.9 kB
/** * CodeAnalizerComment: Updated 2 imports on 2024-09-22 14:49:52 * Update:: import { IFPSItem } to '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent;' * Update:: import { IWebpartBannerProps } to '@mikezimm/fps-core-v7/lib/banner/mainReact/IWebpartBannerProps;' */ import { fetchMyHubsites } from '@mikezimm/fps-core-v7/lib/restAPIs/sites/HubsSubs/fetches/fetchMyHubsites'; import { processHubSubResults } from '@mikezimm/fps-core-v7/lib/restAPIs/sites/HubsSubs/functions/processHubSubResults'; import { createErrorFPSTileItem } from './Any/createErrorFPSTileItem'; import { makeFPSSubHubTiles } from './HubsSubs/makeFPSSubHubTiles'; import { CommonSuppressKeys } from '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IsA/IFPSItemIsA'; /** * getFPSHubTiles was built for Hub Connection's web part to fetch both sites and webs. * Use the depth property to specify either sites or webs. * @param bannerProps * @param sourceProps * @param search * @param WPFPSItem - use buildFpsTileWPProps * @param departmentId - if for current site, leave empty, will get from bannerProps * @returns */ /** * getFPSHubTiles was built for Hub Connection's web part to fetch both sites and webs. * Use the depth property to specify either sites or webs. * @param bannerProps * @param sourceProps * @param search * @param WPFPSItem - use buildFpsTileWPProps * @param departmentId - if for current site, leave empty, will get from bannerProps * @returns */ export async function getFPSHubTiles(bannerProps, sourceProps, search, webPartFPSItem, departmentId, depth = 'site', surpressKeys = CommonSuppressKeys, filter = 'Associated') { const useDepartmentId = departmentId ? departmentId : bannerProps.context.pageContext.legacyPageContext.departmentId; let results = await fetchMyHubsites(bannerProps.fpsSpService, bannerProps.context.pageContext.web.absoluteUrl, depth, useDepartmentId, filter); if (results.status !== 'Success') { results.itemsY = [createErrorFPSTileItem(results, webPartFPSItem)]; } else { // Updated for https://github.com/fps-solutions/HubCon/issues/13 results = processHubSubResults(results, sourceProps, search, useDepartmentId, ['MSTeam',]); // moved code from makeFPSSubHubTileItemsV2 directly into here results = makeFPSSubHubTiles(results, bannerProps, webPartFPSItem, surpressKeys); // results = buildFPSAnyTileItems( results, bannerProps, webPartFPSItem, ) as IStateSourceHubSubs; // results = addFPSViewHighlightElements( results, surpressKeys ) as IStateSourceHubSubs; // results.itemsY.map((item: IAnySourceItem ) => { // if ( !item.FPSItem.Icon.name ) item.FPSItem.Icon.name = 'SharePointLogo'; // }); } return results; } //# sourceMappingURL=getFPSHubTiles.js.map