@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
77 lines (76 loc) • 4.75 kB
JavaScript
/**
* 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