@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
129 lines (128 loc) • 8.24 kB
JavaScript
/**
* CodeAnalizerComment: Updated 2 imports on 2024-09-21 23:07:24
* Update:: import { IPreConfigSettings } to '@mikezimm/fps-core-v7/lib/common/PropPaneHelp/preconfig/IPreConfig;'
* Update:: import { IFPSCert } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/IFPSCert;'
*/
import { PivotItem } from '@fluentui/react/lib/Pivot';
// import { Icon } from '@fluentui/react/lib/Icon';
import * as React from 'react';
import { createLink, FPSYoutubeFirst5Link, FPSYoutubeGetStartedLink, FPSYoutubeHelpLink, TeamsIcon, } from '../../../components/atoms/Links/CreateLinks';
import { devDocsPnpListFormat, devDocsPowerPlatform, devDocsSPORoadmap, JSONEditor } from '../../../components/atoms/Links/LinksDevDocs';
import { Check4, check4This } from '@mikezimm/fps-core-v7/lib/logic/Links/CheckSearch';
export function minmizeSitesLink(link) {
link = link.replace('/sites/', '').replace('.aspx', '');
return link;
}
/**
* Inspired by https://github.com/mikezimm/pivottiles7/issues/375 - Basic Help Page
* All urls for this page are configured in the fpsCert's forced props
* Each tenant can have it's own set of links but it's recommended to use the defaults found here
* src\banner\features\Misc\fpsDefaults.ts
* export const DefaultHelpSite: string = `/sites/SharePointHelp`;
* export const DefaultGetStarted: string = `${DefaultHelpSite}/SitePages/GettingStarted`;
* export const DefaultTop5: string = `${DefaultGetStarted}Top5`;
* export const DefaultPolicies: string = `${DefaultGetStarted}Policies`;
*
* @param fpsCert
* @param logo
* @param headerText
* @returns
*/
export function TenantHelpInfo(fpsCert, webUrl, bannerProps, logo = 'Education', headerText = undefined) {
const { _tenantHelpUrl, _tenanatFirst5, _tenantGetStartedUrl, _tenantPolicies, _youtubeChannel, _youtubeFirst5, _youtubeHelp, _youtubeGetStarted, _preConfigClassTest } = bannerProps.tenantHelp;
const InLineFlexLinkStyle = { gap: '.5em', paddingTop: '5px' };
const forced = fpsCert.forced;
if (check4This(Check4.testingLog_Eq_true) === true) {
console.log(`${Check4.testingLog_Eq_true} TenantHelpInfo ~ 40`, forced, bannerProps.tenantHelp);
}
const AdditionalElements = [
React.createElement("div", null,
React.createElement("h3", null, "Additional Recommended steps"),
!_tenantGetStartedUrl ? undefined :
React.createElement("div", { className: 'fps-flex-align', style: { gap: '.5em' } },
"Company Next Steps: ",
createLink(_tenantGetStartedUrl, '_blank', `${minmizeSitesLink(_tenantGetStartedUrl)}`)),
_youtubeGetStarted ? FPSYoutubeGetStartedLink : undefined)
];
AdditionalElements.push(React.createElement("div", null,
React.createElement("h3", null, "Your SharePoint Help resources"),
React.createElement("div", null, "Find out more about SharePoint at our help site here:"),
_tenantHelpUrl ? React.createElement("div", { className: 'fps-flex-align', style: InLineFlexLinkStyle },
"Company Site: ",
createLink(_tenantHelpUrl, '_blank', `${minmizeSitesLink(_tenantHelpUrl)}`)) : undefined,
_youtubeHelp ? FPSYoutubeHelpLink : undefined));
if (_tenantPolicies)
AdditionalElements.push(React.createElement("div", null,
React.createElement("h3", null, "Our SharePoint Policies"),
React.createElement("div", { className: 'fps-flex-align', style: { gap: '.5em' } },
"Company Site: ",
createLink(_tenantPolicies, '_blank', `${minmizeSitesLink(_tenantPolicies)}`))));
AdditionalElements.push(React.createElement("div", null,
React.createElement("h3", null, "Power Users join forces!"),
React.createElement("div", { style: { display: 'inline-flex', gap: '1.5em' } },
devDocsPnpListFormat,
devDocsPowerPlatform,
devDocsSPORoadmap,
JSONEditor)));
// Added this to get responsive grid once it is wide enough
const responsiveStyle = `
@media (min-width: 980px) {
.tenHelpGridX {
grid-template-columns: auto auto;
}
}
`;
const ConstGetStarted = React.createElement("div", null,
React.createElement("div", { className: 'fps-pph-topic' }, "Welcome to your SharePoint Site!"),
React.createElement("div", null,
React.createElement("div", null,
React.createElement("h3", null, "Get your site off to a good start with these first steps"),
React.createElement("ol", { className: 'fps-list-pad' },
React.createElement("li", null,
React.createElement("b", null, "Change:\u00A0\u00A0"),
" SiteGear > SitePermissions > Advanced Permissions > ",
React.createElement("b", null, createLink(`${webUrl}/_layouts/15/user.aspx`, '_blank', 'Change Members group to Contribute instead of Edit'))),
React.createElement("li", null,
React.createElement("b", null, "Change:\u00A0\u00A0"),
" SiteGear > SitePermissions > Change How Members Share > ",
React.createElement("b", null, "Only site owners can share files")),
React.createElement("li", null,
React.createElement("b", null, "Add:\u00A0\u00A0"),
" SiteGear > Change the look > Header > ",
React.createElement("b", null, "Add Site logo thumbnail AND Site logo")),
React.createElement("li", null,
React.createElement("b", null, "Join:\u00A0\u00A0"),
" SiteGear > Site Information > Hub site association > ",
React.createElement("b", null, "Find and Join a relavant Hub site")),
React.createElement("li", null,
React.createElement("b", null, "Verify:\u00A0\u00A0"),
" Your Site Timezone: ",
createLink(`${webUrl}/_layouts/15/regionalsetng.aspx`, '_blank', 'Click here'),
" "),
React.createElement("li", null,
React.createElement("b", null, "Add:\u00A0\u00A0"),
" to your ",
TeamsIcon,
" by going to ",
TeamsIcon,
" > Add a SharePoint Tab > Add SharePoint Site > ",
React.createElement("b", null, "Paste in the link to your new site")),
React.createElement("li", null,
React.createElement("b", null, "Bookmark:\u00A0\u00A0"),
" Press the Star to bookmark your site!")),
!_tenanatFirst5 ? undefined :
React.createElement("div", { className: 'fps-flex-align', style: InLineFlexLinkStyle },
"Company Get Started: ",
createLink(_tenanatFirst5, '_blank', `${minmizeSitesLink(_tenanatFirst5)}`))
// <div onClick ={ () => window.open( tenanatFirst5, '_blank' ) }>{ `Company Get Started: ${tenanatFirst5}`} </div>
,
_youtubeFirst5 ? React.createElement("div", { className: 'fps-flex-align', style: InLineFlexLinkStyle },
"Walk me through it on ",
FPSYoutubeFirst5Link) : undefined),
React.createElement("style", null, responsiveStyle),
React.createElement("div", { className: 'tenHelpGridX', style: { display: 'grid', columnGap: '3em', rowGap: '1em' } }, AdditionalElements)));
const preSetsContent = React.createElement("div", { className: 'fps-pph-content', style: { display: 'flex' } }, ConstGetStarted);
const returnPivot = React.createElement(PivotItem, { headerText: headerText, itemIcon: logo }, preSetsContent);
return returnPivot;
}
//# sourceMappingURL=TenantHelpInfo.js.map