@sitecore-jss/sitecore-jss-angular 13.2.2 → 13.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitecore-jss-sitecore-jss-angular.js","sources":["ng://@sitecore-jss/sitecore-jss-angular/components/file.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/image.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/router-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/generic-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.token.ts","ng://@sitecore-jss/sitecore-jss-angular/components/raw.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rendering.ts","ng://@sitecore-jss/sitecore-jss-angular/jss-component-factory.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder-loading.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-each.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-empty.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rich-text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/layout-service-error.ts","ng://@sitecore-jss/sitecore-jss-angular/layout.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/date.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/missing-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/lib.module.ts","ng://@sitecore-jss/sitecore-jss-angular/sitecore-jss-sitecore-jss-angular.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { FileField } from './rendering-field';\r\n\r\n/**\r\n * File fields cannot be managed via the EE. We never output \"editable.\"\r\n */\r\n@Directive({ selector: '[scFile]' })\r\nexport class FileDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['field']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.value && !field.src)) {\r\n return;\r\n }\r\n\r\n const file = field.src ? field : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.href = file.src;\r\n if (node.innerHTML === '') {\r\n node.innerHTML = file.title || file.displayName;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { mediaApi } from '@sitecore-jss/sitecore-jss';\r\nimport { ImageField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scImage]' })\r\nexport class ImageDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImage') field: ImageField | '';\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageAttrs') attrs = {};\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['urlParams'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const overrideAttrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n const media = this.field;\r\n\r\n if (!media || (!media.editable && !media.value && !media.src)) {\r\n return;\r\n }\r\n\r\n let attrs: any = {};\r\n\r\n // we likely have an experience editor value, should be a string\r\n if (this.editable && media.editable) {\r\n const foundImg = mediaApi.findEditorImageTag(media.editable);\r\n if (!foundImg) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);\r\n if (!attrs) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n const tempImg: HTMLImageElement = this.renderer.createElement('img');\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n tempImg.setAttribute(key, attrValue)\r\n );\r\n const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);\r\n return this.renderInlineWrapper(editableMarkup);\r\n }\r\n\r\n // some wise-guy/gal is passing in a 'raw' image object value\r\n const img = media.src ? media : media.value;\r\n if (!img) {\r\n return null;\r\n }\r\n\r\n attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);\r\n if (attrs) {\r\n this.renderTemplate(attrs);\r\n }\r\n }\r\n\r\n private getImageAttrs(fieldAttrs: any, parsedAttrs: any, imageParams: any): any {\r\n const combinedAttrs = {\r\n ...fieldAttrs,\r\n ...parsedAttrs,\r\n };\r\n // tslint:disable-next-line:prefer-const\r\n let { src, srcSet, ...otherAttrs } = combinedAttrs;\r\n if (!src) {\r\n return null;\r\n }\r\n const newAttrs = {\r\n ...otherAttrs,\r\n };\r\n // update image URL for jss handler and image rendering params\r\n src = mediaApi.updateImageUrl(src, imageParams);\r\n if (srcSet) {\r\n // replace with HTML-formatted srcset, including updated image URLs\r\n newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams);\r\n } else {\r\n newAttrs.src = src;\r\n }\r\n return newAttrs;\r\n }\r\n\r\n private renderTemplate(imageProps: any) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(imageProps).forEach(([key, imgPropVal]: [string, any]) => this.renderer.setAttribute(node, key, imgPropVal));\r\n });\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n\r\n private renderInlineWrapper(editable: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-image-wrapper';\r\n span.innerHTML = editable;\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scLink]' })\r\nexport class LinkDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLink') field: LinkField;\r\n\r\n constructor(\r\n protected viewContainer: ViewContainerRef,\r\n protected templateRef: TemplateRef<any>,\r\n protected renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (this.editable && field && field.editableFirstPart && field.editableLastPart) {\r\n this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);\r\n } else if (field && (field.href || field.value)) {\r\n const props = field.href ? field : field.value;\r\n const linkText = field.text || field.value.text || field.href || field.value.href;\r\n const mergedAttrs = { ...props, ...this.attrs };\r\n this.renderTemplate(mergedAttrs, linkText);\r\n }\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => \r\n this.renderer.setAttribute(node, key, propValue)\r\n )\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private renderInlineWrapper(editableFirstPart: string, editableLastPart: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-link-wrapper';\r\n span.innerHTML = editableFirstPart + editableLastPart;\r\n\r\n // assign attributes from template to inline wrapper\r\n const attrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) => \r\n this.renderer.setAttribute(span, key, attrValue)\r\n );\r\n\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scRouterLink]' })\r\nexport class RouterLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLink') field: LinkField;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n this.renderer.setAttribute(node, key, propValue);\r\n\r\n if (key === 'href') {\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue]);\r\n event.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scGenericLink]' })\r\nexport class GenericLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkExtras') extras?: NavigationExtras;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href' && !this.isAbsoluteUrl(propValue)) {\r\n const urlTree = this.router.createUrlTree([propValue], this.extras);\r\n this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue], this.extras);\r\n event.preventDefault();\r\n });\r\n } else {\r\n this.renderer.setAttribute(node, key, propValue);\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private isAbsoluteUrl(url?: string) {\r\n if (url == null) {\r\n return false;\r\n }\r\n if (typeof url !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n\r\n return /^[a-z][a-z0-9+.-]*:/.test(url);\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\n\r\n/** Registers a statically loaded component */\r\nexport class ComponentNameAndType {\r\n name: string;\r\n type: Type<any>;\r\n}\r\n\r\n/** Registers a lazily loaded component by name and module to lazy load when it's needed */\r\nexport interface ComponentNameAndModule {\r\n /** Name of the component */\r\n path: string;\r\n /**\r\n * Dynamic import of the component,\r\n * e.g. () => import('./path/to/lazyloadedcomponent.module').then(m => m.LazyLoadedComponentModuleExportName)\r\n */\r\n loadChildren: () => Promise<any>;\r\n}\r\n\r\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\r\n\r\nexport function instanceOfComponentNameAndModule(object: any): object is ComponentNameAndModule {\r\n return 'module' in object;\r\n}\r\n\r\nexport const PLACEHOLDER_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.components');\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.lazyComponents');\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>('Sc.placeholder.missingComponentComponent');\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | {[s: string]: any}> ('Sc.placeholder.dynamicComponent');\r\n","import { Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n@Component({\r\n selector: 'sc-raw',\r\n template: ``,\r\n})\r\nexport class RawComponent implements OnInit {\r\n @Input() rendering: HtmlElementRendering;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n const el = this.renderer.createElement(this.rendering.name);\r\n const contents = this.renderer.createText(this.rendering.contents || '');\r\n const attributes = this.rendering.attributes;\r\n for (const attr in attributes) {\r\n if ((attributes as any).hasOwnProperty(attr)) {\r\n const value = attributes[attr];\r\n this.renderer.setAttribute(el, attr, value || '');\r\n }\r\n }\r\n\r\n this.renderer.appendChild(el, contents);\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n }\r\n}\r\n","import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport function isRawRendering(rendering: HtmlElementRendering | ComponentRendering): rendering is HtmlElementRendering {\r\n return !(rendering as ComponentRendering).componentName && (rendering as HtmlElementRendering).name !== undefined;\r\n}\r\n","import {\r\n ComponentFactory,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n Type\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { isRawRendering } from './components/rendering';\r\n\r\nexport interface ComponentFactoryResult {\r\n componentImplementation?: Type<any>;\r\n componentDefinition: ComponentRendering | HtmlElementRendering;\r\n componentFactory?: ComponentFactory<any>;\r\n}\r\n\r\n@Injectable()\r\nexport class JssComponentFactoryService {\r\n private componentMap: Map<string, Type<any>>;\r\n private lazyComponentMap: Map<string, ComponentNameAndModule>;\r\n\r\n constructor(\r\n private injector: Injector,\r\n @Inject(PLACEHOLDER_COMPONENTS) private components: ComponentNameAndType[],\r\n @Inject(PLACEHOLDER_LAZY_COMPONENTS) private lazyComponents: ComponentNameAndModule[]\r\n ) {\r\n this.componentMap = new Map();\r\n this.lazyComponentMap = new Map();\r\n\r\n this.components.forEach((c) => this.componentMap.set(c.name, c.type));\r\n\r\n if (this.lazyComponents) {\r\n this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));\r\n }\r\n }\r\n\r\n getComponent(component: ComponentRendering): Promise<ComponentFactoryResult> {\r\n const loadedComponent = this.componentMap.get(component.componentName);\r\n\r\n if (loadedComponent) {\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n componentImplementation: this.componentMap.get(component.componentName),\r\n });\r\n }\r\n\r\n const lazyComponent = this.lazyComponentMap.get(component.componentName);\r\n\r\n if (lazyComponent) {\r\n return lazyComponent.loadChildren()\r\n .then((ngModuleFactory) => {\r\n let componentType = null;\r\n const moduleRef = ngModuleFactory.create(this.injector);\r\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);\r\n if (!dynamicComponentType) {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n\r\n if (component.componentName in dynamicComponentType) {\r\n componentType = (dynamicComponentType as {[s: string]: any})[component.componentName];\r\n } else {\r\n if (typeof dynamicComponentType === 'function') {\r\n componentType = dynamicComponentType;\r\n } else {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n }\r\n\r\n return {\r\n componentDefinition: component,\r\n componentImplementation: componentType,\r\n componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),\r\n };\r\n });\r\n }\r\n\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n });\r\n }\r\n\r\n getComponents(components: Array<ComponentRendering | HtmlElementRendering>): Promise<ComponentFactoryResult[]> {\r\n // acquire all components and keep them in order while handling their potential async-ness\r\n return Promise.all(\r\n components.map((component) => isRawRendering(component)\r\n ? this.getRawComponent(component)\r\n : this.getComponent(component))\r\n );\r\n }\r\n\r\n private getRawComponent(component: HtmlElementRendering): Promise<ComponentFactoryResult> {\r\n return Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: component,\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scPlaceholderLoading]',\r\n})\r\nexport class PlaceholderLoadingDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEach]',\r\n})\r\nexport class RenderEachDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport {\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './placeholder.token';\r\nimport { RenderEachDirective } from './render-each.directive';\r\nimport { RenderEmptyDirective } from './render-empty.directive';\r\nimport { isRawRendering } from './rendering';\r\n\r\nfunction getPlaceholder(rendering: ComponentRendering, name: string) {\r\n if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {\r\n return rendering.placeholders[name];\r\n }\r\n return null;\r\n}\r\n\r\n@Component({\r\n selector: 'sc-placeholder,[sc-placeholder]',\r\n template: `\r\n <ng-template *ngIf=\"isLoading\" [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"></ng-template>\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class PlaceholderComponent implements OnInit, OnChanges, DoCheck, OnDestroy {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private _componentInstances: any[] = [];\r\n private destroyed = false;\r\n private parentStyleAttribute: string = '';\r\n public isLoading = true;\r\n\r\n @Input() name?: string;\r\n @Input() rendering: ComponentRendering;\r\n @Input() renderings?: Array<ComponentRendering | HtmlElementRendering>;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n\r\n @Output()\r\n loaded = new EventEmitter<string | undefined>();\r\n\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n @ContentChild(RenderEachDirective, { static: true }) renderEachTemplate: RenderEachDirective;\r\n @ContentChild(RenderEmptyDirective, { static: true }) renderEmptyTemplate: RenderEmptyDirective;\r\n @ContentChild(PlaceholderLoadingDirective, { static: true }) placeholderLoading?: PlaceholderLoadingDirective;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnInit() {\r\n // just to ensure the element exists\r\n const elem = this.elementRef.nativeElement;\r\n\r\n if (elem) {\r\n const attributes: NamedNodeMap = elem.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr: Attr | null = attributes.item(i);\r\n if (attr && attr.name.indexOf('_ngcontent') !== -1) {\r\n this.parentStyleAttribute = attr.name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed = true;\r\n this._componentInstances = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering'] || changes['renderings']) {\r\n this._render();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this._differ || !this._inputs || this._componentInstances.length === 0) {\r\n return;\r\n }\r\n\r\n const changes = this._differ.diff(this._inputs);\r\n if (!changes) {\r\n return;\r\n }\r\n const updates: { [key: string]: any } = {};\r\n changes.forEachRemovedItem((change) => updates[change.key] = null);\r\n changes.forEachAddedItem((change) => updates[change.key] = change.currentValue);\r\n changes.forEachChangedItem((change) => updates[change.key] = change.currentValue);\r\n this._componentInstances.forEach((componentInstance) => this._setComponentInputs(componentInstance, updates));\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this._componentInstances = [];\r\n this.view.clear();\r\n\r\n if (!this.rendering && !this.renderings) {\r\n return;\r\n }\r\n\r\n if (!this.name && !this.renderings) {\r\n // tslint:disable-next-line:max-line-length\r\n console.warn(`Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.`);\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n const placeholder = this.renderings || getPlaceholder(this.rendering, this.name || '');\r\n\r\n if (!placeholder) {\r\n console.warn(`Placeholder '${this.name}' was not found in the current rendering data`, JSON.stringify(this.rendering, null, 2));\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n // if the placeholder is empty (contains only raw renderings), then we may need to use the empty template if it's defined\r\n const placeholderIsEmpty = placeholder.every((rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering));\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef,\r\n {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory.getComponents(placeholder)\r\n .then((components) => components.forEach((rendering, index) => {\r\n if (this.renderEachTemplate && !isRawRendering(rendering.componentDefinition)) {\r\n this._renderTemplatedComponent(rendering.componentDefinition, index);\r\n } else {\r\n this._renderEmbeddedComponent(rendering, index);\r\n }\r\n this.isLoading = false;\r\n })).then(() => {\r\n this.changeDetectorRef.markForCheck();\r\n this.loaded.emit(this.name);\r\n });\r\n }\r\n }\r\n\r\n private _renderTemplatedComponent(\r\n rendering: ComponentRendering | HtmlElementRendering,\r\n index: number\r\n ) {\r\n // the render-each template takes care of all component mapping etc\r\n // generally using <sc-render-component> which is about like _renderEmbeddedComponent()\r\n // as a separate component\r\n this.view.createEmbeddedView(this.renderEachTemplate.templateRef,\r\n {\r\n rendering,\r\n index,\r\n });\r\n }\r\n\r\n private _renderEmbeddedComponent(rendering: ComponentFactoryResult, index: number) {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Placeholder ${this.name} contains unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n // apply the parent style attribute _ngcontent\r\n // work-around for https://github.com/angular/angular/issues/12215\r\n const createdComponentRef = this.view.createComponent(componentFactory, index);\r\n if (this.parentStyleAttribute) {\r\n this.renderer.setAttribute(createdComponentRef.location.nativeElement, this.parentStyleAttribute, '');\r\n }\r\n\r\n const componentInstance = createdComponentRef.instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n this._componentInstances.push(componentInstance);\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { RichTextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scRichText]',\r\n})\r\nexport class RichTextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = (field.editable && this.editable ? field.editable : field.value);\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.innerHTML = html;\r\n });\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scText]',\r\n})\r\nexport class TextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEncode') encode = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scText') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['encode']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n let editable = this.editable;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n // can't use editable value if we want to output unencoded\r\n if (!this.encode) {\r\n editable = false;\r\n }\r\n\r\n const html = field.editable && editable ? field.editable : field.value;\r\n const setDangerously = field.editable && editable || !this.encode;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = html;\r\n }\r\n });\r\n }\r\n}\r\n","import { LayoutServiceContextData } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { dataApi, LayoutServiceData, LayoutServiceRequestOptions, PlaceholderData } from '@sitecore-jss/sitecore-jss';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LayoutServiceError } from './layout-service-error';\r\n\r\nconst { fetchRouteData, fetchPlaceholderData } = dataApi;\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private static getLayoutServiceError(error: any): Observable<LayoutServiceError> {\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response;\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n\r\n getRouteData(route: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n\r\n getPlaceholderData(\r\n route: string,\r\n placeholderName: string,\r\n options: LayoutServiceRequestOptions<PlaceholderData>\r\n ): Observable<PlaceholderData | LayoutServiceError> {\r\n return fromPromise(fetchPlaceholderData(placeholderName, route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scDate]',\r\n})\r\nexport class DateDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateFormat') format?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateLocale') locale?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDate') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['format']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n const setDangerously = field.editable && this.editable;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sc-missing-component',\r\n template: `\r\n<div style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\">\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n</div>`,\r\n})\r\nexport class MissingComponentComponent {\r\n @Input() rendering: any;\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RawComponent } from './raw.component';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * Renders a single JSS component given a rendering definition.\r\n * Useful inside templated placeholders.\r\n */\r\n@Component({\r\n selector: 'sc-render-component',\r\n template: `\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class RenderComponentComponent implements OnChanges {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private destroyed = false;\r\n\r\n @Input() rendering: ComponentRendering | HtmlElementRendering;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering']) {\r\n this._render();\r\n }\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this.view.clear();\r\n\r\n if (!this.rendering) {\r\n return;\r\n }\r\n\r\n const resolveComponent: Promise<ComponentFactoryResult> = isRawRendering(this.rendering)\r\n ? Promise.resolve({ componentImplementation: RawComponent, componentDefinition: this.rendering })\r\n : this.componentFactory.getComponent(this.rendering);\r\n\r\n resolveComponent.then((rendering) => {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n const componentInstance = this.view.createComponent(componentFactory, 0).instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport {\r\n ANALYZE_FOR_ENTRY_COMPONENTS,\r\n ModuleWithProviders,\r\n NgModule,\r\n Type\r\n} from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport { DateDirective } from './components/date.directive';\r\nimport { FileDirective } from './components/file.directive';\r\nimport { GenericLinkDirective } from './components/generic-link.directive';\r\nimport { ImageDirective } from './components/image.directive';\r\nimport { LinkDirective } from './components/link.directive';\r\nimport { MissingComponentComponent } from './components/missing-component.component';\r\nimport { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';\r\nimport { PlaceholderComponent } from './components/placeholder.component';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { RenderComponentComponent } from './components/render-component.component';\r\nimport { RenderEachDirective } from './components/render-each.directive';\r\nimport { RenderEmptyDirective } from './components/render-empty.directive';\r\nimport { RichTextDirective } from './components/rich-text.directive';\r\nimport { RouterLinkDirective } from './components/router-link.directive';\r\nimport { TextDirective } from './components/text.directive';\r\nimport { JssComponentFactoryService } from './jss-component-factory.service';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n FileDirective,\r\n ImageDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n DateDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n PlaceholderLoadingDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n RawComponent,\r\n RichTextDirective,\r\n TextDirective,\r\n MissingComponentComponent,\r\n ],\r\n exports: [\r\n FileDirective,\r\n ImageDirective,\r\n DateDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n PlaceholderLoadingDirective,\r\n RichTextDirective,\r\n TextDirective,\r\n ],\r\n entryComponents: [\r\n RawComponent,\r\n MissingComponentComponent,\r\n ],\r\n})\r\nexport class JssModule {\r\n /**\r\n * Instantiates the JSS module with no component factory.\r\n * Useful for using it from libraries. Most of the time you'd want withComponents()\r\n */\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n LayoutService,\r\n DatePipe,\r\n JssComponentFactoryService,\r\n ],\r\n };\r\n }\r\n\r\n /** Instantiates a module for a lazy-loaded JSS component */\r\n static forChild(component: Type<any>): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: component, multi: true },\r\n { provide: ROUTES, useValue: [], multi: true },\r\n { provide: DYNAMIC_COMPONENT, useValue: component },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates the JSS module and specifies the mapping from component name to component implementation.\r\n * Appropriate when defining the set of JSS components that your app is aware of.\r\n */\r\n static withComponents(components: ComponentNameAndType[], lazyComponents?: ComponentNameAndModule[]): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: components,\r\n multi: true,\r\n },\r\n { provide: PLACEHOLDER_COMPONENTS, useValue: components },\r\n { provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },\r\n { provide: ROUTES, useValue: lazyComponents || [], multi: true },\r\n { provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },\r\n ...(JssModule.forRoot().providers as any[]),\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DateDirective as ɵh} from './components/date.directive';\nexport {MissingComponentComponent as ɵk} from './components/missing-component.component';\nexport {ComponentNameAndModule as ɵa,PLACEHOLDER_COMPONENTS as ɵb,PLACEHOLDER_LAZY_COMPONENTS as ɵc,PLACEHOLDER_MISSING_COMPONENT_COMPONENT as ɵd} from './components/placeholder.token';\nexport {RawComponent as ɵj} from './components/raw.component';\nexport {RenderComponentComponent as ɵi} from './components/render-component.component';\nexport {RenderEachDirective as ɵe} from './components/render-each.directive';\nexport {RenderEmptyDirective as ɵf} from './components/render-empty.directive';\nexport {JssComponentFactoryService as ɵg} from './jss-component-factory.service';"],"names":["tslib_1.__decorate","tslib_1.__param","observableThrow","fromPromise"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sitecore-jss-sitecore-jss-angular.js","sources":["ng://@sitecore-jss/sitecore-jss-angular/components/file.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/image.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/router-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/generic-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.token.ts","ng://@sitecore-jss/sitecore-jss-angular/components/raw.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rendering.ts","ng://@sitecore-jss/sitecore-jss-angular/jss-component-factory.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder-loading.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-each.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-empty.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rich-text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/layout-service-error.ts","ng://@sitecore-jss/sitecore-jss-angular/layout.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/date.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/missing-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/lib.module.ts","ng://@sitecore-jss/sitecore-jss-angular/sitecore-jss-sitecore-jss-angular.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { FileField } from './rendering-field';\r\n\r\n/**\r\n * File fields cannot be managed via the EE. We never output \"editable.\"\r\n */\r\n@Directive({ selector: '[scFile]' })\r\nexport class FileDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['field']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.value && !field.src)) {\r\n return;\r\n }\r\n\r\n const file = field.src ? field : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.href = file.src;\r\n if (node.innerHTML === '') {\r\n node.innerHTML = file.title || file.displayName;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { mediaApi } from '@sitecore-jss/sitecore-jss';\r\nimport { ImageField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scImage]' })\r\nexport class ImageDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImage') field: ImageField | '';\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageAttrs') attrs = {};\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['urlParams'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const overrideAttrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n const media = this.field;\r\n\r\n if (!media || (!media.editable && !media.value && !media.src)) {\r\n return;\r\n }\r\n\r\n let attrs: any = {};\r\n\r\n // we likely have an experience editor value, should be a string\r\n if (this.editable && media.editable) {\r\n const foundImg = mediaApi.findEditorImageTag(media.editable);\r\n if (!foundImg) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);\r\n if (!attrs) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n const tempImg: HTMLImageElement = this.renderer.createElement('img');\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n tempImg.setAttribute(key, attrValue)\r\n );\r\n const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);\r\n return this.renderInlineWrapper(editableMarkup);\r\n }\r\n\r\n // some wise-guy/gal is passing in a 'raw' image object value\r\n const img = media.src ? media : media.value;\r\n if (!img) {\r\n return null;\r\n }\r\n\r\n attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);\r\n if (attrs) {\r\n this.renderTemplate(attrs);\r\n }\r\n }\r\n\r\n private getImageAttrs(fieldAttrs: any, parsedAttrs: any, imageParams: any): any {\r\n const combinedAttrs = {\r\n ...fieldAttrs,\r\n ...parsedAttrs,\r\n };\r\n // tslint:disable-next-line:prefer-const\r\n let { src, srcSet, ...otherAttrs } = combinedAttrs;\r\n if (!src) {\r\n return null;\r\n }\r\n const newAttrs = {\r\n ...otherAttrs,\r\n };\r\n // update image URL for jss handler and image rendering params\r\n src = mediaApi.updateImageUrl(src, imageParams);\r\n if (srcSet) {\r\n // replace with HTML-formatted srcset, including updated image URLs\r\n newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams);\r\n } else {\r\n newAttrs.src = src;\r\n }\r\n return newAttrs;\r\n }\r\n\r\n private renderTemplate(imageProps: any) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(imageProps).forEach(([key, imgPropVal]: [string, any]) => this.renderer.setAttribute(node, key, imgPropVal));\r\n });\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n\r\n private renderInlineWrapper(editable: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-image-wrapper';\r\n span.innerHTML = editable;\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scLink]' })\r\nexport class LinkDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLink') field: LinkField;\r\n\r\n constructor(\r\n protected viewContainer: ViewContainerRef,\r\n protected templateRef: TemplateRef<any>,\r\n protected renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (this.editable && field && field.editableFirstPart && field.editableLastPart) {\r\n this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);\r\n } else if (field && (field.href || field.value)) {\r\n const props = field.href ? field : field.value;\r\n const linkText = field.text || field.value.text || field.href || field.value.href;\r\n const mergedAttrs = { ...props, ...this.attrs };\r\n this.renderTemplate(mergedAttrs, linkText);\r\n }\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => \r\n this.renderer.setAttribute(node, key, propValue)\r\n )\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private renderInlineWrapper(editableFirstPart: string, editableLastPart: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-link-wrapper';\r\n span.innerHTML = editableFirstPart + editableLastPart;\r\n\r\n // assign attributes from template to inline wrapper\r\n const attrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) => \r\n this.renderer.setAttribute(span, key, attrValue)\r\n );\r\n\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scRouterLink]' })\r\nexport class RouterLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLink') field: LinkField;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n this.renderer.setAttribute(node, key, propValue);\r\n\r\n if (key === 'href') {\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue]);\r\n event.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scGenericLink]' })\r\nexport class GenericLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkExtras') extras?: NavigationExtras;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href' && !this.isAbsoluteUrl(propValue)) {\r\n const urlTree = this.router.createUrlTree([propValue], this.extras);\r\n this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue], this.extras);\r\n event.preventDefault();\r\n });\r\n } else {\r\n this.renderer.setAttribute(node, key, propValue);\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private isAbsoluteUrl(url?: string) {\r\n if (url == null) {\r\n return false;\r\n }\r\n if (typeof url !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n\r\n return /^[a-z][a-z0-9+.-]*:/.test(url);\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\n\r\n/** Registers a statically loaded component */\r\nexport class ComponentNameAndType {\r\n name: string;\r\n type: Type<any>;\r\n}\r\n\r\n/** Registers a lazily loaded component by name and module to lazy load when it's needed */\r\nexport interface ComponentNameAndModule {\r\n /** Name of the component */\r\n path: string;\r\n /**\r\n * Dynamic import of the component,\r\n * e.g. () => import('./path/to/lazyloadedcomponent.module').then(m => m.LazyLoadedComponentModuleExportName)\r\n */\r\n loadChildren: () => Promise<any>;\r\n}\r\n\r\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\r\n\r\nexport function instanceOfComponentNameAndModule(object: any): object is ComponentNameAndModule {\r\n return 'module' in object;\r\n}\r\n\r\nexport const PLACEHOLDER_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.components');\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.lazyComponents');\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>('Sc.placeholder.missingComponentComponent');\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | {[s: string]: any}> ('Sc.placeholder.dynamicComponent');\r\n","import { Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n@Component({\r\n selector: 'sc-raw',\r\n template: ``,\r\n})\r\nexport class RawComponent implements OnInit {\r\n @Input() rendering: HtmlElementRendering;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n const el = this.renderer.createElement(this.rendering.name);\r\n const contents = this.renderer.createText(this.rendering.contents || '');\r\n const attributes = this.rendering.attributes;\r\n for (const attr in attributes) {\r\n if ((attributes as any).hasOwnProperty(attr)) {\r\n const value = attributes[attr];\r\n this.renderer.setAttribute(el, attr, value || '');\r\n }\r\n }\r\n\r\n this.renderer.appendChild(el, contents);\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n }\r\n}\r\n","import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport function isRawRendering(rendering: HtmlElementRendering | ComponentRendering): rendering is HtmlElementRendering {\r\n return !(rendering as ComponentRendering).componentName && (rendering as HtmlElementRendering).name !== undefined;\r\n}\r\n","import {\r\n ComponentFactory,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n Type\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { isRawRendering } from './components/rendering';\r\n\r\nexport interface ComponentFactoryResult {\r\n componentImplementation?: Type<any>;\r\n componentDefinition: ComponentRendering | HtmlElementRendering;\r\n componentFactory?: ComponentFactory<any>;\r\n}\r\n\r\n@Injectable()\r\nexport class JssComponentFactoryService {\r\n private componentMap: Map<string, Type<any>>;\r\n private lazyComponentMap: Map<string, ComponentNameAndModule>;\r\n\r\n constructor(\r\n private injector: Injector,\r\n @Inject(PLACEHOLDER_COMPONENTS) private components: ComponentNameAndType[],\r\n @Inject(PLACEHOLDER_LAZY_COMPONENTS) private lazyComponents: ComponentNameAndModule[]\r\n ) {\r\n this.componentMap = new Map();\r\n this.lazyComponentMap = new Map();\r\n\r\n this.components.forEach((c) => this.componentMap.set(c.name, c.type));\r\n\r\n if (this.lazyComponents) {\r\n this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));\r\n }\r\n }\r\n\r\n getComponent(component: ComponentRendering): Promise<ComponentFactoryResult> {\r\n const loadedComponent = this.componentMap.get(component.componentName);\r\n\r\n if (loadedComponent) {\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n componentImplementation: this.componentMap.get(component.componentName),\r\n });\r\n }\r\n\r\n const lazyComponent = this.lazyComponentMap.get(component.componentName);\r\n\r\n if (lazyComponent) {\r\n return lazyComponent.loadChildren()\r\n .then((ngModuleFactory) => {\r\n let componentType = null;\r\n const moduleRef = ngModuleFactory.create(this.injector);\r\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);\r\n if (!dynamicComponentType) {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n\r\n if (component.componentName in dynamicComponentType) {\r\n componentType = (dynamicComponentType as {[s: string]: any})[component.componentName];\r\n } else {\r\n if (typeof dynamicComponentType === 'function') {\r\n componentType = dynamicComponentType;\r\n } else {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n }\r\n\r\n return {\r\n componentDefinition: component,\r\n componentImplementation: componentType,\r\n componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),\r\n };\r\n });\r\n }\r\n\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n });\r\n }\r\n\r\n getComponents(components: Array<ComponentRendering | HtmlElementRendering>): Promise<ComponentFactoryResult[]> {\r\n // acquire all components and keep them in order while handling their potential async-ness\r\n return Promise.all(\r\n components.map((component) => isRawRendering(component)\r\n ? this.getRawComponent(component)\r\n : this.getComponent(component))\r\n );\r\n }\r\n\r\n private getRawComponent(component: HtmlElementRendering): Promise<ComponentFactoryResult> {\r\n return Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: component,\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scPlaceholderLoading]',\r\n})\r\nexport class PlaceholderLoadingDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEach]',\r\n})\r\nexport class RenderEachDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport {\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './placeholder.token';\r\nimport { RenderEachDirective } from './render-each.directive';\r\nimport { RenderEmptyDirective } from './render-empty.directive';\r\nimport { isRawRendering } from './rendering';\r\n\r\nfunction getPlaceholder(rendering: ComponentRendering, name: string) {\r\n if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {\r\n return rendering.placeholders[name];\r\n }\r\n return null;\r\n}\r\n\r\n@Component({\r\n selector: 'sc-placeholder,[sc-placeholder]',\r\n template: `\r\n <ng-template *ngIf=\"isLoading\" [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"></ng-template>\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class PlaceholderComponent implements OnInit, OnChanges, DoCheck, OnDestroy {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private _componentInstances: any[] = [];\r\n private destroyed = false;\r\n private parentStyleAttribute: string = '';\r\n public isLoading = true;\r\n\r\n @Input() name?: string;\r\n @Input() rendering: ComponentRendering;\r\n @Input() renderings?: Array<ComponentRendering | HtmlElementRendering>;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n\r\n @Output()\r\n loaded = new EventEmitter<string | undefined>();\r\n\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n @ContentChild(RenderEachDirective, { static: true }) renderEachTemplate: RenderEachDirective;\r\n @ContentChild(RenderEmptyDirective, { static: true }) renderEmptyTemplate: RenderEmptyDirective;\r\n @ContentChild(PlaceholderLoadingDirective, { static: true }) placeholderLoading?: PlaceholderLoadingDirective;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnInit() {\r\n // just to ensure the element exists\r\n const elem = this.elementRef.nativeElement;\r\n\r\n if (elem) {\r\n const attributes: NamedNodeMap = elem.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr: Attr | null = attributes.item(i);\r\n if (attr && attr.name.indexOf('_ngcontent') !== -1) {\r\n this.parentStyleAttribute = attr.name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed = true;\r\n this._componentInstances = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering'] || changes['renderings']) {\r\n this._render();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this._differ || !this._inputs || this._componentInstances.length === 0) {\r\n return;\r\n }\r\n\r\n const changes = this._differ.diff(this._inputs);\r\n if (!changes) {\r\n return;\r\n }\r\n const updates: { [key: string]: any } = {};\r\n changes.forEachRemovedItem((change) => updates[change.key] = null);\r\n changes.forEachAddedItem((change) => updates[change.key] = change.currentValue);\r\n changes.forEachChangedItem((change) => updates[change.key] = change.currentValue);\r\n this._componentInstances.forEach((componentInstance) => this._setComponentInputs(componentInstance, updates));\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this._componentInstances = [];\r\n this.view.clear();\r\n\r\n if (!this.rendering && !this.renderings) {\r\n return;\r\n }\r\n\r\n if (!this.name && !this.renderings) {\r\n // tslint:disable-next-line:max-line-length\r\n console.warn(`Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.`);\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n const placeholder = this.renderings || getPlaceholder(this.rendering, this.name || '');\r\n\r\n if (!placeholder) {\r\n console.warn(`Placeholder '${this.name}' was not found in the current rendering data`, JSON.stringify(this.rendering, null, 2));\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n // if the placeholder is empty (contains only raw renderings), then we may need to use the empty template if it's defined\r\n const placeholderIsEmpty = placeholder.every((rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering));\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef,\r\n {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory.getComponents(placeholder)\r\n .then((components) => components.forEach((rendering, index) => {\r\n if (this.renderEachTemplate && !isRawRendering(rendering.componentDefinition)) {\r\n this._renderTemplatedComponent(rendering.componentDefinition, index);\r\n } else {\r\n this._renderEmbeddedComponent(rendering, index);\r\n }\r\n this.isLoading = false;\r\n })).then(() => {\r\n this.changeDetectorRef.markForCheck();\r\n this.loaded.emit(this.name);\r\n });\r\n }\r\n }\r\n\r\n private _renderTemplatedComponent(\r\n rendering: ComponentRendering | HtmlElementRendering,\r\n index: number\r\n ) {\r\n // the render-each template takes care of all component mapping etc\r\n // generally using <sc-render-component> which is about like _renderEmbeddedComponent()\r\n // as a separate component\r\n this.view.createEmbeddedView(this.renderEachTemplate.templateRef,\r\n {\r\n rendering,\r\n index,\r\n });\r\n }\r\n\r\n private _renderEmbeddedComponent(rendering: ComponentFactoryResult, index: number) {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Placeholder ${this.name} contains unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n // apply the parent style attribute _ngcontent\r\n // work-around for https://github.com/angular/angular/issues/12215\r\n const createdComponentRef = this.view.createComponent(componentFactory, index);\r\n if (this.parentStyleAttribute) {\r\n this.renderer.setAttribute(createdComponentRef.location.nativeElement, this.parentStyleAttribute, '');\r\n }\r\n\r\n const componentInstance = createdComponentRef.instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n this._componentInstances.push(componentInstance);\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { RichTextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scRichText]',\r\n})\r\nexport class RichTextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = (field.editable && this.editable ? field.editable : field.value);\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.innerHTML = html;\r\n });\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scText]',\r\n})\r\nexport class TextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEncode') encode = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scText') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['encode']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n let editable = this.editable;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n // can't use editable value if we want to output unencoded\r\n if (!this.encode) {\r\n editable = false;\r\n }\r\n\r\n const html = field.editable && editable ? field.editable : field.value;\r\n const setDangerously = field.editable && editable || !this.encode;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = html;\r\n }\r\n });\r\n }\r\n}\r\n","import { LayoutServiceContextData } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { dataApi, LayoutServiceData, LayoutServiceRequestOptions, PlaceholderData } from '@sitecore-jss/sitecore-jss';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LayoutServiceError } from './layout-service-error';\r\n\r\nconst { fetchRouteData, fetchPlaceholderData } = dataApi;\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private static getLayoutServiceError(error: any): Observable<LayoutServiceError> {\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response;\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n\r\n getRouteData(route: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n\r\n getPlaceholderData(\r\n route: string,\r\n placeholderName: string,\r\n options: LayoutServiceRequestOptions<PlaceholderData>\r\n ): Observable<PlaceholderData | LayoutServiceError> {\r\n return fromPromise(fetchPlaceholderData(placeholderName, route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scDate]',\r\n})\r\nexport class DateDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateFormat') format?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateLocale') locale?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDate') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['format']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n const setDangerously = field.editable && this.editable;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sc-missing-component',\r\n template: `\r\n<div style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\">\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n</div>`,\r\n})\r\nexport class MissingComponentComponent {\r\n @Input() rendering: any;\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RawComponent } from './raw.component';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * Renders a single JSS component given a rendering definition.\r\n * Useful inside templated placeholders.\r\n */\r\n@Component({\r\n selector: 'sc-render-component',\r\n template: `\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class RenderComponentComponent implements OnChanges {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private destroyed = false;\r\n\r\n @Input() rendering: ComponentRendering | HtmlElementRendering;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering']) {\r\n this._render();\r\n }\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this.view.clear();\r\n\r\n if (!this.rendering) {\r\n return;\r\n }\r\n\r\n const resolveComponent: Promise<ComponentFactoryResult> = isRawRendering(this.rendering)\r\n ? Promise.resolve({ componentImplementation: RawComponent, componentDefinition: this.rendering })\r\n : this.componentFactory.getComponent(this.rendering);\r\n\r\n resolveComponent.then((rendering) => {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n const componentInstance = this.view.createComponent(componentFactory, 0).instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport {\r\n ANALYZE_FOR_ENTRY_COMPONENTS,\r\n ModuleWithProviders,\r\n NgModule,\r\n Type\r\n} from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport { DateDirective } from './components/date.directive';\r\nimport { FileDirective } from './components/file.directive';\r\nimport { GenericLinkDirective } from './components/generic-link.directive';\r\nimport { ImageDirective } from './components/image.directive';\r\nimport { LinkDirective } from './components/link.directive';\r\nimport { MissingComponentComponent } from './components/missing-component.component';\r\nimport { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';\r\nimport { PlaceholderComponent } from './components/placeholder.component';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { RenderComponentComponent } from './components/render-component.component';\r\nimport { RenderEachDirective } from './components/render-each.directive';\r\nimport { RenderEmptyDirective } from './components/render-empty.directive';\r\nimport { RichTextDirective } from './components/rich-text.directive';\r\nimport { RouterLinkDirective } from './components/router-link.directive';\r\nimport { TextDirective } from './components/text.directive';\r\nimport { JssComponentFactoryService } from './jss-component-factory.service';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n FileDirective,\r\n ImageDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n DateDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n PlaceholderLoadingDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n RawComponent,\r\n RichTextDirective,\r\n TextDirective,\r\n MissingComponentComponent,\r\n ],\r\n exports: [\r\n FileDirective,\r\n ImageDirective,\r\n DateDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n PlaceholderLoadingDirective,\r\n RichTextDirective,\r\n TextDirective,\r\n ],\r\n entryComponents: [\r\n RawComponent,\r\n MissingComponentComponent,\r\n ],\r\n})\r\nexport class JssModule {\r\n /**\r\n * Instantiates the JSS module with no component factory.\r\n * Useful for using it from libraries. Most of the time you'd want withComponents()\r\n */\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n LayoutService,\r\n DatePipe,\r\n JssComponentFactoryService,\r\n ],\r\n };\r\n }\r\n\r\n /** Instantiates a module for a lazy-loaded JSS component */\r\n static forChild(component: Type<any>): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: component, multi: true },\r\n { provide: ROUTES, useValue: [], multi: true },\r\n { provide: DYNAMIC_COMPONENT, useValue: component },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates the JSS module and specifies the mapping from component name to component implementation.\r\n * Appropriate when defining the set of JSS components that your app is aware of.\r\n */\r\n static withComponents(components: ComponentNameAndType[], lazyComponents?: ComponentNameAndModule[]): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: components,\r\n multi: true,\r\n },\r\n { provide: PLACEHOLDER_COMPONENTS, useValue: components },\r\n { provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },\r\n { provide: ROUTES, useValue: lazyComponents || [], multi: true },\r\n { provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },\r\n ...(JssModule.forRoot().providers as any[]),\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DateDirective as ɵh} from './components/date.directive';\nexport {MissingComponentComponent as ɵk} from './components/missing-component.component';\nexport {ComponentNameAndModule as ɵa,PLACEHOLDER_COMPONENTS as ɵb,PLACEHOLDER_LAZY_COMPONENTS as ɵc,PLACEHOLDER_MISSING_COMPONENT_COMPONENT as ɵd} from './components/placeholder.token';\nexport {RawComponent as ɵj} from './components/raw.component';\nexport {RenderComponentComponent as ɵi} from './components/render-component.component';\nexport {RenderEachDirective as ɵe} from './components/render-each.directive';\nexport {RenderEmptyDirective as ɵf} from './components/render-empty.directive';\nexport {JssComponentFactoryService as ɵg} from './jss-component-factory.service';"],"names":["tslib_1.__decorate","tslib_1.__param","observableThrow","fromPromise"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitecore-jss-sitecore-jss-angular.js","sources":["ng://@sitecore-jss/sitecore-jss-angular/components/file.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/image.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/router-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/generic-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.token.ts","ng://@sitecore-jss/sitecore-jss-angular/components/raw.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rendering.ts","ng://@sitecore-jss/sitecore-jss-angular/jss-component-factory.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder-loading.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-each.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-empty.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rich-text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/layout-service-error.ts","ng://@sitecore-jss/sitecore-jss-angular/layout.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/date.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/missing-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/lib.module.ts","ng://@sitecore-jss/sitecore-jss-angular/sitecore-jss-sitecore-jss-angular.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { FileField } from './rendering-field';\r\n\r\n/**\r\n * File fields cannot be managed via the EE. We never output \"editable.\"\r\n */\r\n@Directive({ selector: '[scFile]' })\r\nexport class FileDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['field']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.value && !field.src)) {\r\n return;\r\n }\r\n\r\n const file = field.src ? field : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.href = file.src;\r\n if (node.innerHTML === '') {\r\n node.innerHTML = file.title || file.displayName;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { mediaApi } from '@sitecore-jss/sitecore-jss';\r\nimport { ImageField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scImage]' })\r\nexport class ImageDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImage') field: ImageField | '';\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageAttrs') attrs = {};\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['urlParams'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const overrideAttrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n const media = this.field;\r\n\r\n if (!media || (!media.editable && !media.value && !media.src)) {\r\n return;\r\n }\r\n\r\n let attrs: any = {};\r\n\r\n // we likely have an experience editor value, should be a string\r\n if (this.editable && media.editable) {\r\n const foundImg = mediaApi.findEditorImageTag(media.editable);\r\n if (!foundImg) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);\r\n if (!attrs) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n const tempImg: HTMLImageElement = this.renderer.createElement('img');\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n tempImg.setAttribute(key, attrValue)\r\n );\r\n const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);\r\n return this.renderInlineWrapper(editableMarkup);\r\n }\r\n\r\n // some wise-guy/gal is passing in a 'raw' image object value\r\n const img = media.src ? media : media.value;\r\n if (!img) {\r\n return null;\r\n }\r\n\r\n attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);\r\n if (attrs) {\r\n this.renderTemplate(attrs);\r\n }\r\n }\r\n\r\n private getImageAttrs(fieldAttrs: any, parsedAttrs: any, imageParams: any): any {\r\n const combinedAttrs = {\r\n ...fieldAttrs,\r\n ...parsedAttrs,\r\n };\r\n // tslint:disable-next-line:prefer-const\r\n let { src, srcSet, ...otherAttrs } = combinedAttrs;\r\n if (!src) {\r\n return null;\r\n }\r\n const newAttrs = {\r\n ...otherAttrs,\r\n };\r\n // update image URL for jss handler and image rendering params\r\n src = mediaApi.updateImageUrl(src, imageParams);\r\n if (srcSet) {\r\n // replace with HTML-formatted srcset, including updated image URLs\r\n newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams);\r\n } else {\r\n newAttrs.src = src;\r\n }\r\n return newAttrs;\r\n }\r\n\r\n private renderTemplate(imageProps: any) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(imageProps).forEach(([key, imgPropVal]: [string, any]) => this.renderer.setAttribute(node, key, imgPropVal));\r\n });\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n\r\n private renderInlineWrapper(editable: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-image-wrapper';\r\n span.innerHTML = editable;\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scLink]' })\r\nexport class LinkDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLink') field: LinkField;\r\n\r\n constructor(\r\n protected viewContainer: ViewContainerRef,\r\n protected templateRef: TemplateRef<any>,\r\n protected renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (this.editable && field && field.editableFirstPart && field.editableLastPart) {\r\n this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);\r\n } else if (field && (field.href || field.value)) {\r\n const props = field.href ? field : field.value;\r\n const linkText = field.text || field.value.text || field.href || field.value.href;\r\n const mergedAttrs = { ...props, ...this.attrs };\r\n this.renderTemplate(mergedAttrs, linkText);\r\n }\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => \r\n this.renderer.setAttribute(node, key, propValue)\r\n )\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private renderInlineWrapper(editableFirstPart: string, editableLastPart: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-link-wrapper';\r\n span.innerHTML = editableFirstPart + editableLastPart;\r\n\r\n // assign attributes from template to inline wrapper\r\n const attrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) => \r\n this.renderer.setAttribute(span, key, attrValue)\r\n );\r\n\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scRouterLink]' })\r\nexport class RouterLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLink') field: LinkField;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n this.renderer.setAttribute(node, key, propValue);\r\n\r\n if (key === 'href') {\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue]);\r\n event.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scGenericLink]' })\r\nexport class GenericLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkExtras') extras?: NavigationExtras;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href' && !this.isAbsoluteUrl(propValue)) {\r\n const urlTree = this.router.createUrlTree([propValue], this.extras);\r\n this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue], this.extras);\r\n event.preventDefault();\r\n });\r\n } else {\r\n this.renderer.setAttribute(node, key, propValue);\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private isAbsoluteUrl(url?: string) {\r\n if (url == null) {\r\n return false;\r\n }\r\n if (typeof url !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n\r\n return /^[a-z][a-z0-9+.-]*:/.test(url);\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\n\r\n/** Registers a statically loaded component */\r\nexport class ComponentNameAndType {\r\n name: string;\r\n type: Type<any>;\r\n}\r\n\r\n/** Registers a lazily loaded component by name and module to lazy load when it's needed */\r\nexport interface ComponentNameAndModule {\r\n /** Name of the component */\r\n path: string;\r\n /**\r\n * Dynamic import of the component,\r\n * e.g. () => import('./path/to/lazyloadedcomponent.module').then(m => m.LazyLoadedComponentModuleExportName)\r\n */\r\n loadChildren: () => Promise<any>;\r\n}\r\n\r\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\r\n\r\nexport function instanceOfComponentNameAndModule(object: any): object is ComponentNameAndModule {\r\n return 'module' in object;\r\n}\r\n\r\nexport const PLACEHOLDER_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.components');\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.lazyComponents');\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>('Sc.placeholder.missingComponentComponent');\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | {[s: string]: any}> ('Sc.placeholder.dynamicComponent');\r\n","import { Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n@Component({\r\n selector: 'sc-raw',\r\n template: ``,\r\n})\r\nexport class RawComponent implements OnInit {\r\n @Input() rendering: HtmlElementRendering;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n const el = this.renderer.createElement(this.rendering.name);\r\n const contents = this.renderer.createText(this.rendering.contents || '');\r\n const attributes = this.rendering.attributes;\r\n for (const attr in attributes) {\r\n if ((attributes as any).hasOwnProperty(attr)) {\r\n const value = attributes[attr];\r\n this.renderer.setAttribute(el, attr, value || '');\r\n }\r\n }\r\n\r\n this.renderer.appendChild(el, contents);\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n }\r\n}\r\n","import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport function isRawRendering(rendering: HtmlElementRendering | ComponentRendering): rendering is HtmlElementRendering {\r\n return !(rendering as ComponentRendering).componentName && (rendering as HtmlElementRendering).name !== undefined;\r\n}\r\n","import {\r\n ComponentFactory,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n Type\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { isRawRendering } from './components/rendering';\r\n\r\nexport interface ComponentFactoryResult {\r\n componentImplementation?: Type<any>;\r\n componentDefinition: ComponentRendering | HtmlElementRendering;\r\n componentFactory?: ComponentFactory<any>;\r\n}\r\n\r\n@Injectable()\r\nexport class JssComponentFactoryService {\r\n private componentMap: Map<string, Type<any>>;\r\n private lazyComponentMap: Map<string, ComponentNameAndModule>;\r\n\r\n constructor(\r\n private injector: Injector,\r\n @Inject(PLACEHOLDER_COMPONENTS) private components: ComponentNameAndType[],\r\n @Inject(PLACEHOLDER_LAZY_COMPONENTS) private lazyComponents: ComponentNameAndModule[]\r\n ) {\r\n this.componentMap = new Map();\r\n this.lazyComponentMap = new Map();\r\n\r\n this.components.forEach((c) => this.componentMap.set(c.name, c.type));\r\n\r\n if (this.lazyComponents) {\r\n this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));\r\n }\r\n }\r\n\r\n getComponent(component: ComponentRendering): Promise<ComponentFactoryResult> {\r\n const loadedComponent = this.componentMap.get(component.componentName);\r\n\r\n if (loadedComponent) {\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n componentImplementation: this.componentMap.get(component.componentName),\r\n });\r\n }\r\n\r\n const lazyComponent = this.lazyComponentMap.get(component.componentName);\r\n\r\n if (lazyComponent) {\r\n return lazyComponent.loadChildren()\r\n .then((ngModuleFactory) => {\r\n let componentType = null;\r\n const moduleRef = ngModuleFactory.create(this.injector);\r\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);\r\n if (!dynamicComponentType) {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n\r\n if (component.componentName in dynamicComponentType) {\r\n componentType = (dynamicComponentType as {[s: string]: any})[component.componentName];\r\n } else {\r\n if (typeof dynamicComponentType === 'function') {\r\n componentType = dynamicComponentType;\r\n } else {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n }\r\n\r\n return {\r\n componentDefinition: component,\r\n componentImplementation: componentType,\r\n componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),\r\n };\r\n });\r\n }\r\n\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n });\r\n }\r\n\r\n getComponents(components: Array<ComponentRendering | HtmlElementRendering>): Promise<ComponentFactoryResult[]> {\r\n // acquire all components and keep them in order while handling their potential async-ness\r\n return Promise.all(\r\n components.map((component) => isRawRendering(component)\r\n ? this.getRawComponent(component)\r\n : this.getComponent(component))\r\n );\r\n }\r\n\r\n private getRawComponent(component: HtmlElementRendering): Promise<ComponentFactoryResult> {\r\n return Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: component,\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scPlaceholderLoading]',\r\n})\r\nexport class PlaceholderLoadingDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEach]',\r\n})\r\nexport class RenderEachDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport {\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './placeholder.token';\r\nimport { RenderEachDirective } from './render-each.directive';\r\nimport { RenderEmptyDirective } from './render-empty.directive';\r\nimport { isRawRendering } from './rendering';\r\n\r\nfunction getPlaceholder(rendering: ComponentRendering, name: string) {\r\n if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {\r\n return rendering.placeholders[name];\r\n }\r\n return null;\r\n}\r\n\r\n@Component({\r\n selector: 'sc-placeholder,[sc-placeholder]',\r\n template: `\r\n <ng-template *ngIf=\"isLoading\" [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"></ng-template>\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class PlaceholderComponent implements OnInit, OnChanges, DoCheck, OnDestroy {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private _componentInstances: any[] = [];\r\n private destroyed = false;\r\n private parentStyleAttribute: string = '';\r\n public isLoading = true;\r\n\r\n @Input() name?: string;\r\n @Input() rendering: ComponentRendering;\r\n @Input() renderings?: Array<ComponentRendering | HtmlElementRendering>;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n\r\n @Output()\r\n loaded = new EventEmitter<string | undefined>();\r\n\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n @ContentChild(RenderEachDirective, { static: true }) renderEachTemplate: RenderEachDirective;\r\n @ContentChild(RenderEmptyDirective, { static: true }) renderEmptyTemplate: RenderEmptyDirective;\r\n @ContentChild(PlaceholderLoadingDirective, { static: true }) placeholderLoading?: PlaceholderLoadingDirective;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnInit() {\r\n // just to ensure the element exists\r\n const elem = this.elementRef.nativeElement;\r\n\r\n if (elem) {\r\n const attributes: NamedNodeMap = elem.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr: Attr | null = attributes.item(i);\r\n if (attr && attr.name.indexOf('_ngcontent') !== -1) {\r\n this.parentStyleAttribute = attr.name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed = true;\r\n this._componentInstances = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering'] || changes['renderings']) {\r\n this._render();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this._differ || !this._inputs || this._componentInstances.length === 0) {\r\n return;\r\n }\r\n\r\n const changes = this._differ.diff(this._inputs);\r\n if (!changes) {\r\n return;\r\n }\r\n const updates: { [key: string]: any } = {};\r\n changes.forEachRemovedItem((change) => updates[change.key] = null);\r\n changes.forEachAddedItem((change) => updates[change.key] = change.currentValue);\r\n changes.forEachChangedItem((change) => updates[change.key] = change.currentValue);\r\n this._componentInstances.forEach((componentInstance) => this._setComponentInputs(componentInstance, updates));\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this._componentInstances = [];\r\n this.view.clear();\r\n\r\n if (!this.rendering && !this.renderings) {\r\n return;\r\n }\r\n\r\n if (!this.name && !this.renderings) {\r\n // tslint:disable-next-line:max-line-length\r\n console.warn(`Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.`);\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n const placeholder = this.renderings || getPlaceholder(this.rendering, this.name || '');\r\n\r\n if (!placeholder) {\r\n console.warn(`Placeholder '${this.name}' was not found in the current rendering data`, JSON.stringify(this.rendering, null, 2));\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n // if the placeholder is empty (contains only raw renderings), then we may need to use the empty template if it's defined\r\n const placeholderIsEmpty = placeholder.every((rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering));\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef,\r\n {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory.getComponents(placeholder)\r\n .then((components) => components.forEach((rendering, index) => {\r\n if (this.renderEachTemplate && !isRawRendering(rendering.componentDefinition)) {\r\n this._renderTemplatedComponent(rendering.componentDefinition, index);\r\n } else {\r\n this._renderEmbeddedComponent(rendering, index);\r\n }\r\n this.isLoading = false;\r\n })).then(() => {\r\n this.changeDetectorRef.markForCheck();\r\n this.loaded.emit(this.name);\r\n });\r\n }\r\n }\r\n\r\n private _renderTemplatedComponent(\r\n rendering: ComponentRendering | HtmlElementRendering,\r\n index: number\r\n ) {\r\n // the render-each template takes care of all component mapping etc\r\n // generally using <sc-render-component> which is about like _renderEmbeddedComponent()\r\n // as a separate component\r\n this.view.createEmbeddedView(this.renderEachTemplate.templateRef,\r\n {\r\n rendering,\r\n index,\r\n });\r\n }\r\n\r\n private _renderEmbeddedComponent(rendering: ComponentFactoryResult, index: number) {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Placeholder ${this.name} contains unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n // apply the parent style attribute _ngcontent\r\n // work-around for https://github.com/angular/angular/issues/12215\r\n const createdComponentRef = this.view.createComponent(componentFactory, index);\r\n if (this.parentStyleAttribute) {\r\n this.renderer.setAttribute(createdComponentRef.location.nativeElement, this.parentStyleAttribute, '');\r\n }\r\n\r\n const componentInstance = createdComponentRef.instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n this._componentInstances.push(componentInstance);\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { RichTextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scRichText]',\r\n})\r\nexport class RichTextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = (field.editable && this.editable ? field.editable : field.value);\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.innerHTML = html;\r\n });\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scText]',\r\n})\r\nexport class TextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEncode') encode = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scText') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['encode']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n let editable = this.editable;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n // can't use editable value if we want to output unencoded\r\n if (!this.encode) {\r\n editable = false;\r\n }\r\n\r\n const html = field.editable && editable ? field.editable : field.value;\r\n const setDangerously = field.editable && editable || !this.encode;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = html;\r\n }\r\n });\r\n }\r\n}\r\n","import { LayoutServiceContextData } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { dataApi, LayoutServiceData, LayoutServiceRequestOptions, PlaceholderData } from '@sitecore-jss/sitecore-jss';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LayoutServiceError } from './layout-service-error';\r\n\r\nconst { fetchRouteData, fetchPlaceholderData } = dataApi;\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private static getLayoutServiceError(error: any): Observable<LayoutServiceError> {\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response;\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n\r\n getRouteData(route: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n\r\n getPlaceholderData(\r\n route: string,\r\n placeholderName: string,\r\n options: LayoutServiceRequestOptions<PlaceholderData>\r\n ): Observable<PlaceholderData | LayoutServiceError> {\r\n return fromPromise(fetchPlaceholderData(placeholderName, route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scDate]',\r\n})\r\nexport class DateDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateFormat') format?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateLocale') locale?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDate') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['format']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n const setDangerously = field.editable && this.editable;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sc-missing-component',\r\n template: `\r\n<div style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\">\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n</div>`,\r\n})\r\nexport class MissingComponentComponent {\r\n @Input() rendering: any;\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RawComponent } from './raw.component';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * Renders a single JSS component given a rendering definition.\r\n * Useful inside templated placeholders.\r\n */\r\n@Component({\r\n selector: 'sc-render-component',\r\n template: `\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class RenderComponentComponent implements OnChanges {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private destroyed = false;\r\n\r\n @Input() rendering: ComponentRendering | HtmlElementRendering;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering']) {\r\n this._render();\r\n }\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this.view.clear();\r\n\r\n if (!this.rendering) {\r\n return;\r\n }\r\n\r\n const resolveComponent: Promise<ComponentFactoryResult> = isRawRendering(this.rendering)\r\n ? Promise.resolve({ componentImplementation: RawComponent, componentDefinition: this.rendering })\r\n : this.componentFactory.getComponent(this.rendering);\r\n\r\n resolveComponent.then((rendering) => {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n const componentInstance = this.view.createComponent(componentFactory, 0).instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport {\r\n ANALYZE_FOR_ENTRY_COMPONENTS,\r\n ModuleWithProviders,\r\n NgModule,\r\n Type\r\n} from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport { DateDirective } from './components/date.directive';\r\nimport { FileDirective } from './components/file.directive';\r\nimport { GenericLinkDirective } from './components/generic-link.directive';\r\nimport { ImageDirective } from './components/image.directive';\r\nimport { LinkDirective } from './components/link.directive';\r\nimport { MissingComponentComponent } from './components/missing-component.component';\r\nimport { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';\r\nimport { PlaceholderComponent } from './components/placeholder.component';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { RenderComponentComponent } from './components/render-component.component';\r\nimport { RenderEachDirective } from './components/render-each.directive';\r\nimport { RenderEmptyDirective } from './components/render-empty.directive';\r\nimport { RichTextDirective } from './components/rich-text.directive';\r\nimport { RouterLinkDirective } from './components/router-link.directive';\r\nimport { TextDirective } from './components/text.directive';\r\nimport { JssComponentFactoryService } from './jss-component-factory.service';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n FileDirective,\r\n ImageDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n DateDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n PlaceholderLoadingDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n RawComponent,\r\n RichTextDirective,\r\n TextDirective,\r\n MissingComponentComponent,\r\n ],\r\n exports: [\r\n FileDirective,\r\n ImageDirective,\r\n DateDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n PlaceholderLoadingDirective,\r\n RichTextDirective,\r\n TextDirective,\r\n ],\r\n entryComponents: [\r\n RawComponent,\r\n MissingComponentComponent,\r\n ],\r\n})\r\nexport class JssModule {\r\n /**\r\n * Instantiates the JSS module with no component factory.\r\n * Useful for using it from libraries. Most of the time you'd want withComponents()\r\n */\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n LayoutService,\r\n DatePipe,\r\n JssComponentFactoryService,\r\n ],\r\n };\r\n }\r\n\r\n /** Instantiates a module for a lazy-loaded JSS component */\r\n static forChild(component: Type<any>): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: component, multi: true },\r\n { provide: ROUTES, useValue: [], multi: true },\r\n { provide: DYNAMIC_COMPONENT, useValue: component },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates the JSS module and specifies the mapping from component name to component implementation.\r\n * Appropriate when defining the set of JSS components that your app is aware of.\r\n */\r\n static withComponents(components: ComponentNameAndType[], lazyComponents?: ComponentNameAndModule[]): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: components,\r\n multi: true,\r\n },\r\n { provide: PLACEHOLDER_COMPONENTS, useValue: components },\r\n { provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },\r\n { provide: ROUTES, useValue: lazyComponents || [], multi: true },\r\n { provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },\r\n ...(JssModule.forRoot().providers as any[]),\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DateDirective as ɵh} from './components/date.directive';\nexport {MissingComponentComponent as ɵk} from './components/missing-component.component';\nexport {ComponentNameAndModule as ɵa,PLACEHOLDER_COMPONENTS as ɵb,PLACEHOLDER_LAZY_COMPONENTS as ɵc,PLACEHOLDER_MISSING_COMPONENT_COMPONENT as ɵd} from './components/placeholder.token';\nexport {RawComponent as ɵj} from './components/raw.component';\nexport {RenderComponentComponent as ɵi} from './components/render-component.component';\nexport {RenderEachDirective as ɵe} from './components/render-each.directive';\nexport {RenderEmptyDirective as ɵf} from './components/render-empty.directive';\nexport {JssComponentFactoryService as ɵg} from './jss-component-factory.service';"],"names":["tslib_1.__decorate","tslib_1.__extends","tslib_1.__param","observableThrow","fromPromise"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sitecore-jss-sitecore-jss-angular.js","sources":["ng://@sitecore-jss/sitecore-jss-angular/components/file.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/image.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/router-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/generic-link.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.token.ts","ng://@sitecore-jss/sitecore-jss-angular/components/raw.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rendering.ts","ng://@sitecore-jss/sitecore-jss-angular/jss-component-factory.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder-loading.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-each.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-empty.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/placeholder.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/rich-text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/text.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/layout-service-error.ts","ng://@sitecore-jss/sitecore-jss-angular/layout.service.ts","ng://@sitecore-jss/sitecore-jss-angular/components/date.directive.ts","ng://@sitecore-jss/sitecore-jss-angular/components/missing-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/components/render-component.component.ts","ng://@sitecore-jss/sitecore-jss-angular/lib.module.ts","ng://@sitecore-jss/sitecore-jss-angular/sitecore-jss-sitecore-jss-angular.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { FileField } from './rendering-field';\r\n\r\n/**\r\n * File fields cannot be managed via the EE. We never output \"editable.\"\r\n */\r\n@Directive({ selector: '[scFile]' })\r\nexport class FileDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['field']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.value && !field.src)) {\r\n return;\r\n }\r\n\r\n const file = field.src ? field : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.href = file.src;\r\n if (node.innerHTML === '') {\r\n node.innerHTML = file.title || file.displayName;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { mediaApi } from '@sitecore-jss/sitecore-jss';\r\nimport { ImageField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scImage]' })\r\nexport class ImageDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImage') field: ImageField | '';\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageAttrs') attrs = {};\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['urlParams'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const overrideAttrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n const media = this.field;\r\n\r\n if (!media || (!media.editable && !media.value && !media.src)) {\r\n return;\r\n }\r\n\r\n let attrs: any = {};\r\n\r\n // we likely have an experience editor value, should be a string\r\n if (this.editable && media.editable) {\r\n const foundImg = mediaApi.findEditorImageTag(media.editable);\r\n if (!foundImg) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);\r\n if (!attrs) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n const tempImg: HTMLImageElement = this.renderer.createElement('img');\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n tempImg.setAttribute(key, attrValue)\r\n );\r\n const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);\r\n return this.renderInlineWrapper(editableMarkup);\r\n }\r\n\r\n // some wise-guy/gal is passing in a 'raw' image object value\r\n const img = media.src ? media : media.value;\r\n if (!img) {\r\n return null;\r\n }\r\n\r\n attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);\r\n if (attrs) {\r\n this.renderTemplate(attrs);\r\n }\r\n }\r\n\r\n private getImageAttrs(fieldAttrs: any, parsedAttrs: any, imageParams: any): any {\r\n const combinedAttrs = {\r\n ...fieldAttrs,\r\n ...parsedAttrs,\r\n };\r\n // tslint:disable-next-line:prefer-const\r\n let { src, srcSet, ...otherAttrs } = combinedAttrs;\r\n if (!src) {\r\n return null;\r\n }\r\n const newAttrs = {\r\n ...otherAttrs,\r\n };\r\n // update image URL for jss handler and image rendering params\r\n src = mediaApi.updateImageUrl(src, imageParams);\r\n if (srcSet) {\r\n // replace with HTML-formatted srcset, including updated image URLs\r\n newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams);\r\n } else {\r\n newAttrs.src = src;\r\n }\r\n return newAttrs;\r\n }\r\n\r\n private renderTemplate(imageProps: any) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(imageProps).forEach(([key, imgPropVal]: [string, any]) => this.renderer.setAttribute(node, key, imgPropVal));\r\n });\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n\r\n private renderInlineWrapper(editable: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-image-wrapper';\r\n span.innerHTML = editable;\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scLink]' })\r\nexport class LinkDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLink') field: LinkField;\r\n\r\n constructor(\r\n protected viewContainer: ViewContainerRef,\r\n protected templateRef: TemplateRef<any>,\r\n protected renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['attrs']) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (this.editable && field && field.editableFirstPart && field.editableLastPart) {\r\n this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);\r\n } else if (field && (field.href || field.value)) {\r\n const props = field.href ? field : field.value;\r\n const linkText = field.text || field.value.text || field.href || field.value.href;\r\n const mergedAttrs = { ...props, ...this.attrs };\r\n this.renderTemplate(mergedAttrs, linkText);\r\n }\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => \r\n this.renderer.setAttribute(node, key, propValue)\r\n )\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private renderInlineWrapper(editableFirstPart: string, editableLastPart: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-link-wrapper';\r\n span.innerHTML = editableFirstPart + editableLastPart;\r\n\r\n // assign attributes from template to inline wrapper\r\n const attrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) => \r\n this.renderer.setAttribute(span, key, attrValue)\r\n );\r\n\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any; } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any; } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scRouterLink]' })\r\nexport class RouterLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLink') field: LinkField;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n this.renderer.setAttribute(node, key, propValue);\r\n\r\n if (key === 'href') {\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue]);\r\n event.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scGenericLink]' })\r\nexport class GenericLinkDirective extends LinkDirective {\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkExtras') extras?: NavigationExtras;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href' && !this.isAbsoluteUrl(propValue)) {\r\n const urlTree = this.router.createUrlTree([propValue], this.extras);\r\n this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue], this.extras);\r\n event.preventDefault();\r\n });\r\n } else {\r\n this.renderer.setAttribute(node, key, propValue);\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private isAbsoluteUrl(url?: string) {\r\n if (url == null) {\r\n return false;\r\n }\r\n if (typeof url !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n\r\n return /^[a-z][a-z0-9+.-]*:/.test(url);\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\n\r\n/** Registers a statically loaded component */\r\nexport class ComponentNameAndType {\r\n name: string;\r\n type: Type<any>;\r\n}\r\n\r\n/** Registers a lazily loaded component by name and module to lazy load when it's needed */\r\nexport interface ComponentNameAndModule {\r\n /** Name of the component */\r\n path: string;\r\n /**\r\n * Dynamic import of the component,\r\n * e.g. () => import('./path/to/lazyloadedcomponent.module').then(m => m.LazyLoadedComponentModuleExportName)\r\n */\r\n loadChildren: () => Promise<any>;\r\n}\r\n\r\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\r\n\r\nexport function instanceOfComponentNameAndModule(object: any): object is ComponentNameAndModule {\r\n return 'module' in object;\r\n}\r\n\r\nexport const PLACEHOLDER_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.components');\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.lazyComponents');\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>('Sc.placeholder.missingComponentComponent');\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | {[s: string]: any}> ('Sc.placeholder.dynamicComponent');\r\n","import { Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n@Component({\r\n selector: 'sc-raw',\r\n template: ``,\r\n})\r\nexport class RawComponent implements OnInit {\r\n @Input() rendering: HtmlElementRendering;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n const el = this.renderer.createElement(this.rendering.name);\r\n const contents = this.renderer.createText(this.rendering.contents || '');\r\n const attributes = this.rendering.attributes;\r\n for (const attr in attributes) {\r\n if ((attributes as any).hasOwnProperty(attr)) {\r\n const value = attributes[attr];\r\n this.renderer.setAttribute(el, attr, value || '');\r\n }\r\n }\r\n\r\n this.renderer.appendChild(el, contents);\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n }\r\n}\r\n","import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport function isRawRendering(rendering: HtmlElementRendering | ComponentRendering): rendering is HtmlElementRendering {\r\n return !(rendering as ComponentRendering).componentName && (rendering as HtmlElementRendering).name !== undefined;\r\n}\r\n","import {\r\n ComponentFactory,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n Type\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { isRawRendering } from './components/rendering';\r\n\r\nexport interface ComponentFactoryResult {\r\n componentImplementation?: Type<any>;\r\n componentDefinition: ComponentRendering | HtmlElementRendering;\r\n componentFactory?: ComponentFactory<any>;\r\n}\r\n\r\n@Injectable()\r\nexport class JssComponentFactoryService {\r\n private componentMap: Map<string, Type<any>>;\r\n private lazyComponentMap: Map<string, ComponentNameAndModule>;\r\n\r\n constructor(\r\n private injector: Injector,\r\n @Inject(PLACEHOLDER_COMPONENTS) private components: ComponentNameAndType[],\r\n @Inject(PLACEHOLDER_LAZY_COMPONENTS) private lazyComponents: ComponentNameAndModule[]\r\n ) {\r\n this.componentMap = new Map();\r\n this.lazyComponentMap = new Map();\r\n\r\n this.components.forEach((c) => this.componentMap.set(c.name, c.type));\r\n\r\n if (this.lazyComponents) {\r\n this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));\r\n }\r\n }\r\n\r\n getComponent(component: ComponentRendering): Promise<ComponentFactoryResult> {\r\n const loadedComponent = this.componentMap.get(component.componentName);\r\n\r\n if (loadedComponent) {\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n componentImplementation: this.componentMap.get(component.componentName),\r\n });\r\n }\r\n\r\n const lazyComponent = this.lazyComponentMap.get(component.componentName);\r\n\r\n if (lazyComponent) {\r\n return lazyComponent.loadChildren()\r\n .then((ngModuleFactory) => {\r\n let componentType = null;\r\n const moduleRef = ngModuleFactory.create(this.injector);\r\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);\r\n if (!dynamicComponentType) {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n\r\n if (component.componentName in dynamicComponentType) {\r\n componentType = (dynamicComponentType as {[s: string]: any})[component.componentName];\r\n } else {\r\n if (typeof dynamicComponentType === 'function') {\r\n componentType = dynamicComponentType;\r\n } else {\r\n throw new Error(\r\n // tslint:disable-next-line:max-line-length\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n }\r\n\r\n return {\r\n componentDefinition: component,\r\n componentImplementation: componentType,\r\n componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),\r\n };\r\n });\r\n }\r\n\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n });\r\n }\r\n\r\n getComponents(components: Array<ComponentRendering | HtmlElementRendering>): Promise<ComponentFactoryResult[]> {\r\n // acquire all components and keep them in order while handling their potential async-ness\r\n return Promise.all(\r\n components.map((component) => isRawRendering(component)\r\n ? this.getRawComponent(component)\r\n : this.getComponent(component))\r\n );\r\n }\r\n\r\n private getRawComponent(component: HtmlElementRendering): Promise<ComponentFactoryResult> {\r\n return Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: component,\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scPlaceholderLoading]',\r\n})\r\nexport class PlaceholderLoadingDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEach]',\r\n})\r\nexport class RenderEachDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport {\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './placeholder.token';\r\nimport { RenderEachDirective } from './render-each.directive';\r\nimport { RenderEmptyDirective } from './render-empty.directive';\r\nimport { isRawRendering } from './rendering';\r\n\r\nfunction getPlaceholder(rendering: ComponentRendering, name: string) {\r\n if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {\r\n return rendering.placeholders[name];\r\n }\r\n return null;\r\n}\r\n\r\n@Component({\r\n selector: 'sc-placeholder,[sc-placeholder]',\r\n template: `\r\n <ng-template *ngIf=\"isLoading\" [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"></ng-template>\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class PlaceholderComponent implements OnInit, OnChanges, DoCheck, OnDestroy {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private _componentInstances: any[] = [];\r\n private destroyed = false;\r\n private parentStyleAttribute: string = '';\r\n public isLoading = true;\r\n\r\n @Input() name?: string;\r\n @Input() rendering: ComponentRendering;\r\n @Input() renderings?: Array<ComponentRendering | HtmlElementRendering>;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n\r\n @Output()\r\n loaded = new EventEmitter<string | undefined>();\r\n\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n @ContentChild(RenderEachDirective, { static: true }) renderEachTemplate: RenderEachDirective;\r\n @ContentChild(RenderEmptyDirective, { static: true }) renderEmptyTemplate: RenderEmptyDirective;\r\n @ContentChild(PlaceholderLoadingDirective, { static: true }) placeholderLoading?: PlaceholderLoadingDirective;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnInit() {\r\n // just to ensure the element exists\r\n const elem = this.elementRef.nativeElement;\r\n\r\n if (elem) {\r\n const attributes: NamedNodeMap = elem.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr: Attr | null = attributes.item(i);\r\n if (attr && attr.name.indexOf('_ngcontent') !== -1) {\r\n this.parentStyleAttribute = attr.name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed = true;\r\n this._componentInstances = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering'] || changes['renderings']) {\r\n this._render();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this._differ || !this._inputs || this._componentInstances.length === 0) {\r\n return;\r\n }\r\n\r\n const changes = this._differ.diff(this._inputs);\r\n if (!changes) {\r\n return;\r\n }\r\n const updates: { [key: string]: any } = {};\r\n changes.forEachRemovedItem((change) => updates[change.key] = null);\r\n changes.forEachAddedItem((change) => updates[change.key] = change.currentValue);\r\n changes.forEachChangedItem((change) => updates[change.key] = change.currentValue);\r\n this._componentInstances.forEach((componentInstance) => this._setComponentInputs(componentInstance, updates));\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this._componentInstances = [];\r\n this.view.clear();\r\n\r\n if (!this.rendering && !this.renderings) {\r\n return;\r\n }\r\n\r\n if (!this.name && !this.renderings) {\r\n // tslint:disable-next-line:max-line-length\r\n console.warn(`Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.`);\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n const placeholder = this.renderings || getPlaceholder(this.rendering, this.name || '');\r\n\r\n if (!placeholder) {\r\n console.warn(`Placeholder '${this.name}' was not found in the current rendering data`, JSON.stringify(this.rendering, null, 2));\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n // if the placeholder is empty (contains only raw renderings), then we may need to use the empty template if it's defined\r\n const placeholderIsEmpty = placeholder.every((rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering));\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef,\r\n {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory.getComponents(placeholder)\r\n .then((components) => components.forEach((rendering, index) => {\r\n if (this.renderEachTemplate && !isRawRendering(rendering.componentDefinition)) {\r\n this._renderTemplatedComponent(rendering.componentDefinition, index);\r\n } else {\r\n this._renderEmbeddedComponent(rendering, index);\r\n }\r\n this.isLoading = false;\r\n })).then(() => {\r\n this.changeDetectorRef.markForCheck();\r\n this.loaded.emit(this.name);\r\n });\r\n }\r\n }\r\n\r\n private _renderTemplatedComponent(\r\n rendering: ComponentRendering | HtmlElementRendering,\r\n index: number\r\n ) {\r\n // the render-each template takes care of all component mapping etc\r\n // generally using <sc-render-component> which is about like _renderEmbeddedComponent()\r\n // as a separate component\r\n this.view.createEmbeddedView(this.renderEachTemplate.templateRef,\r\n {\r\n rendering,\r\n index,\r\n });\r\n }\r\n\r\n private _renderEmbeddedComponent(rendering: ComponentFactoryResult, index: number) {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Placeholder ${this.name} contains unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n // apply the parent style attribute _ngcontent\r\n // work-around for https://github.com/angular/angular/issues/12215\r\n const createdComponentRef = this.view.createComponent(componentFactory, index);\r\n if (this.parentStyleAttribute) {\r\n this.renderer.setAttribute(createdComponentRef.location.nativeElement, this.parentStyleAttribute, '');\r\n }\r\n\r\n const componentInstance = createdComponentRef.instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n this._componentInstances.push(componentInstance);\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { RichTextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scRichText]',\r\n})\r\nexport class RichTextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = (field.editable && this.editable ? field.editable : field.value);\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.innerHTML = html;\r\n });\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scText]',\r\n})\r\nexport class TextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEncode') encode = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scText') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['editable'] || changes['encode']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n let editable = this.editable;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n // can't use editable value if we want to output unencoded\r\n if (!this.encode) {\r\n editable = false;\r\n }\r\n\r\n const html = field.editable && editable ? field.editable : field.value;\r\n const setDangerously = field.editable && editable || !this.encode;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = html;\r\n }\r\n });\r\n }\r\n}\r\n","import { LayoutServiceContextData } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { dataApi, LayoutServiceData, LayoutServiceRequestOptions, PlaceholderData } from '@sitecore-jss/sitecore-jss';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LayoutServiceError } from './layout-service-error';\r\n\r\nconst { fetchRouteData, fetchPlaceholderData } = dataApi;\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private static getLayoutServiceError(error: any): Observable<LayoutServiceError> {\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response;\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n\r\n getRouteData(route: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n\r\n getPlaceholderData(\r\n route: string,\r\n placeholderName: string,\r\n options: LayoutServiceRequestOptions<PlaceholderData>\r\n ): Observable<PlaceholderData | LayoutServiceError> {\r\n return fromPromise(fetchPlaceholderData(placeholderName, route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scDate]',\r\n})\r\nexport class DateDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateFormat') format?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateLocale') locale?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDate') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['field'] || changes['format']) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n const setDangerously = field.editable && this.editable;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sc-missing-component',\r\n template: `\r\n<div style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\">\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n</div>`,\r\n})\r\nexport class MissingComponentComponent {\r\n @Input() rendering: any;\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RawComponent } from './raw.component';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * Renders a single JSS component given a rendering definition.\r\n * Useful inside templated placeholders.\r\n */\r\n@Component({\r\n selector: 'sc-render-component',\r\n template: `\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class RenderComponentComponent implements OnChanges {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private destroyed = false;\r\n\r\n @Input() rendering: ComponentRendering | HtmlElementRendering;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rendering']) {\r\n this._render();\r\n }\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\r\n }\r\n\r\n private _render() {\r\n this.view.clear();\r\n\r\n if (!this.rendering) {\r\n return;\r\n }\r\n\r\n const resolveComponent: Promise<ComponentFactoryResult> = isRawRendering(this.rendering)\r\n ? Promise.resolve({ componentImplementation: RawComponent, componentDefinition: this.rendering })\r\n : this.componentFactory.getComponent(this.rendering);\r\n\r\n resolveComponent.then((rendering) => {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory || this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n const componentInstance = this.view.createComponent(componentFactory, 0).instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport {\r\n ANALYZE_FOR_ENTRY_COMPONENTS,\r\n ModuleWithProviders,\r\n NgModule,\r\n Type\r\n} from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport { DateDirective } from './components/date.directive';\r\nimport { FileDirective } from './components/file.directive';\r\nimport { GenericLinkDirective } from './components/generic-link.directive';\r\nimport { ImageDirective } from './components/image.directive';\r\nimport { LinkDirective } from './components/link.directive';\r\nimport { MissingComponentComponent } from './components/missing-component.component';\r\nimport { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';\r\nimport { PlaceholderComponent } from './components/placeholder.component';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { RenderComponentComponent } from './components/render-component.component';\r\nimport { RenderEachDirective } from './components/render-each.directive';\r\nimport { RenderEmptyDirective } from './components/render-empty.directive';\r\nimport { RichTextDirective } from './components/rich-text.directive';\r\nimport { RouterLinkDirective } from './components/router-link.directive';\r\nimport { TextDirective } from './components/text.directive';\r\nimport { JssComponentFactoryService } from './jss-component-factory.service';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n FileDirective,\r\n ImageDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n DateDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n PlaceholderLoadingDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n RawComponent,\r\n RichTextDirective,\r\n TextDirective,\r\n MissingComponentComponent,\r\n ],\r\n exports: [\r\n FileDirective,\r\n ImageDirective,\r\n DateDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n PlaceholderLoadingDirective,\r\n RichTextDirective,\r\n TextDirective,\r\n ],\r\n entryComponents: [\r\n RawComponent,\r\n MissingComponentComponent,\r\n ],\r\n})\r\nexport class JssModule {\r\n /**\r\n * Instantiates the JSS module with no component factory.\r\n * Useful for using it from libraries. Most of the time you'd want withComponents()\r\n */\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n LayoutService,\r\n DatePipe,\r\n JssComponentFactoryService,\r\n ],\r\n };\r\n }\r\n\r\n /** Instantiates a module for a lazy-loaded JSS component */\r\n static forChild(component: Type<any>): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: component, multi: true },\r\n { provide: ROUTES, useValue: [], multi: true },\r\n { provide: DYNAMIC_COMPONENT, useValue: component },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates the JSS module and specifies the mapping from component name to component implementation.\r\n * Appropriate when defining the set of JSS components that your app is aware of.\r\n */\r\n static withComponents(components: ComponentNameAndType[], lazyComponents?: ComponentNameAndModule[]): ModuleWithProviders {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: components,\r\n multi: true,\r\n },\r\n { provide: PLACEHOLDER_COMPONENTS, useValue: components },\r\n { provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },\r\n { provide: ROUTES, useValue: lazyComponents || [], multi: true },\r\n { provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },\r\n ...(JssModule.forRoot().providers as any[]),\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DateDirective as ɵh} from './components/date.directive';\nexport {MissingComponentComponent as ɵk} from './components/missing-component.component';\nexport {ComponentNameAndModule as ɵa,PLACEHOLDER_COMPONENTS as ɵb,PLACEHOLDER_LAZY_COMPONENTS as ɵc,PLACEHOLDER_MISSING_COMPONENT_COMPONENT as ɵd} from './components/placeholder.token';\nexport {RawComponent as ɵj} from './components/raw.component';\nexport {RenderComponentComponent as ɵi} from './components/render-component.component';\nexport {RenderEachDirective as ɵe} from './components/render-each.directive';\nexport {RenderEmptyDirective as ɵf} from './components/render-empty.directive';\nexport {JssComponentFactoryService as ɵg} from './jss-component-factory.service';"],"names":["tslib_1.__decorate","tslib_1.__extends","tslib_1.__param","observableThrow","fromPromise"],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sitecore-jss/sitecore-jss-angular",
|
|
3
|
-
"version": "13.2.
|
|
3
|
+
"version": "13.2.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Sitecore Corporation",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"rxjs": "^6.5.3"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@sitecore-jss/sitecore-jss": "^13.2.
|
|
47
|
+
"@sitecore-jss/sitecore-jss": "^13.2.2",
|
|
48
48
|
"tslib": "^1.9.0"
|
|
49
49
|
},
|
|
50
50
|
"main": "bundles/sitecore-jss-sitecore-jss-angular.umd.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sitecore-jss/sitecore-jss-angular",
|
|
3
|
-
"version": "13.2.
|
|
3
|
+
"version": "13.2.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "ng-packagr -p ng-package.json",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"rxjs": "^6.5.3"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@sitecore-jss/sitecore-jss": "^13.2.
|
|
54
|
+
"@sitecore-jss/sitecore-jss": "^13.2.3"
|
|
55
55
|
},
|
|
56
56
|
"main": "dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js",
|
|
57
57
|
"module": "dist/esm5/sitecore-jss-sitecore-jss-angular.js",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"fesm5": "dist/fesm5/sitecore-jss-sitecore-jss-angular.js",
|
|
64
64
|
"fesm2015": "dist/fesm2015/sitecore-jss-sitecore-jss-angular.js",
|
|
65
65
|
"sideEffects": false,
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "289301c793b4b43c9fb5cddd79c816346caacc66"
|
|
67
67
|
}
|