UNPKG

@mikezimm/fps-library-v2

Version:

Library of reusable typescript/javascript functions, interfaces and constants

114 lines (112 loc) 7.81 kB
/** * CodeAnalizerComment: Updated 2 imports on 2024-09-22 14:49:52 * Update:: import { TeamsLogo } to '@mikezimm/fps-core-v7/lib/components/atoms/SVGIcons/TeamsLogo;' * Update:: import { IMinWPVisitorPanelInfo } to '@mikezimm/fps-core-v7/lib/banner/components/VisitorPanel/Interfaces;' */ /** * CodeAnalizerComment: Updated 3 imports on 2024-09-21 23:07:24 * Update:: import { IRepoLinks } to '@mikezimm/fps-core-v7/lib/components/atoms/Links/IRepoLinks;' * Update:: import { IMinWPVisitorPanelInfo } to '@mikezimm/fps-core-v7/lib/banner/components/VisitorPanel/Interfaces;' * Update:: import { check4This } to '@mikezimm/fps-core-v7/lib/logic/Links/CheckSearch;' */ import * as React from 'react'; import { TeamsLogo } from '@mikezimm/fps-core-v7/lib/components/atoms/SVGIcons/TeamsLogo'; import { check4This, Check4 } from '@mikezimm/fps-core-v7/lib/logic/Links/CheckSearch'; /*** * db db d888888b .d8888. d888888b d888888b .d88b. d8888b. d8888b. .d8b. d8b db d88888b db d888888b d8b db d88888b .d88b. * 88 88 `88' 88' YP `88' `~~88~~' .8P Y8. 88 `8D 88 `8D d8' `8b 888o 88 88' 88 `88' 888o 88 88' .8P Y8. * Y8 8P 88 `8bo. 88 88 88 88 88oobY' 88oodD' 88ooo88 88V8o 88 88ooooo 88 88 88V8o 88 88ooo 88 88 * `8b d8' 88 `Y8b. 88 88 88 88 88`8b 88~~~ 88~~~88 88 V8o88 88~~~~~ 88 88 88 V8o88 88~~~ 88 88 * `8bd8' .88. db 8D .88. 88 `8b d8' 88 `88. 88 88 88 88 V888 88. 88booo. .88. 88 V888 88 `8b d8' * YP Y888888P `8888Y' Y888888P YP `Y88P' 88 YD 88 YP YP VP V8P Y88888P Y88888P Y888888P VP V8P YP `Y88P' * * */ // export function visitorPanelInfo( wpProps: IMinWPVisitorPanelInfo, performance: ILoadPerformanceALVFM ) { export function visitorPanelInfo(wpProps, repoLinks, bodyText, fromText, loadSummary, debugText) { const { bannerTitle, documentationLinkDesc, documentationLinkUrl, supportContacts, panelMessageDescription1, panelMessageSupport, panelMessageDocumentation, panelMessageIfYouStill, } = wpProps; if (!bodyText) bodyText = 'Add your question or comment here: '; if (!fromText) fromText = 'SharePoint Support Team'; if (check4This(Check4.fpsInitRender_Eq_true) === true) console.log('visitorPanelInfo - wpProps', wpProps); // text-decoration: underline; const headingStyles = { fontSize: 'larger', paddingTop: '25px', fontWeight: 'bold' }; const subHeadingStyles = { fontSize: 'normal', paddingLeft: '20px' }; const subHeadingStylesAround = { fontSize: 'normal', padding: '16px 20px 0px 20px' }; const contactStyles = { fontSize: 'normal', padding: '16px 20px 0px 20px' }; const Description1 = !panelMessageDescription1 ? null : React.createElement("div", { style: subHeadingStyles }, panelMessageDescription1); const Support = !panelMessageSupport ? null : React.createElement("div", { style: subHeadingStylesAround }, panelMessageSupport); const DocumentationMessage = !panelMessageDocumentation ? null : React.createElement("div", { style: subHeadingStylesAround }, panelMessageDocumentation); const cardStyles = { display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'center', padding: '5px', }; const lbreak = '%0D%0A'; const contactList = !supportContacts ? [] : supportContacts.map(contact => { let pageName = window.location.pathname.substring(window.location.pathname.lastIndexOf("/") + 1); let mailTemplate = `mailto:${contact.Email}`; mailTemplate += `?subject=${repoLinks.desc} Webpart Question or Issue on PAGE: ${pageName}`; mailTemplate += `&body=${bodyText} ${lbreak}${lbreak}${lbreak}`; mailTemplate += `Page Name: ${pageName}${lbreak}${lbreak}`; mailTemplate += `Link to page:${lbreak}${window.location.href}${lbreak}${lbreak}`; mailTemplate += `Best Regards, ${lbreak}${lbreak}`; mailTemplate += `${fromText}`; //Fix: https://github.com/mikezimm/ALVFinMan/issues/141 const imageUrl = !contact.imageUrl || (contact.Email && contact.Email.indexOf('.teams.ms') > -1) ? TeamsLogo : contact.imageUrl; return React.createElement("div", { style: cardStyles }, React.createElement("img", { src: imageUrl, alt: `Picture of ${contact.Title}`, width: 30, height: 30, style: { borderRadius: '50%' } }), React.createElement("a", { style: { paddingLeft: '20px', paddingRight: '20px' }, href: mailTemplate }, "Email"), React.createElement("div", { style: { paddingLeft: '20px', paddingRight: '20px' } }, contact.Title)); }); const ContactInfo = contactList.length === 0 ? null : React.createElement("div", { style: contactStyles }, contactList); let validLink = documentationLinkUrl && documentationLinkUrl.length > 0 && (documentationLinkUrl.indexOf('./') === 0 || documentationLinkUrl.indexOf('../') === 0 || documentationLinkUrl.indexOf('/sites') === 0 || documentationLinkUrl.indexOf(window.origin) === 0) ? '' : 'Please Verify Link :('; const docsLink = !documentationLinkUrl ? null : React.createElement("div", { style: contactStyles }, React.createElement("span", { onClick: () => onLinkClick(documentationLinkUrl), style: { color: 'blue', cursor: 'pointer', paddingRight: '30px' }, title: documentationLinkUrl }, documentationLinkDesc), React.createElement("span", null, validLink)); // const loadSummary = createPerformanceTableVisitor( performance ); /*** * d8888b. d88888b d888888b db db d8888b. d8b db * 88 `8D 88' `~~88~~' 88 88 88 `8D 888o 88 * 88oobY' 88ooooo 88 88 88 88oobY' 88V8o 88 * 88`8b 88~~~~~ 88 8 88 88`8b 88 V8o88 * 88 `88. 88. 88 88b d88 88 `88. 88 V888 * 88 YD Y88888P YP ~Y8888P' 88 YD VP V8P * * */ let panelMessageIfYouStillContent = panelMessageIfYouStill ? panelMessageIfYouStill : ' - please contact the owner of this webpart before submitting an incident.'; return (React.createElement("div", { style: { fontSize: 'larger' } }, React.createElement("h2", null, `Support information for: ${bannerTitle ? bannerTitle : 'This web part'}`), Description1, React.createElement("div", { style: headingStyles }, "If the webpart displays a warning"), React.createElement("div", { style: subHeadingStyles }, " - please notify someone listed below in the contacts section"), React.createElement("div", { style: headingStyles }, "Before asking for additional support"), React.createElement("div", { style: subHeadingStyles }, " - please review our support documentation"), Support, DocumentationMessage, docsLink, React.createElement("div", { style: headingStyles }, "If you still have issues..."), React.createElement("div", { style: subHeadingStyles }, panelMessageIfYouStillContent, " "), React.createElement("div", { style: headingStyles }, "Contact(s) for primary support or issues"), React.createElement("div", null, ContactInfo), debugText ? React.createElement("div", null, debugText) : undefined, React.createElement("div", null, loadSummary))); } function onLinkClick(gotoLink) { window.open(gotoLink, '_none'); } //# sourceMappingURL=VisitorPanelComponent.js.map