{ "version": 3, "sources": ["src/app/services/seo.service.ts", "src/app/services/app-context.ts"], "sourcesContent": ["import { inject, Injectable } from '@angular/core'\nimport { Meta, Title } from '@angular/platform-browser'\nimport { DOCUMENT } from '@angular/common'\n\nexport interface SeoSocialShareData {\n title?: string\n keywords?: string\n description?: string\n image?: string\n imageAuxData?: ImageAuxData\n url?: string\n type?: string\n author?: string\n section?: string\n published?: string\n modified?: string\n}\n\nexport interface ImageAuxData {\n width?: number\n height?: number\n secureUrl?: string\n mimeType?: string\n alt?: string\n}\nexport enum NgxSeoMetaTagAttr {\n name = 'name',\n property = 'property',\n}\n\nexport interface NgxSeoMetaTag {\n attr: NgxSeoMetaTagAttr\n attrValue: string\n value?: string\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SeoSocialShareService {\n private readonly metaService = inject(Meta)\n private readonly titleService = inject(Title)\n private readonly document = inject(DOCUMENT)\n\n public setData(data: SeoSocialShareData): void {\n this.setSection(data.section)\n this.setKeywords(data.keywords)\n this.setTitle(data.title)\n this.setType(data.type)\n this.setDescription(data.description)\n this.setImage(data.image, data.imageAuxData)\n this.setUrl(data.url)\n this.setPublished(data.published)\n this.setModified(data.modified)\n this.setAuthor(data.author)\n }\n\n public setKeywords(keywords?: string): void {\n if (keywords) {\n this.metaService.updateTag({ name: 'keywords', content: keywords })\n } else {\n this.metaService.removeTag(`name='keywords'`)\n }\n }\n\n public setSection(section?: string): void {\n if (section) {\n this.metaService.updateTag({ name: 'article:section', content: section })\n } else {\n this.metaService.removeTag(`name='article:section'`)\n }\n }\n\n public setTitle(title: string = ''): void {\n this.titleService.setTitle(title)\n if (title && title.length) {\n this.metaService.updateTag({ name: 'twitter:title', content: title })\n this.metaService.updateTag({ name: 'twitter:image:alt', content: title })\n this.metaService.updateTag({ property: 'og:image:alt', content: title })\n this.metaService.updateTag({ property: 'og:title', content: title })\n this.metaService.updateTag({ name: 'title', content: title })\n this.metaService.updateTag({ itemprop: 'name', content: title }, `itemprop='name'`)\n } else {\n this.metaService.removeTag(`name='twitter:title'`)\n this.metaService.removeTag(`name='twitter:image:alt'`)\n this.metaService.removeTag(`property='og:image:alt'`)\n this.metaService.removeTag(`property='og:title'`)\n this.metaService.removeTag(`name='title'`)\n this.metaService.removeTag(`itemprop='name'`)\n }\n }\n\n public setType(type?: string): void {\n if (type && type.length) {\n this.metaService.updateTag({ property: 'og:type', content: type })\n } else {\n this.metaService.removeTag(`property='og:type'`)\n }\n }\n\n public setDescription(description?: string): void {\n if (description && description.length) {\n this.metaService.updateTag({ name: 'twitter:description', content: description })\n this.metaService.updateTag({ property: 'og:description', content: description })\n this.metaService.updateTag({ name: 'description', content: description })\n this.metaService.updateTag({ itemprop: 'description', content: description }, `itemprop='description'`)\n } else {\n this.metaService.removeTag(`name='twitter:description'`)\n this.metaService.removeTag(`property='og:description'`)\n this.metaService.removeTag(`name='description'`)\n this.metaService.removeTag(`itemprop='description'`)\n }\n }\n\n public setImage(image?: string, auxData?: ImageAuxData): void {\n if (image && image.length) {\n this.metaService.updateTag({ name: 'twitter:image', content: image })\n this.metaService.updateTag({ itemprop: 'image', content: image }, `itemprop='image'`)\n this.metaService.updateTag({ property: 'og:image', content: image })\n\n if (auxData && auxData.height) {\n this.metaService.updateTag({ property: 'og:image:height', content: auxData.height.toString() })\n } else {\n this.metaService.removeTag(`property='og:image:height'`)\n }\n\n if (auxData && auxData.width) {\n this.metaService.updateTag({ property: 'og:image:width', content: auxData.width.toString() })\n } else {\n this.metaService.removeTag(`property='og:image:width'`)\n }\n\n if (auxData && auxData.alt) {\n this.metaService.updateTag({ property: 'og:image:alt', content: auxData.alt })\n this.metaService.updateTag({ property: 'twitter:image:alt', content: auxData.alt })\n } else {\n this.metaService.removeTag(`property='og:image:alt'`)\n this.metaService.removeTag(`property='twitter:image:alt'`)\n }\n\n if (auxData && auxData.mimeType) {\n this.metaService.updateTag({ property: 'og:image:type', content: auxData.mimeType })\n } else {\n this.metaService.removeTag(`property='og:image:type'`)\n }\n\n if (auxData && auxData.secureUrl) {\n this.metaService.updateTag({ property: 'og:image:secure_url', content: auxData.secureUrl })\n } else {\n this.metaService.removeTag(`property='og:image:secure_url'`)\n }\n } else {\n this.metaService.removeTag(`name='twitter:image'`)\n this.metaService.removeTag(`property='twitter:image:alt'`)\n this.metaService.removeTag(`property='og:image'`)\n this.metaService.removeTag(`property='og:image:height'`)\n this.metaService.removeTag(`property='og:image:secure_url'`)\n this.metaService.removeTag(`property='og:image:type'`)\n this.metaService.removeTag(`property='og:image:alt'`)\n this.metaService.removeTag(`property='og:image:width'`)\n this.metaService.removeTag(`itemprop='image'`)\n }\n }\n\n public setUrl(url?: string): void {\n if (url && url.length) {\n this.metaService.updateTag({ property: 'og:url', content: url })\n } else {\n this.metaService.removeTag(`property='og:url'`)\n }\n this.setCanonicalUrl(url)\n }\n\n public setPublished(publishedDateString?: string): void {\n if (publishedDateString) {\n const publishedDate = new Date(publishedDateString)\n this.metaService.updateTag({ name: 'article:published_time', content: publishedDate.toISOString() })\n this.metaService.updateTag({ name: 'published_date', content: publishedDate.toISOString() })\n } else {\n this.metaService.removeTag(`name='article:published_time'`)\n this.metaService.removeTag(`name='publication_date'`)\n }\n }\n\n public setModified(modifiedDateString?: string): void {\n if (modifiedDateString) {\n const modifiedDate = new Date(modifiedDateString)\n this.metaService.updateTag({ name: 'article:modified_time', content: modifiedDate.toISOString() })\n this.metaService.updateTag({ name: 'og:updated_time', content: modifiedDate.toISOString() })\n } else {\n this.metaService.removeTag(`name='article:modified_time'`)\n this.metaService.removeTag(`name='og:updated_time'`)\n }\n }\n\n public setAuthor(author?: string): void {\n if (author && author.length) {\n this.metaService.updateTag({ name: 'article:author', content: author })\n this.metaService.updateTag({ name: 'author', content: author })\n } else {\n this.metaService.removeTag(`name='article:author'`)\n this.metaService.removeTag(`name='author'`)\n }\n }\n\n public setTwitterSiteCreator(site?: string): void {\n if (site) {\n this.metaService.updateTag({ name: 'twitter:site', content: site })\n this.metaService.updateTag({ name: 'twitter:creator', content: site })\n } else {\n this.metaService.removeTag(`name='twitter:site'`)\n this.metaService.removeTag(`name='twitter:creator'`)\n }\n }\n\n public setTwitterCard(card?: string): void {\n if (card) {\n this.metaService.updateTag({ name: 'twitter:card', content: card })\n } else {\n this.metaService.removeTag(`name='twitter:card'`)\n }\n }\n\n public setFbAppId(appId?: string): void {\n if (appId) {\n this.metaService.updateTag({ property: 'fb:app_id', content: appId })\n } else {\n this.metaService.removeTag(`property='fb:app_id'`)\n }\n }\n\n public setMetaTag(metaTag: NgxSeoMetaTag): void {\n if (metaTag.value) {\n const metaTagObject = {\n [metaTag.attr]: metaTag.attrValue,\n content: metaTag.value,\n }\n this.metaService.updateTag(metaTagObject)\n } else {\n const selector = `${metaTag.attr}='${metaTag.attrValue}'`\n this.metaService.removeTag(selector)\n }\n }\n\n public setMetaTags(metaTags: NgxSeoMetaTag[]): void {\n for (const metaTag of metaTags) {\n this.setMetaTag(metaTag)\n }\n }\n\n public setLanguageAlternativeUrl(lang: string, url?: string): void {\n // first remove potential previous url\n const selector = `link[rel='alternate'][hreflang='${lang}']`\n const languageAlternativeElement = this.document.head.querySelector(selector)\n if (languageAlternativeElement) {\n this.document.head.removeChild(languageAlternativeElement)\n }\n\n if (url && url.length) {\n const link: HTMLLinkElement = this.document.createElement('link')\n link.setAttribute('rel', 'alternate')\n link.setAttribute('hreflang', lang)\n link.setAttribute('href', url)\n this.document.head.appendChild(link)\n }\n }\n\n public setCanonicalUrl(url?: string): void {\n // first remove potential previous url\n const selector = `link[rel='canonical']`\n const canonicalElement = this.document.head.querySelector(selector)\n if (canonicalElement) {\n this.document.head.removeChild(canonicalElement)\n }\n\n if (url && url.length) {\n const link: HTMLLinkElement = this.document.createElement('link')\n link.setAttribute('rel', 'canonical')\n link.setAttribute('href', url)\n this.document.head.appendChild(link)\n }\n }\n}\n", "import { Inject, Injectable } from '@angular/core'\nimport { ApiService } from '../api/api.client'\nimport { IAppConfig } from '../api/api.models'\nimport { DOCUMENT, isPlatformServer } from '@angular/common'\nimport { SeoSocialShareService } from './seo.service'\nimport { AccountContext } from './account-context'\nexport type NavLink = { path: string; label: string }\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppContext {\n public showRecordButton!: boolean | null\n public showOrderCodeText!: boolean | null\n public orderCode!: string | null\n public LoginFooterText!: string | null\n public ResetPasswordFooterText!: string | null\n public ConfirmResetPasswordFooterText!: string | null\n public locale: string = 'uk-UA'\n private enableSeo: boolean = false\n private googleTagManagerKey?: string | null = null\n private version?: string\n private _configurations!: IAppConfig\n\n public get configurations() {\n return this._configurations\n }\n\n public get isGoogleTagManagerEnabled() {\n return !!this.googleTagManagerKey\n }\n\n public showPatientCardNavLink() {\n return this.getPatientCardLinks().length > 0\n }\n ClientName?: string\n\n public getPatientCardLinks() {\n const links: NavLink[] = []\n if (!this.configurations.HidePlannedPrerecords) {\n links.push({\n path: 'documents/prerecords',\n label: 'Заплановані візити',\n })\n }\n\n if (!this.configurations.HidePatientProtocols)\n links.push({\n path: 'documents/protocolHistory',\n label: 'Результати обÑтежень',\n })\n\n if (!this.configurations.HidePatientAnalysis)\n links.push({\n path: 'documents/analysisHistory',\n label: 'Результати аналізів',\n })\n\n if (!this.configurations.HidePatientDiscounts)\n links.push({\n path: 'documents/discounts',\n label: 'ДиÑконтні картки',\n })\n\n return links\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private seo: SeoSocialShareService\n ) {}\n\n public async load(client: ApiService, accountContext: AccountContext, platform: Object) {\n const [_, data] = await Promise.all([accountContext.get().toPromise(), client.getAppContext().toPromise()])\n this.version = data.ProductVersion\n this._configurations = data.Configurations\n this.enableSeo = data.EnableSeo\n this.ClientName = data.ClientName\n\n this.googleTagManagerKey = data.GoogleTagManagerKey\n this.showRecordButton = this._configurations.ShowRecordButton\n this.showOrderCodeText = this._configurations.ShowRecordButton\n this.orderCode = this._configurations.OrderCodeTitle\n this.LoginFooterText = this._configurations.LoginFooterText\n this.ResetPasswordFooterText = this._configurations.ResetPasswordFooterText\n\n if (isPlatformServer(platform)) {\n this.setupPage()\n }\n }\n\n private addGoogleAnalyticsTag(googleAnalyticsKey: string) {\n const ga = this.document.createElement('script')\n ga.setAttribute('async', '')\n ga.src = `https://www.googletagmanager.com/gtag/js?id=${googleAnalyticsKey}`\n ga.text = ``\n this.document.head.appendChild(ga)\n const gaScript = this.document.createElement('script')\n gaScript.text = `window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${googleAnalyticsKey}');`\n this.document.head.appendChild(gaScript)\n }\n\n private addGoogleTagManager(googleTagManagerKey: string) {\n const gtm = this.document.createElement('script')\n gtm.id = 'gtm-script'\n gtm.text = `\n ;(function (w, d, s, l, i) {\n w[l] = w[l] || []\n w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' })\n var f = d.getElementsByTagName(s)[0],\n j = d.createElement(s),\n dl = l != 'dataLayer' ? '&l=' + l : ''\n j.async = true\n j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl\n f.parentNode.insertBefore(j, f)\n })(window, document, 'script', 'dataLayer', '${googleTagManagerKey}')\n `\n this.document.head.appendChild(gtm)\n\n const gtmNoScript = this.document.createElement('noscript')\n const iframe = this.document.createElement('iframe')\n iframe.src = `https://www.googletagmanager.com/ns.html?id=${googleTagManagerKey}`\n iframe.height = '0'\n iframe.width = '0'\n iframe.style.display = 'none'\n iframe.style.visibility = 'hidden'\n gtmNoScript.appendChild(iframe)\n this.document.body.appendChild(gtmNoScript)\n }\n\n private setupPage() {\n this.seo.setKeywords(this.configurations.MetaKeywords ?? undefined)\n this.seo.setDescription(this.configurations.MetaDescription ?? undefined)\n this.seo.setTitle(this.configurations.Title ?? 'Clinica WEB Online')\n\n let colorTheme = `/${this.configurations.ColorTheme ?? 'light-blue-theme'}.css`\n\n if (this.version) {\n colorTheme += `?v=${this.version}`\n }\n const theme = this.document.createElement('link')\n theme.rel = 'stylesheet'\n theme.href = colorTheme\n this.document.head.appendChild(theme)\n\n if (this.configurations.Favicon) {\n const favicon = this.document.createElement('link')\n favicon.type = 'image/x-icon'\n favicon.rel = 'shortcut icon'\n favicon.href = this.configurations.Favicon\n this.document.head.appendChild(favicon)\n }\n\n if (this.configurations.Logo) {\n this.seo.setImage(this.configurations.Logo, {\n alt: this.configurations.Title ?? undefined,\n height: this.configurations.LogoHeight,\n width: this.configurations.LogoWidth,\n })\n }\n\n if (this.configurations.ImagesBaseUrl) {\n const favicon = this.document.createElement('link')\n favicon.rel = 'preconnect'\n favicon.href = this.configurations.ImagesBaseUrl\n this.document.head.appendChild(favicon)\n }\n\n if (!this.enableSeo) {\n const robots = this.document.createElement('meta')\n robots.name = 'robots'\n robots.content = 'noindex, nofollow'\n this.document.head.appendChild(robots)\n }\n\n if (this.configurations.GoogleAnaliticsKey) {\n this.addGoogleAnalyticsTag(this.configurations.GoogleAnaliticsKey)\n }\n\n if (this.googleTagManagerKey) {\n this.addGoogleTagManager(this.googleTagManagerKey)\n }\n }\n}\n"], "mappings": "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", "names": ["SeoSocialShareService", "constructor", "metaService", "inject", "Meta", "titleService", "Title", "document", "DOCUMENT", "setData", "data", "setSection", "section", "setKeywords", "keywords", "setTitle", "title", "setType", "type", "setDescription", "description", "setImage", "image", "imageAuxData", "setUrl", "url", "setPublished", "published", "setModified", "modified", "setAuthor", "author", "updateTag", "name", "content", "removeTag", "length", "property", "itemprop", "auxData", "height", "toString", "width", "alt", "mimeType", "secureUrl", "setCanonicalUrl", "publishedDateString", "publishedDate", "Date", "toISOString", "modifiedDateString", "modifiedDate", "setTwitterSiteCreator", "site", "setTwitterCard", "card", "setFbAppId", "appId", "setMetaTag", "metaTag", "value", "metaTagObject", "attr", "attrValue", "selector", "setMetaTags", "metaTags", "setLanguageAlternativeUrl", "lang", "languageAlternativeElement", "head", "querySelector", "removeChild", "link", "createElement", "setAttribute", "appendChild", "canonicalElement", "factory", "\u0275fac", "providedIn", "_SeoSocialShareService", "AppContext", "configurations", "_configurations", "isGoogleTagManagerEnabled", "googleTagManagerKey", "showPatientCardNavLink", "getPatientCardLinks", "length", "links", "HidePlannedPrerecords", "push", "path", "label", "HidePatientProtocols", "HidePatientAnalysis", "HidePatientDiscounts", "constructor", "document", "seo", "locale", "enableSeo", "load", "client", "accountContext", "platform", "__async", "_", "data", "Promise", "all", "get", "toPromise", "getAppContext", "version", "ProductVersion", "Configurations", "EnableSeo", "ClientName", "GoogleTagManagerKey", "showRecordButton", "ShowRecordButton", "showOrderCodeText", "orderCode", "OrderCodeTitle", "LoginFooterText", "ResetPasswordFooterText", "isPlatformServer", "setupPage", "addGoogleAnalyticsTag", "googleAnalyticsKey", "ga", "createElement", "setAttribute", "src", "text", "head", "appendChild", "gaScript", "addGoogleTagManager", "gtm", "id", "gtmNoScript", "iframe", "height", "width", "style", "display", "visibility", "body", "_a", "_b", "_c", "_d", "_e", "setKeywords", "MetaKeywords", "undefined", "setDescription", "MetaDescription", "setTitle", "Title", "colorTheme", "ColorTheme", "theme", "rel", "href", "Favicon", "favicon", "type", "Logo", "setImage", "alt", "LogoHeight", "LogoWidth", "ImagesBaseUrl", "robots", "name", "content", "GoogleAnaliticsKey", "\u0275\u0275inject", "DOCUMENT", "SeoSocialShareService", "factory", "\u0275fac", "providedIn", "_AppContext"] }