@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
41 lines (40 loc) • 2.43 kB
JavaScript
/**
* 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 { fetchMySubsites } from '@mikezimm/fps-core-v7/lib/restAPIs/sites/HubsSubs/fetches/fetchMySubsites';
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';
/**
* getFPSWebTiles is derived from getFPSHubTiles was built for Hub Connection's web part to fetch both sites and 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 getFPSWebTiles(bannerProps, sourceProps, search, webPartFPSItem, departmentId, surpressKeys = CommonSuppressKeys) {
const useDepartmentId = departmentId ? departmentId : bannerProps.context.pageContext.legacyPageContext.departmentId;
let results = await fetchMySubsites(bannerProps.fpsSpService, bannerProps.context.pageContext.web.absoluteUrl);
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, ['STSWeb',]);
// 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=getFPSWebTiles.js.map