@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
410 lines (408 loc) • 25.7 kB
JavaScript
/**
* CodeAnalizerComment: Updated 5 imports on 2024-09-22 14:49:52
* Update:: import { ISpecialMessage } to '@mikezimm/fps-core-v7/lib/banner/components/SpecialBanner/interface;'
* Update:: import { IWebpartBannerProps } to '@mikezimm/fps-core-v7/lib/banner/mainReact/IWebpartBannerProps;'
* Update:: import { createKeySiteProps } to '@mikezimm/fps-core-v7/lib/banner/components/Gear/CreateKeySiteProps;'
* Update:: import { IThisFPSWebPartClass } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152;'
* Update:: import { check4Tricks } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/functions/showTricks;'
*/
/**
* CodeAnalizerComment: Updated 15 imports on 2024-09-21 23:07:24
* Update:: import { baseBannerCmdStyles } to '@mikezimm/fps-core-v7/lib/common/commandStyles/defaults;'
* Update:: import { baseBannerStyles } to '@mikezimm/fps-core-v7/lib/common/commandStyles/defaults;'
* Update:: import { check4SiteTheme } to '@mikezimm/fps-core-v7/lib/common/commandStyles/ISiteThemeChoices;'
* Update:: import { DisplayMode } to '@mikezimm/fps-core-v7/lib/types/@msft/1.15.2/displayMode;'
* Update:: import { verifyAudienceVsUser } to '@mikezimm/fps-core-v7/lib/logic/Users/CheckPermissions;'
* Update:: import { getReactCSSFromString } to '@mikezimm/fps-core-v7/lib/logic/Strings/reactCSS;'
* Update:: import { ICurleyBraceCheck } to '@mikezimm/fps-core-v7/lib/logic/Strings/reactCSS;'
* Update:: import { createEasyPagesSourceWPProps } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-pages/functions/createEasyPagesSourceWPProps;'
* Update:: import { createEasyPagesExtraWPProps } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-pages/functions/createEasyPagesExtraWPProps;'
* Update:: import { createEasyIconsWPProps } to '@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/functions/createEasyIconsWPProps;'
* Update:: import { IThisFPSWebPartClass } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152;'
* Update:: import { IMinWPFieldPanelProps } to '@mikezimm/fps-core-v7/lib/components/molecules/FieldPanel/interfaces/IMinWPFieldPanelProps;'
* Update:: import { check4Tricks } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/functions/showTricks;'
* Update:: import { check4This } to '@mikezimm/fps-core-v7/lib/logic/Links/CheckSearch;'
* Update:: import { getCert } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/getCert;'
*/
// import { DisplayMode } from "@microsoft/sp-core-library";
import { baseBannerCmdStyles, baseBannerStyles } from "@mikezimm/fps-core-v7/lib/common/commandStyles/defaults";
import { check4SiteTheme } from "@mikezimm/fps-core-v7/lib/common/commandStyles/ISiteThemeChoices";
import { DisplayMode, } from "@mikezimm/fps-core-v7/lib/types/@msft/1.15.2/displayMode";
import { createPerformanceTableVisitor, } from "../../components/indexes/Performance";
import { verifyAudienceVsUser } from "@mikezimm/fps-core-v7/lib/components/atoms/Users/CheckPermissions";
import { getReactCSSFromString } from "@mikezimm/fps-core-v7/lib/logic/Strings/reactCSS";
import { visitorPanelInfo } from "../components/VisitorPanel/VisitorPanelComponent";
// import { SPPermission } from '@microsoft/sp-page-context';
import { createEasyPagesSourceWPProps } from "@mikezimm/fps-core-v7/lib/components/atoms/easy-pages/functions/createEasyPagesSourceWPProps";
import { createEasyPagesExtraWPProps } from "@mikezimm/fps-core-v7/lib/components/atoms/easy-pages/functions/createEasyPagesExtraWPProps";
import { createEasyIconsWPProps } from "@mikezimm/fps-core-v7/lib/components/atoms/easy-icons/functions/createEasyIconsWPProps";
import { createKeySiteProps } from "@mikezimm/fps-core-v7/lib/banner/components/Gear/CreateKeySiteProps";
import { check4Tricks } from "@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/functions/showTricks";
import { check4This, Check4 } from "@mikezimm/fps-core-v7/lib/logic/Links/CheckSearch";
import { getCert } from "@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/getCert";
/**
* This function takes the main webpart class
* @param setup
* @returns
*/
export function mainWebPartRenderBannerSetupX(setup) {
const { SPPermission } = setup;
const { displayMode, _beAReader, _FPSUser, _FPSEnviro, properties, _modifyBannerTitle, _forceBanner, _sitePresets, _allowPandoramic, _addParamToUrl, } = setup.main;
const { _tenantHelpUrl, _tenanatFirst5, _tenantGetStartedUrl, _tenantPolicies, _youtubeChannel, _youtubeFirst5, _youtubeHelp, _youtubeGetStarted, _preConfigClassTest } = setup.main;
const { pageContext, _pageLayoutType } = setup.main.context;
// Field Panel specific properties
const { _FieldPanelDesignMode, _FieldPanelListProp, _FieldPanelWebProp, _allowFieldPanel, _fpsSpService } = setup.main;
const renderAsReader = displayMode === DisplayMode.Read && _beAReader === true ? true : false;
const isSiteAdmin = renderAsReader !== true && _FPSUser.isSiteAdmin === true ? true : false;
/***
* d888888b d8888b. d888888b .o88b. db dD .d8888.
* `~~88~~' 88 `8D `88' d8P Y8 88 ,8P' 88' YP
* 88 88oobY' 88 8P 88,8P `8bo.
* 88 88`8b 88 8b 88`8b `Y8b.
* 88 88 `88. .88. Y8b d8 88 `88. db 8D
* YP 88 YD Y888888P `Y88P' YP YD `8888Y'
*
*
*/
//
// let showTricks: any = false;
// setup.main._trickyEmailsAll.map( getsTricks => {
// if ( pageContext.user && pageContext.user.loginName && pageContext.user.loginName.toLowerCase().indexOf( getsTricks ) > -1 ) {
// showTricks = true ;
// properties.showRepoLinks = true; //Always show these users repo links
// }
// } );
const showTricks = check4Tricks(setup.main._trickyEmailsAll, { ...pageContext.user, ..._FPSUser });
properties.showRepoLinks = showTricks;
/***
* db db d88888b db d8888b. d8888b. .d8b. d8b db d88888b db
* 88 88 88' 88 88 `8D 88 `8D d8' `8b 888o 88 88' 88
* 88ooo88 88ooooo 88 88oodD' 88oodD' 88ooo88 88V8o 88 88ooooo 88
* 88~~~88 88~~~~~ 88 88~~~ 88~~~ 88~~~88 88 V8o88 88~~~~~ 88
* 88 88 88. 88booo. 88 88 88 88 88 V888 88. 88booo.
* YP YP Y88888P Y88888P 88 88 YP YP VP V8P Y88888P Y88888P
*
*
*/
const showRepoLinks = renderAsReader === true || properties.showRepoLinks === false ? false : true;
//Always show full panel if you are SCA
const showFullPanel = isSiteAdmin === true ? true : verifyAudienceVsUser(_FPSUser, showTricks, properties.fullPanelAudience, SPPermission.editListItems, renderAsReader);
let errMessage = '';
let validDocsContacts = ''; //This may no longer be needed if links below are commented out.
if ((properties.documentationIsValid !== true && properties.documentationLinkUrl) //This means it failed the url ping test... throw error
|| (properties.requireDocumentation === true && !properties.documentationLinkUrl)) { //This means docs are required but there isn't one provided
errMessage += ' Invalid Support Doc Link: ' + (properties.documentationLinkUrl ? properties.documentationLinkUrl : 'Empty. ');
validDocsContacts += 'DocLink,';
}
if (properties.requireContacts === true) {
if (!properties.supportContacts || properties.supportContacts.length < 1) {
errMessage += ' Need valid Support Contacts';
validDocsContacts += 'Contacts,';
}
}
const replacePanelWarning = `Anyone with lower permissions than '${properties.fullPanelAudience}' will ONLY see this content in panel`;
let infoElement = 'More Information';
if (properties.infoElementChoice === 'Text') {
infoElement = properties.infoElementText;
}
else if (properties.infoElementChoice) {
infoElement = properties.infoElementChoice;
}
/***
* d8b db d88888b .d8b. d8888b. d88888b db d88888b .88b d88. d88888b d8b db d888888b .d8888.
* 888o 88 88' d8' `8b 88 `8D 88' 88 88' 88'YbdP`88 88' 888o 88 `~~88~~' 88' YP
* 88V8o 88 88ooooo 88ooo88 88oobY' 88ooooo 88 88ooooo 88 88 88 88ooooo 88V8o 88 88 `8bo.
* 88 V8o88 88~~~~~ 88~~~88 88`8b 88~~~~~ 88 88~~~~~ 88 88 88 88~~~~~ 88 V8o88 88 `Y8b.
* 88 V888 88. 88 88 88 `88. 88. 88booo. 88. 88 88 88 88. 88 V888 88 db 8D
* VP V8P Y88888P YP YP 88 YD Y88888P Y88888P Y88888P YP YP YP Y88888P VP V8P YP `8888Y'
*
*
*/
//Always pass false for verifyAudienceVsUser 'beAUser' or it will hide the beAUser Icon.
const showBeAUserIcon = verifyAudienceVsUser(_FPSUser, showTricks, properties.beAUserAudience, SPPermission.addAndCustomizePages, false);
properties.showBannerGear = verifyAudienceVsUser(_FPSUser, showTricks, properties.homeParentGearAudience, null, renderAsReader);
const hasCustomizePages = isSiteAdmin === true ? true :
verifyAudienceVsUser(_FPSUser, showTricks, properties.homeParentGearAudience, SPPermission.addAndCustomizePages, renderAsReader);
const homeParentGearAudience = isSiteAdmin === true ? true : verifyAudienceVsUser(_FPSUser, showTricks, properties.homeParentGearAudience, null, renderAsReader);
const showBannerGear = isSiteAdmin === true ? true : properties.showBannerGear === true && homeParentGearAudience === true ? true : false;
const showGoToHome = isSiteAdmin === true ? true : properties.showGoToHome === true && homeParentGearAudience === true ? true : false;
const showGoToParent = isSiteAdmin === true ? true : properties.showGoToParent === true && homeParentGearAudience === true ? true : false;
const showExport = isSiteAdmin === true ? true : properties.showExport === true && hasCustomizePages !== true ? false : true;
const enableExpandoramic = _allowPandoramic === false || properties.enableExpandoramic === false ? false :
verifyAudienceVsUser(_FPSUser, showTricks, properties.expandoAudience, null, renderAsReader);
/***
* d888888b d888888b d888888b db d88888b .d8888. d888888b db db db d88888b .d8888.
* `~~88~~' `88' `~~88~~' 88 88' 88' YP `~~88~~' `8b d8' 88 88' 88' YP
* 88 88 88 88 88ooooo `8bo. 88 `8bd8' 88 88ooooo `8bo.
* 88 88 88 88 88~~~~~ `Y8b. 88 88 88 88~~~~~ `Y8b.
* 88 .88. 88 88booo. 88. db 8D 88 88 88booo. 88. db 8D
* YP Y888888P YP Y88888P Y88888P `8888Y' YP YP Y88888P Y88888P `8888Y'
*
*
*/
// Updated for SPA to get Title which is also the window.name property https://github.com/mikezimm/drilldown7/issues/243
const bannerTitle = _modifyBannerTitle === true && properties.bannerTitle && properties.bannerTitle.length > 0 ? properties.bannerTitle :
_pageLayoutType === 'SingleWebPartAppPageLayout' ? document.title : setup.main._repoLink.desc;
//Added useSiteTheme for SiteTheme in Banner
const useSiteTheme = check4SiteTheme(properties.bannerStyleChoice);
const bannerStyle = getReactCSSFromString('bannerStyle', properties.bannerStyle, baseBannerStyles, useSiteTheme);
const bannerCmdStyle = getReactCSSFromString('bannerCmdStyle', properties.bannerCmdStyle, baseBannerCmdStyles, useSiteTheme);
//Over-rides expand for certain users
// Changed expandoStyle from buildExpandoStyle function based on https://github.com/mikezimm/CoreFPS114/issues/6
// let expandobuildExpandoStyle = buildExpandoStyle( errMessage, properties, bbs.errorObjArray, bbs.expandoErrorObj );
const expandoStyleObject = getReactCSSFromString('expandoStyle', properties.expandoStyle, {}, false);
const styleErrors = [];
if (bannerStyle.errMessage) {
styleErrors.push(bannerStyle.errMessage);
}
if (bannerCmdStyle.errMessage) {
styleErrors.push(bannerCmdStyle.errMessage);
}
if (expandoStyleObject.errMessage) {
styleErrors.push(expandoStyleObject.errMessage);
}
const styleErrorMessage = styleErrors.length > 0 ? `; ${styleErrors.join('; ')}` : '';
errMessage += styleErrorMessage;
const showBannerError = errMessage !== '' && errMessage !== null ? true : false;
/***
* d88888b d888888b d88888b db d8888b. d8888b. .d8b. d8b db d88888b db
* 88' `88' 88' 88 88 `8D 88 `8D d8' `8b 888o 88 88' 88
* 88ooo 88 88ooooo 88 88 88 88oodD' 88ooo88 88V8o 88 88ooooo 88
* 88~~~ 88 88~~~~~ 88 88 88 88~~~ 88~~~88 88 V8o88 88~~~~~ 88
* 88 .88. 88. 88booo. 88 .8D 88 88 88 88 V888 88. 88booo.
* YP Y888888P Y88888P Y88888P Y8888D' 88 YP YP VP V8P Y88888P Y88888P
*
*
*/
const MinFPProps = setup.main.properties;
const saveCommands = _FieldPanelDesignMode === 'Disabled' ? null : setup.main._saveFieldPanelCommandsFunction.bind(setup.main);
const saveViews = _FieldPanelDesignMode === 'Disabled' ? null : setup.main._saveFieldPanelViewsFunction.bind(setup.main);
// 2024-12-21: These two can be commented out (I think)
const FieldPanelWebUrl = _FieldPanelWebProp && MinFPProps[_FieldPanelWebProp] ? MinFPProps[_FieldPanelWebProp] : pageContext.web.absoluteUrl;
const FieldPanelListTitle = _FieldPanelListProp ? MinFPProps[_FieldPanelListProp] : 'Documents';
const fieldPanelProps = {
displayMode: displayMode,
lists: [{
fpsSpService: _fpsSpService,
webUrl: _FieldPanelWebProp && MinFPProps[_FieldPanelWebProp] ? MinFPProps[_FieldPanelWebProp] : pageContext.web.absoluteUrl,
listTitle: _FieldPanelListProp ? MinFPProps[_FieldPanelListProp] : 'Documents',
}],
bannerPillShape: setup.main.properties.bannerPillShape,
designMode: _FieldPanelDesignMode,
tryCommands: null,
saveCommands: saveCommands,
tryViews: null,
saveViews: saveViews,
fpsSpService: setup.main._fpsSpService,
// enable: this._allowFieldPanel === true && FieldPanelWebUrl && FieldPanelListTitle ? true : false,
};
const startTime = new Date();
const refreshId = startTime.toISOString().replace('T', ' T'); // + ' ~ ' + startTime.toLocaleTimeString();
const { enableSUL, sUCode } = setup.main.properties;
// https://github.com/mikezimm/fps-library-v2/issues/180
const certCount = setup.main._IFPSCert ? setup.main._IFPSCert.length : 0;
const fpsCert = certCount === 1 ? setup.main._IFPSCert[0] : getCert(setup.main._IFPSCert, enableSUL, sUCode, setup.main._repoLink.cCode); // Get again of for some reason it was not already narrowed down
/***
* d8888b. .d8b. d8b db d8b db d88888b d8888b. d8888b. d8888b. .d88b. d8888b. .d8888.
* 88 `8D d8' `8b 888o 88 888o 88 88' 88 `8D 88 `8D 88 `8D .8P Y8. 88 `8D 88' YP
* 88oooY' 88ooo88 88V8o 88 88V8o 88 88ooooo 88oobY' 88oodD' 88oobY' 88 88 88oodD' `8bo.
* 88~~~b. 88~~~88 88 V8o88 88 V8o88 88~~~~~ 88`8b 88~~~ 88`8b 88 88 88~~~ `Y8b.
* 88 8D 88 88 88 V888 88 V888 88. 88 `88. 88 88 `88. `8b d8' 88 db 8D
* Y8888P' YP YP VP V8P VP V8P Y88888P 88 YD 88 88 YD `Y88P' 88 `8888Y'
*
*
*/
//https://github.com/mikezimm/fps-library-v2/issues/50
const defaultVersionInfo = `202X-XX-79 - UPDATE CLASS vX.X.X.XX`;
const versionData = setup.main._panelVersion ? setup.main._panelVersion.split(' - ') : defaultVersionInfo.split(' - ');
const bannerProps = {
fpsCert: fpsCert,
webpartHistory: properties.webpartHistory,
easyPagesSourceProps: createEasyPagesSourceWPProps(setup.main),
easyPagesExtraProps: createEasyPagesExtraWPProps(setup.main, showTricks, renderAsReader),
EasyIconsObject: createEasyIconsWPProps(properties),
sitePresets: _sitePresets,
tenantHelp: {
_tenantHelpUrl: _tenantHelpUrl,
_tenanatFirst5: _tenanatFirst5,
_tenantGetStartedUrl: _tenantGetStartedUrl,
_tenantPolicies: _tenantPolicies,
_youtubeChannel: _youtubeChannel,
_youtubeFirst5: _youtubeFirst5,
_youtubeHelp: _youtubeHelp,
_youtubeGetStarted: _youtubeGetStarted,
_preConfigClassTest: _preConfigClassTest,
},
keySiteProps: createKeySiteProps(pageContext),
lockProps: {
enableLockProps: properties.enableLockProps,
lockedByUser: properties.lockedByUser,
lockedTime: properties.lockedTime,
lockedMess1: properties.lockedMess1,
lockedMess2: properties.lockedMess2,
lockedMess3: properties.lockedMess3,
lockedHTML1: properties.lockedHTML1,
},
overRideProps: {
enableForceOverRide: properties.enableForceOverRide,
overrideByUser: properties.overrideByUser,
overrideTime: properties.overrideTime,
overrideProps: properties.overrideProps,
overrideKeys: properties.overrideKeys,
},
easyAnalyticsProps: {
analyticsListX: setup.main._analyticsListX,
analyticsWebX: setup.main._analyticsWebX,
analyticsOptionsX: setup.main._analyticsOptionsX,
trickyLytics: fpsCert.trickyLytics,
wpTDLeft: setup.main._wpTDLeft,
wpTDRight: setup.main._wpTDRight,
wpFilterProps: setup.main._wpFilterProps,
class1: setup.main._fpsSiteThemePrimary,
class2: setup.main._fpsSiteThemeDark,
renderBarsRow: setup.main._renderBarsRow,
renderItemsRow: setup.main._renderItemsRow,
expandedState: false,
},
siteThemes: {
dark: setup.main._fpsSiteThemeDark,
light: setup.main._fpsSiteThemeLight,
primary: setup.main._fpsSiteThemePrimary,
},
fieldPanelProps: fieldPanelProps,
fpsPinMenu: {
defPinState: properties.defPinState ? properties.defPinState : 'disabled',
forcePinState: properties.forcePinState !== true ? false : true,
domElement: setup.main.context.domElement,
pageLayout: properties.pageLayout,
},
refreshId: refreshId,
FPSUser: _FPSUser,
FPSEnviro: _FPSEnviro,
exportProps: setup.exportProps,
analyticsProps: setup.analyticsProps,
context: setup.main.context,
fpsSpService: setup.main._fpsSpService,
displayMode: displayMode,
WebPartHelpPivots: [],
SpecialMessage: setup.SpecialMessage,
panelTitle: showBannerError === true ? errMessage : bannerTitle,
infoElement: infoElement,
// changed null to undefined: https://github.com/mikezimm/ALVFinMan/issues/171
contentPages: {
aboutTable: undefined,
advancedContent: undefined,
basicsContent: undefined,
errorsContent: undefined,
futureContent: undefined,
getRandomTip: undefined,
gettingStartedContent: undefined,
tricksTable: undefined,
webParTips: [],
whyContent: undefined,
},
bannerWidth: (setup.main.domElement.clientWidth - (displayMode === DisplayMode.Edit ? 250 : 0)),
showBanner: showTricks === true || _forceBanner === true || properties.showBanner !== false ? true : false,
feedbackEmail: properties.feedbackEmail ? properties.feedbackEmail : '',
showTricks: showTricks,
showBannerGear: showBannerGear,
showGoToHome: showGoToHome,
showGoToParent: showGoToParent,
showRepoLinks: showRepoLinks,
showExport: showExport,
showFullPanel: showFullPanel,
replacePanelHTML: properties.replacePanelHTML,
bonusHTML1: null,
panelPerformance: setup.main._performance,
bonusHTML2: null,
replacePanelWarning: replacePanelWarning,
// onHomePage: anyContext._pageLayoutType === 'Home' ? true : false,
onHomePage: pageContext.legacyPageContext.isWebWelcomePage === true ? true : false,
hoverEffect: properties.bannerHoverEffect === false ? false : true,
bannerPillShape: properties.bannerPillShape === true ? true : false,
//This was my modified attempt that didn't work
title: showBannerError === true ? errMessage : bannerTitle,
bannerReactCSS: showBannerError === true ? { background: "yellow", color: "red", } : bannerStyle.parsed,
bannerCmdReactCSS: bannerCmdStyle.parsed,
themeChoice: properties.bannerStyleChoice,
useSiteTheme: useSiteTheme,
gitHubRepo: setup.main._repoLink,
farElements: [],
nearElements: [],
earyAccess: false,
wideToggle: setup.wideToggle,
//2022-02-17: Added these for expandoramic mode
domElement: setup.main.context.domElement,
pageLayout: properties.pageLayout,
expandoProps: {
enableExpandoramic: enableExpandoramic,
expandoDefault: properties.expandoDefault,
expandoStyle: expandoStyleObject.parsed,
expandAlert: false,
expandConsole: setup.expandConsole,
expandoPadding: properties.expandoPadding,
expandoAudience: properties.expandoAudience,
//2022-02-17: END additions for expandoramic mode
},
fpsPageBGWPProps: {
fullPageImage: properties.fullPageImage,
fullPageImageFilter: properties.fullPageImageFilter,
fullPageScrollable: properties.fullPageScrollable,
defaultWhiteText: properties.defaultWhiteText,
whiteRefreshTip: properties.whiteRefreshTip,
fullPageOverlayOpacity: properties.fullPageOverlayOpacity,
fullPageOverlayColor: properties.fullPageOverlayColor,
defaultWPBack: properties.defaultWPBack,
defaultWPBordRad: properties.defaultWPBordRad,
fullPageImageFit: properties.fullPageImageFit,
_allowFullPageBG: setup.main._allowFullPageBG,
_FPSId: setup.main._FPSId,
enableTabs: properties.enableTabs,
},
_FPSId: setup.main._FPSId,
_refreshBGStyles: setup.main._refreshBGStyles.bind(setup.main),
// https://github.com/mikezimm/pivottiles7/issues/383
_resetEasyIcons: setup.main._resetEasyIcons.bind(setup.main),
_forceMainRender: setup.main._forceMainRender.bind(setup.main),
beAUser: renderAsReader,
addParamToUrl: _addParamToUrl.bind(setup.main),
showBeAUserIcon: showBeAUserIcon,
beAUserFunction: null,
hardExp: setup.main._hardExpire,
versionDate: versionData[0].trim(),
versionLabel: versionData[1] ? versionData[1].trim() : '',
versionInfo: setup.main._panelVersion ? setup.main._panelVersion : defaultVersionInfo, // From about page
};
//close #129: This makes the maxWidth added in fps options apply to banner as well.
// if ( properties.fpsContainerMaxWidth && properties.fpsContainerMaxWidth.length > 0 && bannerProps.bannerReactCSS ) {
// bannerProps.bannerReactCSS.maxWidth = properties.fpsContainerMaxWidth;
// }
// 2022-12-12: VERIFY THIS IS NEEDED, it's in buildBannerPropsv1 AND WebPartRenderBannerV2.ts
if (properties.allSectionMaxWidthEnable && properties.allSectionMaxWidth > 0 && bannerProps.bannerReactCSS) {
bannerProps.bannerReactCSS.maxWidth = properties.allSectionMaxWidth;
}
if (properties.defPinState === 'disabled') {
}
else {
if (!properties.bannerTitle || properties.bannerTitle === '') {
if (properties.defPinState !== 'normal' && setup.strings.bannerTitle) {
bannerProps.title = setup.strings.bannerTitle;
}
else {
bannerProps.title = 'hide';
}
}
//Add this to force a title because when pinned by default, users may not know it's there.
if (properties.forcePinState === true && properties.defPinState !== 'normal') {
if (!properties.bannerTitle || properties.bannerTitle.length < 3) {
bannerProps.title = 'Page Contents';
}
}
}
if (check4This(Check4.tracePerformance_Eq_true) === true)
console.log(`tracePerformance mainWebPartRenderBannerSetupX ~ 364`, JSON.parse(JSON.stringify(setup.main._performance)));
properties.replacePanelHTML = visitorPanelInfo(properties, setup.main._repoLink, '', '', createPerformanceTableVisitor(setup.main._performance, setup.main._keysToShow), 'mainWebPartRenderBannerSetupX');
bannerProps.replacePanelHTML = properties.replacePanelHTML;
return bannerProps;
}
//# sourceMappingURL=BuildBannerPropsX2.js.map