UNPKG

@mikezimm/fps-library-v2

Version:

Library of reusable typescript/javascript functions, interfaces and constants

77 lines (76 loc) 4.75 kB
/** * CodeAnalizerComment: Updated 4 imports on 2024-09-21 23:07:24 * Update:: import { FPSDefaultYoutubeUrl } to '@mikezimm/fps-core-v7/lib/components/atoms/Links/CommonDevUrls;' * Update:: import { FPSYoutubeFirst5Url } to '@mikezimm/fps-core-v7/lib/components/atoms/Links/CommonDevUrls;' * Update:: import { FPSYoutubeGetStartedUrl } to '@mikezimm/fps-core-v7/lib/components/atoms/Links/CommonDevUrls;' * Update:: import { IRepoLinks } to '@mikezimm/fps-core-v7/lib/components/atoms/Links/IRepoLinks;' */ import * as React from 'react'; import { Icon, } from '@fluentui/react/lib/Icon'; import { Link, } from '@fluentui/react/lib/Link'; import { FPSDefaultYoutubeUrl, FPSYoutubeFirst5Url, FPSYoutubeGetStartedUrl } from '@mikezimm/fps-core-v7/lib/components/atoms/Links/CommonDevUrls'; export function createRepoLinks(href, target, linkDesc, style = 'legacy', cCode) { let gitHubLinkDesc = `${linkDesc} on Github`; let gitHubIssuesLinkDesc = `${style === 'legacy' ? linkDesc : ''} Issues`; let gitHubWikiLinkDesc = `${style === 'legacy' ? linkDesc : ''} Wiki`; let gitHubProjLinkDesc = `${style === 'legacy' ? linkDesc : ''} Projects`; const RepoLinkStyle = { marginRight: '1em' }; let repoLinks = { repo: createLink(href, target, gitHubLinkDesc, RepoLinkStyle), issues: createLink(href + '/issues', target, gitHubIssuesLinkDesc, RepoLinkStyle), wiki: createLink(href + '/wiki', target, gitHubWikiLinkDesc, RepoLinkStyle), projects: createLink(href + '/projects', target, gitHubProjLinkDesc, RepoLinkStyle), href: href, target: target, desc: linkDesc, cCode: cCode, }; return repoLinks; } export function createLink(href, target, linkDesc, styles, keytipProps) { if (target === '_blank') { // Added this to force opening in new tab with SPO links return (React.createElement(Link, { href: ``, target: target, style: styles, keytipProps: keytipProps, onClick: () => openThisLinkInNewTab(href) }, linkDesc)); } else { return (React.createElement(Link, { href: href, target: target, style: styles, keytipProps: keytipProps }, linkDesc)); } } export function createSpanLink(url, desc, title = '', size = '') { let linkStyle = { cursor: 'pointer', color: '#1a0dab', fontSize: size !== null ? size : 'normal' }; const thisLink = React.createElement("span", { style: linkStyle, onClick: () => openThisLinkInNewTab(url), title: title !== null ? title : desc }, desc); return thisLink; } const BasicIconStyles = { padding: '0px 5px' }; const BasicIconLargeStyles = { fontSize: 'large', padding: '0px 5px' }; export const YoutubeIcon = React.createElement(Icon, { iconName: 'MSNVideos', style: BasicIconStyles }); export const TeamsIcon = React.createElement(Icon, { iconName: 'TeamsLogo', style: BasicIconStyles }); export const YoutubeIconLarge = React.createElement(Icon, { iconName: 'MSNVideos', style: BasicIconLargeStyles }); export const TeamsIconLarge = React.createElement(Icon, { iconName: 'TeamsLogo', style: BasicIconLargeStyles }); // export const FPSYoutubeHelpLink: JSX.Element = <div className= { `fps-gen-goToLink` } onClick={ () => window.open( FPSDefaultYoutubeUrl, '_blank' )}> // FP Youtube { YoutubeIcon } // </div>; // export const FPSYoutubeFirst5Link: JSX.Element = <div className= { `fps-gen-goToLink` } onClick={ () => window.open( FPSYoutubeFirst5Url, '_blank' )}> // First 5 on FP Youtube { YoutubeIcon } // </div>; // export const FPSYoutubeGetStartedLink: JSX.Element = <div className= { `fps-gen-goToLink` } onClick={ () => window.open( FPSYoutubeGetStartedUrl, '_blank' )}> // Get Started on FP Youtube { YoutubeIcon } // </div>; export const FPSYoutubeHelpLink = createLink(FPSDefaultYoutubeUrl, '_blank', React.createElement("div", { className: 'fps-flex-align' }, "FP Youtube ", YoutubeIconLarge)); export const FPSYoutubeFirst5Link = createLink(FPSYoutubeFirst5Url, '_blank', React.createElement("div", { className: 'fps-flex-align' }, "First 5 on FP Youtube ", YoutubeIconLarge)); export const FPSYoutubeGetStartedLink = createLink(FPSYoutubeGetStartedUrl, '_blank', React.createElement("div", { className: 'fps-flex-align' }, "Get Started on FP Youtube ", YoutubeIconLarge)); export function openThisLinkInNewTab(input) { const link = typeof input === 'string' ? input : input && input.target && input.target.value ? input.target.value : ''; if (link) { window.open(link, '_blank'); } else { console.log('openThisLinkInNewTab: Function was called but there was no link... input=', input); } } //# sourceMappingURL=CreateLinks.js.map