@esolve/ng-esolve-connect 0.102.2 → 0.104.0

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":"esolve-ng-esolve-connect-media.mjs","sources":["../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-heading.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-group.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-layout-section.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-link.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-article.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/esolve-connect-media-config.token.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media-layout.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.html","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.html","../../../../libs/ng-esolve-connect/media/src/lib/functions/provide-ng-esolve-connect-media.function.ts","../../../../libs/ng-esolve-connect/media/src/lib/ng-esolve-connect-media.module.ts","../../../../libs/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\n constructor(\n public identifier: string,\n public value: string,\n ) {}\n}\n","import { EsolveMediaGroupRecord } from '../interfaces';\n\nexport class EsolveMediaGroup {\n public id = 0;\n public name = '';\n public sef_name = '';\n public description = '';\n\n constructor(record?: EsolveMediaGroupRecord) {\n if (record) {\n this.id = +(record.id ?? 0);\n this.name = record.name ?? '';\n this.sef_name = record.sef_name ?? '';\n this.description = record.description ?? '';\n }\n }\n}\n","import {\n EsolveMediaLayoutSectionRecord,\n EsolveMediaSectionDataGeneric,\n} from '../interfaces';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nexport class EsolveMediaLayoutSection {\n public type: EsolveMediaLayoutSectionType;\n public sub_type = '';\n public identifier: string;\n\n private data?: EsolveMediaSectionDataGeneric;\n\n constructor(record: EsolveMediaLayoutSectionRecord) {\n this.type = record.type;\n this.identifier = record.identifier;\n this.sub_type = record.sub_type ?? '';\n\n if (record.data) {\n this.data = record.data;\n }\n }\n\n public getData<T = EsolveMediaSectionDataGeneric>(): T | null {\n if (typeof this.data === 'undefined') {\n return null;\n }\n\n return this.data as T;\n }\n}\n","import { EsolveUrlTarget } from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaLinkRecord } from '../interfaces';\n\nexport class EsolveMediaLink {\n public caption: string;\n public url: string;\n public target: EsolveUrlTarget;\n\n constructor(record: EsolveMediaLinkRecord) {\n this.url = record.url;\n this.caption = record.caption ?? 'Read more...';\n this.target = record.target ?? '_self';\n }\n}\n","import {\n EsolveSeoDetails,\n EsolveTag,\n EsolveTopic,\n EsolveSeoInfo,\n EsolveManufacturer,\n EsolveRange,\n EsolveCustomFields,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaRecord } from '../interfaces';\n\nimport { EsolveMediaGroup } from './esolve-media-group.model';\nimport { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';\nimport { EsolveMediaLink } from './esolve-media-link.model';\n\nexport class EsolveMediaArticle implements EsolveSeoDetails {\n public identifier: string;\n public title: string;\n public sub_title: string;\n public article: string;\n public layout = '';\n public image_url = '';\n public tags: EsolveTag[] = [];\n public topics: EsolveTopic[] = [];\n public seo_details: EsolveSeoInfo;\n public group?: EsolveMediaGroup;\n public manufacturer?: EsolveManufacturer;\n public range?: EsolveRange;\n public sections?: Map<string, EsolveMediaLayoutSection[]>;\n public link?: EsolveMediaLink;\n public custom_fields?: EsolveCustomFields;\n\n constructor(record: EsolveMediaRecord) {\n this.identifier = record.identifier;\n this.title = record.title;\n this.sub_title = record.sub_title;\n this.article = record.article;\n\n let seo_title = record.seo_page_title ?? '';\n const seo_keywords = record.seo_keywords ?? '';\n const seo_description = record.seo_description ?? '';\n\n if (seo_title.trim() === '') {\n seo_title = this.title;\n }\n\n this.seo_details = new EsolveSeoInfo(\n seo_title,\n seo_description,\n seo_keywords,\n );\n\n this.image_url = record.image_url ?? '';\n if (this.image_url !== '') {\n this.image_url = this.image_url + '?cs=' + record.image_checksum;\n }\n\n if (record.tags && record.tags.length > 0) {\n for (const tag of record.tags) {\n this.tags.push(new EsolveTag(tag));\n }\n }\n\n if (record.topics && record.topics.length > 0) {\n for (const topic of record.topics) {\n this.topics.push(new EsolveTopic(topic));\n }\n }\n\n if (record.media_group) {\n this.group = new EsolveMediaGroup(record.media_group);\n }\n\n if (record.manufacturer) {\n this.manufacturer = new EsolveManufacturer(record.manufacturer);\n }\n\n if (record.range) {\n this.range = new EsolveRange(record.range);\n }\n\n if (\n record.is_both_master_and_minor_article ||\n !record.is_minor_article\n ) {\n this.layout = record.layout ?? '';\n\n if (record.sections) {\n this.sections = new Map<string, EsolveMediaLayoutSection[]>();\n\n for (const key in record.sections) {\n const section_list: EsolveMediaLayoutSection[] = [];\n const section_records = record.sections[key];\n\n for (const section_record of section_records) {\n section_list.push(\n new EsolveMediaLayoutSection(section_record),\n );\n }\n\n this.sections.set(key, section_list);\n }\n }\n }\n\n if (\n record.is_both_master_and_minor_article ||\n record.is_minor_article\n ) {\n if (record.sef_url) {\n this.link = new EsolveMediaLink({\n url: record.sef_url,\n caption: record.link_caption,\n target: record.target,\n });\n }\n }\n\n if (record.custom_fields) {\n this.custom_fields = record.custom_fields;\n }\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport {\n EsolveGetResponse,\n EsolveConfigService,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaArticle, EsolveHeading } from '../classes';\nimport { EsolveMediaRecord, EsolveHeadingRecord } from '../interfaces';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EsolveMediaService {\n private config = inject(EsolveConfigService);\n private http = inject(HttpClient);\n\n /**\n * Retrieves the media record from the eSolve instance using the identifier\n *\n * @param identifier String representing the eSolve media identifier\n */\n public getMediaArticle(identifier: string): Observable<EsolveMediaArticle> {\n const params = new HttpParams({ fromObject: { identifier } });\n\n // TODO: Error Handling\n return this.getMediaRecords(params).pipe(\n map((response) => {\n if (\n response.records === undefined ||\n response.records.length <= 0\n ) {\n throw response;\n }\n\n const mediaRecord = response.records[0];\n\n if (!mediaRecord.active) {\n throw response;\n }\n\n return this.processMediaRecord(mediaRecord);\n }),\n );\n }\n\n /**\n * Retrieves a group of media records from the eSolve instance linked to a group\n *\n * @param media_group String representing the eSolve media group\n */\n public getGroupedMediaArticles(\n media_group: string,\n ): Observable<EsolveMediaArticle[]> {\n const params = new HttpParams({\n fromObject: { media_group_sef: media_group },\n });\n\n return this.getMediaRecords(params).pipe(\n map((response) => {\n const mediaArticles: EsolveMediaArticle[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const mediaRecord of response.records) {\n if (mediaRecord.active) {\n mediaArticles.push(\n this.processMediaRecord(mediaRecord),\n );\n }\n }\n }\n\n return mediaArticles;\n }),\n );\n }\n\n /**\n * Retrieves the media heading records from the eSolve instance using the identifiers\n *\n * @param identifiers Array of strings representing the eSolve heading identifiers\n */\n public getHeadings(identifiers: string[]): Observable<EsolveHeading[]> {\n return this.http\n .get<EsolveGetResponse<EsolveHeadingRecord[]>>(\n `${this.config.api_url}/get-headings.php`,\n {\n params: {\n identifier: identifiers.join(','),\n },\n },\n )\n .pipe(\n map((response) => {\n const headings: EsolveHeading[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const heading_record of response.records) {\n headings.push(\n this.processHeadingRecord(heading_record),\n );\n }\n }\n\n return headings;\n }),\n );\n }\n\n /**\n * Processes media article record\n *\n * @param record Record from eSolve instance\n */\n private processMediaRecord(record: EsolveMediaRecord): EsolveMediaArticle {\n return new EsolveMediaArticle(record);\n }\n\n /**\n * Processes media heading record\n *\n * @param record Record from eSolve instance\n */\n private processHeadingRecord(record: EsolveHeadingRecord): EsolveHeading {\n return new EsolveHeading(record.identifier, record.value);\n }\n\n /**\n * Retrieves media records from eSolve instance.\n *\n * @param params HTTP params\n */\n private getMediaRecords(\n params: HttpParams,\n ): Observable<EsolveGetResponse<EsolveMediaRecord[]>> {\n return this.http.get<EsolveGetResponse<EsolveMediaRecord[]>>(\n `${this.config.api_url}/get-media.php`,\n { params },\n );\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from './interfaces';\n\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\n new InjectionToken<EsolveConnectMediaConfig>('esolve.connect.media.config');\n","import { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable } from '@angular/core';\n\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\ntype ComponentMap = Map<string, ComponentType<any>>;\n\ntype SectionKeyOptions = {\n type: EsolveMediaLayoutSectionType;\n sub_type?: string;\n layout?: string;\n group?: string;\n};\n\n@Injectable()\nexport class EsolveMediaLayoutService {\n private readonly section_key_delimiter = '>>>';\n private readonly default_section_group_key = '__default';\n private readonly default_layout_key = '__default__';\n\n private media?: EsolveMediaArticle;\n private layout_map: ComponentMap = new Map();\n private section_map: ComponentMap = new Map();\n private default_layout: string;\n\n constructor() {\n const config = inject(ESOLVE_CONNECT_MEDIA_CONFIG);\n\n if (config.layouts.length === 0) {\n throw new Error('No layouts have been defined');\n }\n\n for (const layout of config.layouts) {\n this.setLayout(layout.key, layout.component);\n\n if (layout.sections) {\n for (const section_group_key in layout.sections) {\n const sections = layout.sections[section_group_key];\n\n if (!sections || sections.length === 0) {\n continue;\n }\n\n for (const section of sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n layout: layout.key,\n };\n\n if (\n section_group_key !== this.default_section_group_key\n ) {\n key_options.group = section_group_key;\n }\n\n this.setSection(section.component, key_options);\n }\n }\n }\n }\n\n const default_layout = config.default_layout;\n\n if (default_layout) {\n this.default_layout = default_layout;\n } else {\n this.default_layout = config.layouts[0].key;\n }\n\n if (config.sections.length > 0) {\n for (const section of config.sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n };\n\n this.setSection(section.component, key_options);\n }\n }\n }\n\n public getMedia() {\n if (!this.media) {\n throw new Error('Media not declared');\n }\n\n return this.media;\n }\n\n public setMedia(media: EsolveMediaArticle) {\n this.media = media;\n }\n\n public getLayout() {\n const media = this.getMedia();\n\n let layout_key = media.layout;\n\n if (layout_key === '') {\n layout_key = this.default_layout;\n }\n\n return this.searchLayout(layout_key);\n }\n\n public getSectionContent(key: string) {\n const media = this.getMedia();\n\n if (media.sections) {\n const section = media.sections.get(key);\n\n if (section) {\n return section;\n }\n }\n\n return [];\n }\n\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\n const type = section.type;\n const sub_type = section.sub_type;\n const { layout } = this.getMedia();\n\n const section_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n group: key,\n });\n\n let component = this.section_map.get(section_key);\n\n if (component) {\n return component;\n }\n\n const layout_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n });\n\n component = this.section_map.get(layout_key);\n\n if (component) {\n return component;\n }\n\n const base_key = this.createSectionMapKey({\n type,\n sub_type,\n });\n\n component = this.section_map.get(base_key);\n\n if (component) {\n return component;\n }\n\n throw new Error('Section component not defined');\n }\n\n private searchLayout(layout_key: string) {\n if (layout_key === this.default_layout_key) {\n layout_key = this.default_layout;\n }\n\n const component = this.layout_map.get(layout_key);\n\n if (!component) {\n throw new Error('Layout not declared');\n }\n\n return component;\n }\n\n private setLayout(key: string, component: ComponentType<any>) {\n this.layout_map.set(key, component);\n }\n\n private setSection(\n component: ComponentType<any>,\n key_options: SectionKeyOptions,\n ) {\n const key = this.createSectionMapKey(key_options);\n\n this.section_map.set(key, component);\n }\n\n private createSectionMapKey(key_options: SectionKeyOptions) {\n const { type, sub_type, layout, group } = key_options;\n\n const key_array: string[] = [type];\n\n if (sub_type) {\n key_array.push(sub_type);\n }\n\n if (layout) {\n key_array.push(layout);\n\n if (group) {\n key_array.push(group);\n }\n }\n\n return key_array.join(this.section_key_delimiter);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnChanges, Input, Injector, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaArticle } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-layout',\n templateUrl: 'esolve-media-layout.component.html',\n imports: [CommonModule, PortalModule],\n providers: [EsolveMediaLayoutService],\n})\nexport class EsolveMediaLayoutComponent implements OnChanges {\n @Input({ required: true }) public media!: EsolveMediaArticle;\n\n public layoutService = inject(EsolveMediaLayoutService);\n public portal!: ComponentPortal<any>;\n\n public ngOnChanges(): void {\n this.layoutService.setMedia(this.media);\n const component = this.layoutService.getLayout();\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n this.portal = new ComponentPortal(component, null, injector);\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, Injector, Input, OnChanges, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaLayoutSection } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-section',\n templateUrl: './esolve-media-section.component.html',\n imports: [CommonModule, PortalModule],\n})\nexport class EsolveMediaSectionComponent implements OnChanges {\n @Input({ required: true }) public key!: string;\n\n public layoutService = inject(EsolveMediaLayoutService);\n public portals: ComponentPortal<any>[] = [];\n\n public ngOnChanges(): void {\n const sections = this.layoutService.getSectionContent(this.key);\n this.processPortals(sections);\n }\n\n private processPortals(sections: EsolveMediaLayoutSection[]) {\n for (const section of sections) {\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutSection,\n useValue: section,\n },\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n const component = this.layoutService.getSectionComponent(\n this.key,\n section,\n );\n\n const portal = new ComponentPortal(component, null, injector);\n this.portals.push(portal);\n }\n }\n}\n","<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n","import { Provider } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from '../interfaces';\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\nexport function provideNgEsolveConnectMedia(\n config: EsolveConnectMediaConfig,\n): Provider {\n return {\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\n useValue: config,\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n} from './components';\nimport { EsolveConnectMediaConfig } from './interfaces';\nimport { provideNgEsolveConnectMedia } from './functions';\n\n@NgModule({\n imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n})\nexport class NgEsolveConnectMediaModule {\n public static withConfig(\n config: EsolveConnectMediaConfig,\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\n return {\n ngModule: NgEsolveConnectMediaModule,\n providers: [provideNgEsolveConnectMedia(config)],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"esolve-ng-esolve-connect-media.mjs","sources":["../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-heading.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-group.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-layout-section.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-link.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-article.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/esolve-connect-media-config.token.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media-layout.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.html","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.html","../../../../libs/ng-esolve-connect/media/src/lib/functions/provide-ng-esolve-connect-media.function.ts","../../../../libs/ng-esolve-connect/media/src/lib/ng-esolve-connect-media.module.ts","../../../../libs/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\n constructor(\n public identifier: string,\n public value: string,\n ) {}\n}\n","import { EsolveMediaGroupRecord } from '../interfaces';\n\nexport class EsolveMediaGroup {\n public id = 0;\n public name = '';\n public sef_name = '';\n public description = '';\n\n constructor(record?: EsolveMediaGroupRecord) {\n if (record) {\n this.id = +(record.id ?? 0);\n this.name = record.name ?? '';\n this.sef_name = record.sef_name ?? '';\n this.description = record.description ?? '';\n }\n }\n}\n","import {\n EsolveMediaLayoutSectionRecord,\n EsolveMediaSectionDataGeneric,\n} from '../interfaces';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nexport class EsolveMediaLayoutSection {\n public type: EsolveMediaLayoutSectionType;\n public sub_type = '';\n public identifier: string;\n\n private data?: EsolveMediaSectionDataGeneric;\n\n constructor(record: EsolveMediaLayoutSectionRecord) {\n this.type = record.type;\n this.identifier = record.identifier;\n this.sub_type = record.sub_type ?? '';\n\n if (record.data) {\n this.data = record.data;\n }\n }\n\n public getData<T = EsolveMediaSectionDataGeneric>(): T | null {\n if (typeof this.data === 'undefined') {\n return null;\n }\n\n return this.data as T;\n }\n}\n","import { EsolveUrlTarget } from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaLinkRecord } from '../interfaces';\n\nexport class EsolveMediaLink {\n public caption: string;\n public url: string;\n public target: EsolveUrlTarget;\n\n constructor(record: EsolveMediaLinkRecord) {\n this.url = record.url;\n this.caption = record.caption ?? 'Read more...';\n this.target = record.target ?? '_self';\n }\n}\n","import {\n EsolveSeoDetails,\n EsolveTag,\n EsolveTopic,\n EsolveSeoInfo,\n EsolveManufacturer,\n EsolveRange,\n EsolveCustomFields,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaRecord } from '../interfaces';\n\nimport { EsolveMediaGroup } from './esolve-media-group.model';\nimport { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';\nimport { EsolveMediaLink } from './esolve-media-link.model';\n\nexport class EsolveMediaArticle implements EsolveSeoDetails {\n public identifier: string;\n public title: string;\n public sub_title: string;\n public article: string;\n public layout = '';\n public image_url = '';\n public tags: EsolveTag[] = [];\n public topics: EsolveTopic[] = [];\n public seo_details: EsolveSeoInfo;\n public group?: EsolveMediaGroup;\n public manufacturer?: EsolveManufacturer;\n public range?: EsolveRange;\n public sections?: Map<string, EsolveMediaLayoutSection[]>;\n public link?: EsolveMediaLink;\n public custom_fields?: EsolveCustomFields;\n\n constructor(record: EsolveMediaRecord) {\n this.identifier = record.identifier;\n this.title = record.title;\n this.sub_title = record.sub_title;\n this.article = record.article;\n\n let seo_title = record.seo_page_title ?? '';\n const seo_keywords = record.seo_keywords ?? '';\n const seo_description = record.seo_description ?? '';\n\n if (seo_title.trim() === '') {\n seo_title = this.title;\n }\n\n this.seo_details = new EsolveSeoInfo(\n seo_title,\n seo_description,\n seo_keywords,\n );\n\n this.image_url = record.image_url ?? '';\n if (this.image_url !== '') {\n this.image_url = this.image_url + '?cs=' + record.image_checksum;\n }\n\n if (record.tags && record.tags.length > 0) {\n for (const tag of record.tags) {\n this.tags.push(new EsolveTag(tag));\n }\n }\n\n if (record.topics && record.topics.length > 0) {\n for (const topic of record.topics) {\n this.topics.push(new EsolveTopic(topic));\n }\n }\n\n if (record.media_group) {\n this.group = new EsolveMediaGroup(record.media_group);\n }\n\n if (record.manufacturer) {\n this.manufacturer = new EsolveManufacturer(record.manufacturer);\n }\n\n if (record.range) {\n this.range = new EsolveRange(record.range);\n }\n\n if (\n record.is_both_master_and_minor_article ||\n !record.is_minor_article\n ) {\n this.layout = record.layout ?? '';\n\n if (record.sections) {\n this.sections = new Map<string, EsolveMediaLayoutSection[]>();\n\n for (const key in record.sections) {\n const section_list: EsolveMediaLayoutSection[] = [];\n const section_records = record.sections[key];\n\n for (const section_record of section_records) {\n section_list.push(\n new EsolveMediaLayoutSection(section_record),\n );\n }\n\n this.sections.set(key, section_list);\n }\n }\n }\n\n if (\n record.is_both_master_and_minor_article ||\n record.is_minor_article\n ) {\n if (record.sef_url) {\n this.link = new EsolveMediaLink({\n url: record.sef_url,\n caption: record.link_caption,\n target: record.target,\n });\n }\n }\n\n if (record.custom_fields) {\n this.custom_fields = record.custom_fields;\n }\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport {\n EsolveGetResponse,\n EsolveConfigService,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaArticle, EsolveHeading } from '../classes';\nimport { EsolveMediaRecord, EsolveHeadingRecord } from '../interfaces';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EsolveMediaService {\n private config = inject(EsolveConfigService);\n private http = inject(HttpClient);\n\n /**\n * Retrieves the media record from the eSolve instance using the identifier\n *\n * @param identifier String representing the eSolve media identifier\n */\n public getMediaArticle(identifier: string): Observable<EsolveMediaArticle> {\n const params = new HttpParams({ fromObject: { identifier } });\n\n // TODO: Error Handling\n return this.getMediaRecords(params).pipe(\n map((response) => {\n if (\n response.records === undefined ||\n response.records.length <= 0\n ) {\n throw response;\n }\n\n const mediaRecord = response.records[0];\n\n if (!mediaRecord.active) {\n throw response;\n }\n\n return this.processMediaRecord(mediaRecord);\n }),\n );\n }\n\n /**\n * Retrieves a group of media records from the eSolve instance linked to a group\n *\n * @param media_group String representing the eSolve media group\n */\n public getGroupedMediaArticles(\n media_group: string,\n ): Observable<EsolveMediaArticle[]> {\n const params = new HttpParams({\n fromObject: { media_group_sef: media_group },\n });\n\n return this.getMediaRecords(params).pipe(\n map((response) => {\n const mediaArticles: EsolveMediaArticle[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const mediaRecord of response.records) {\n if (mediaRecord.active) {\n mediaArticles.push(\n this.processMediaRecord(mediaRecord),\n );\n }\n }\n }\n\n return mediaArticles;\n }),\n );\n }\n\n /**\n * Retrieves the media heading records from the eSolve instance using the identifiers\n *\n * @param identifiers Array of strings representing the eSolve heading identifiers\n */\n public getHeadings(identifiers: string[]): Observable<EsolveHeading[]> {\n return this.http\n .get<EsolveGetResponse<EsolveHeadingRecord[]>>(\n `${this.config.api_url}/get-headings.php`,\n {\n params: {\n identifier: identifiers.join(','),\n },\n },\n )\n .pipe(\n map((response) => {\n const headings: EsolveHeading[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const heading_record of response.records) {\n headings.push(\n this.processHeadingRecord(heading_record),\n );\n }\n }\n\n return headings;\n }),\n );\n }\n\n /**\n * Processes media article record\n *\n * @param record Record from eSolve instance\n */\n private processMediaRecord(record: EsolveMediaRecord): EsolveMediaArticle {\n return new EsolveMediaArticle(record);\n }\n\n /**\n * Processes media heading record\n *\n * @param record Record from eSolve instance\n */\n private processHeadingRecord(record: EsolveHeadingRecord): EsolveHeading {\n return new EsolveHeading(record.identifier, record.value);\n }\n\n /**\n * Retrieves media records from eSolve instance.\n *\n * @param params HTTP params\n */\n private getMediaRecords(\n params: HttpParams,\n ): Observable<EsolveGetResponse<EsolveMediaRecord[]>> {\n return this.http.get<EsolveGetResponse<EsolveMediaRecord[]>>(\n `${this.config.api_url}/get-media.php`,\n { params },\n );\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from './interfaces';\n\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\n new InjectionToken<EsolveConnectMediaConfig>('esolve.connect.media.config');\n","import { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable } from '@angular/core';\n\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\nimport { EsolveSectionKeyOptions } from '../interfaces';\n\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\n@Injectable()\nexport class EsolveMediaLayoutService {\n private readonly section_key_delimiter = '>>>';\n private readonly default_section_group_key = '__default';\n private readonly default_layout_key = '__default__';\n\n private media?: EsolveMediaArticle;\n private layout_map = new Map<string, ComponentType<any>>();\n private section_map = new Map<string, ComponentType<any>>();\n private default_layout: string;\n\n constructor() {\n const config = inject(ESOLVE_CONNECT_MEDIA_CONFIG);\n\n if (config.layouts.length === 0) {\n throw new Error('No layouts have been defined');\n }\n\n for (const layout of config.layouts) {\n this.setLayout(layout.key, layout.component);\n\n if (layout.sections) {\n for (const section_group_key in layout.sections) {\n const sections = layout.sections[section_group_key];\n\n if (!sections || sections.length === 0) {\n continue;\n }\n\n for (const section of sections) {\n const key_options: EsolveSectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n layout: layout.key,\n };\n\n if (\n section_group_key !== this.default_section_group_key\n ) {\n key_options.group = section_group_key;\n }\n\n this.setSection(section.component, key_options);\n }\n }\n }\n }\n\n const default_layout = config.default_layout;\n\n if (default_layout) {\n this.default_layout = default_layout;\n } else {\n this.default_layout = config.layouts[0].key;\n }\n\n if (config.sections.length > 0) {\n for (const section of config.sections) {\n const key_options: EsolveSectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n };\n\n this.setSection(section.component, key_options);\n }\n }\n }\n\n public getMedia() {\n if (!this.media) {\n throw new Error('Media not declared');\n }\n\n return this.media;\n }\n\n public setMedia(media: EsolveMediaArticle) {\n this.media = media;\n }\n\n public getLayout() {\n const media = this.getMedia();\n\n let layout_key = media.layout;\n\n if (layout_key === '') {\n layout_key = this.default_layout;\n }\n\n return this.searchLayout(layout_key);\n }\n\n public getSectionContent(key: string) {\n const media = this.getMedia();\n\n if (media.sections) {\n const section = media.sections.get(key);\n\n if (section) {\n return section;\n }\n }\n\n return [];\n }\n\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\n const type = section.type;\n const sub_type = section.sub_type;\n const { layout } = this.getMedia();\n\n const section_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n group: key,\n });\n\n let component = this.section_map.get(section_key);\n\n if (component) {\n return component;\n }\n\n const layout_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n });\n\n component = this.section_map.get(layout_key);\n\n if (component) {\n return component;\n }\n\n const base_key = this.createSectionMapKey({\n type,\n sub_type,\n });\n\n component = this.section_map.get(base_key);\n\n if (component) {\n return component;\n }\n\n throw new Error('Section component not defined');\n }\n\n private searchLayout(layout_key: string) {\n if (layout_key === this.default_layout_key) {\n layout_key = this.default_layout;\n }\n\n const component = this.layout_map.get(layout_key);\n\n if (!component) {\n throw new Error('Layout not declared');\n }\n\n return component;\n }\n\n private setLayout(key: string, component: ComponentType<any>) {\n this.layout_map.set(key, component);\n }\n\n private setSection(\n component: ComponentType<any>,\n key_options: EsolveSectionKeyOptions,\n ) {\n const key = this.createSectionMapKey(key_options);\n\n this.section_map.set(key, component);\n }\n\n private createSectionMapKey(key_options: EsolveSectionKeyOptions) {\n const { type, sub_type, layout, group } = key_options;\n\n const key_array: string[] = [type];\n\n if (sub_type) {\n key_array.push(sub_type);\n }\n\n if (layout) {\n key_array.push(layout);\n\n if (group) {\n key_array.push(group);\n }\n }\n\n return key_array.join(this.section_key_delimiter);\n }\n}\n","import { Component, OnChanges, Input, Injector, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaArticle } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-layout',\n templateUrl: 'esolve-media-layout.component.html',\n imports: [PortalModule],\n providers: [EsolveMediaLayoutService],\n})\nexport class EsolveMediaLayoutComponent implements OnChanges {\n private readonly layoutService = inject(EsolveMediaLayoutService);\n\n @Input({ required: true }) public media!: EsolveMediaArticle;\n\n public portal!: ComponentPortal<any>;\n\n public ngOnChanges(): void {\n this.layoutService.setMedia(this.media);\n const component = this.layoutService.getLayout();\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n this.portal = new ComponentPortal(component, null, injector);\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\" />\n","import { CommonModule } from '@angular/common';\nimport { Component, Injector, Input, OnChanges, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaLayoutSection } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-section',\n templateUrl: './esolve-media-section.component.html',\n imports: [CommonModule, PortalModule],\n})\nexport class EsolveMediaSectionComponent implements OnChanges {\n private readonly layoutService = inject(EsolveMediaLayoutService);\n\n @Input({ required: true }) public key!: string;\n\n public portals: ComponentPortal<any>[] = [];\n\n public ngOnChanges(): void {\n const sections = this.layoutService.getSectionContent(this.key);\n this.processPortals(sections);\n }\n\n private processPortals(sections: EsolveMediaLayoutSection[]) {\n for (const section of sections) {\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutSection,\n useValue: section,\n },\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n const component = this.layoutService.getSectionComponent(\n this.key,\n section,\n );\n\n const portal = new ComponentPortal(component, null, injector);\n this.portals.push(portal);\n }\n }\n}\n","<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\" />\n </ng-container>\n</ng-container>\n","import { Provider } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from '../interfaces';\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\nexport function provideNgEsolveConnectMedia(\n config: EsolveConnectMediaConfig,\n): Provider {\n return {\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\n useValue: config,\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n} from './components';\nimport { EsolveConnectMediaConfig } from './interfaces';\nimport { provideNgEsolveConnectMedia } from './functions';\n\n@NgModule({\n imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n})\nexport class NgEsolveConnectMediaModule {\n public static withConfig(\n config: EsolveConnectMediaConfig,\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\n return {\n ngModule: NgEsolveConnectMediaModule,\n providers: [provideNgEsolveConnectMedia(config)],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"esolve-ng-esolve-connect-survey.mjs","sources":["../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-values-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-check-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-text-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-input-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-radio-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-options-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-rating-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-select-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-textarea-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-answer-result.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/services/esolve-survey.service.ts","../../../../libs/ng-esolve-connect/survey/src/esolve-ng-esolve-connect-survey.ts"],"sourcesContent":["import { EsolveSurveyQuestionRecord } from '../interfaces';\nimport { EsolveSurveyQuestionType } from '../types';\n\nexport abstract class EsolveSurveyQuestion {\n public abstract type: EsolveSurveyQuestionType;\n public id: number;\n public identifier: string;\n public question: string;\n public title: string;\n public description: string;\n\n constructor(record: EsolveSurveyQuestionRecord) {\n this.id = record.id;\n this.identifier = record.identifier;\n this.question = record.question;\n this.title = record.title;\n this.description = record.description;\n }\n}\n","import { EsolveSurveyValuesQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\n\nexport abstract class EsolveSurveyValuesQuestion extends EsolveSurveyQuestion {\n public values: string[] = [];\n\n constructor(record: EsolveSurveyValuesQuestionRecord) {\n super(record);\n\n if (record.values.length > 0) {\n this.values = record.values;\n }\n }\n}\n","import { EsolveSurveyValuesQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyValuesQuestion } from './esolve-survey-values-question.model';\n\nexport class EsolveSurveyCheckQuestion extends EsolveSurveyValuesQuestion {\n public readonly type = 'check_boxes';\n\n constructor(record: EsolveSurveyValuesQuestionRecord) {\n if (record.type !== 'check_boxes') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import { EsolveSurveyTextQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\n\nexport abstract class EsolveSurveyTextQuestion extends EsolveSurveyQuestion {\n public length: number;\n public placeholder = '';\n\n constructor(record: EsolveSurveyTextQuestionRecord) {\n super(record);\n\n this.length = record.length;\n this.placeholder = record.placeholder;\n }\n}\n","import { EsolveSurveyTextQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyTextQuestion } from './esolve-survey-text-question.model';\n\nexport class EsolveSurveyInputQuestion extends EsolveSurveyTextQuestion {\n public readonly type = 'input';\n\n constructor(record: EsolveSurveyTextQuestionRecord) {\n if (record.type !== 'input') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import { EsolveSurveyValuesQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyValuesQuestion } from './esolve-survey-values-question.model';\n\nexport class EsolveSurveyRadioQuestion extends EsolveSurveyValuesQuestion {\n public readonly type = 'radio_boxes';\n\n constructor(record: EsolveSurveyValuesQuestionRecord) {\n if (record.type !== 'radio_boxes') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import {\n EsolveSurveyOption,\n EsolveSurveyOptionsQuestionRecord,\n} from '../interfaces';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\n\nexport abstract class EsolveSurveyOptionsQuestion<\n T extends number | string,\n> extends EsolveSurveyQuestion {\n public options: EsolveSurveyOption<T>[] = [];\n\n constructor(record: EsolveSurveyOptionsQuestionRecord) {\n super(record);\n\n if (record.options.length > 0) {\n for (const option of record.options) {\n try {\n this.processOption(option);\n } catch (error) {\n console.error(error);\n }\n }\n }\n }\n\n protected abstract processValue(option: number | string): T;\n\n protected processOption(option: EsolveSurveyOption<string | number>): void {\n this.options.push({\n label: option.label,\n value: this.processValue(option.value),\n });\n }\n}\n","import { EsolveSurveyOptionsQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyOptionsQuestion } from './esolve-survey-options-question.model';\n\nexport class EsolveSurveyRatingQuestion extends EsolveSurveyOptionsQuestion<number> {\n public readonly type = 'rating';\n\n constructor(record: EsolveSurveyOptionsQuestionRecord) {\n if (record.type !== 'rating') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n\n protected processValue(value: string | number): number {\n if (typeof value === 'string') {\n throw new Error('Value must be a number');\n }\n\n return value;\n }\n}\n","import {\n EsolveSurveyOption,\n EsolveSurveyOptionsQuestionRecord,\n} from '../interfaces';\n\nimport { EsolveSurveyOptionsQuestion } from './esolve-survey-options-question.model';\n\nexport class EsolveSurveySelectQuestion extends EsolveSurveyOptionsQuestion<string> {\n public readonly type = 'select';\n\n public placeholder?: string;\n\n constructor(record: EsolveSurveyOptionsQuestionRecord) {\n if (record.type !== 'select') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n\n protected processValue(value: string | number): string {\n if (typeof value === 'number') {\n throw new Error('Value must be a string');\n }\n\n return value;\n }\n\n protected override processOption(option: EsolveSurveyOption<string>): void {\n if (option.value === '' && !this.placeholder) {\n this.placeholder = option.label;\n return;\n }\n\n this.options.push({\n label: option.label,\n value: this.processValue(option.value),\n });\n }\n}\n","import { EsolveSurveyTextQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyTextQuestion } from './esolve-survey-text-question.model';\n\nexport class EsolveSurveyTextareaQuestion extends EsolveSurveyTextQuestion {\n public readonly type = 'textarea';\n\n constructor(record: EsolveSurveyTextQuestionRecord) {\n if (record.type !== 'textarea') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import { EsolveSeoDetails, EsolveSeoInfo } from '@esolve/ng-esolve-connect';\n\nimport { EsolveSurveyRecord } from '../interfaces';\nimport { EsolveSurveyQuestionRecordList, EsolveSurveyType } from '../types';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\nimport { EsolveSurveyCheckQuestion } from './esolve-survey-check-question.model';\nimport { EsolveSurveyInputQuestion } from './esolve-survey-input-question.model';\nimport { EsolveSurveyRadioQuestion } from './esolve-survey-radio-question.model';\nimport { EsolveSurveyRatingQuestion } from './esolve-survey-rating-question.model';\nimport { EsolveSurveySelectQuestion } from './esolve-survey-select-question.model';\nimport { EsolveSurveyTextareaQuestion } from './esolve-survey-textarea-question.model';\n\nexport class EsolveSurvey implements EsolveSeoDetails {\n public id: number;\n public type: EsolveSurveyType;\n public identifier: string;\n public title: string;\n public description: string;\n public questions: EsolveSurveyQuestion[] = [];\n public seo_details: EsolveSeoInfo;\n\n constructor(record: EsolveSurveyRecord) {\n this.id = record.id;\n this.type = record.type;\n this.identifier = record.identifier;\n this.title = record.title;\n this.description = record.description;\n\n if (record.questions.length > 0) {\n this.processQuestions(record.questions);\n }\n\n this.seo_details = new EsolveSeoInfo(this.title, this.description);\n }\n\n private processQuestions(questions: EsolveSurveyQuestionRecordList) {\n for (const record of questions) {\n switch (record.type) {\n case 'input': {\n const question = new EsolveSurveyInputQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'textarea': {\n const question = new EsolveSurveyTextareaQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'radio_boxes': {\n const question = new EsolveSurveyRadioQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'check_boxes': {\n const question = new EsolveSurveyCheckQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'select': {\n const question = new EsolveSurveySelectQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'rating': {\n const question = new EsolveSurveyRatingQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n default:\n break;\n }\n }\n }\n}\n","import { EsolveResponseResult } from '@esolve/ng-esolve-connect';\n\nimport { EsolveSurveyAnswerResponse } from '../interfaces';\n\nexport class EsolveSurveyAnswerResult extends EsolveResponseResult {\n public invalid_question_ids?: number[];\n\n constructor(response: EsolveSurveyAnswerResponse) {\n super(response);\n\n if (\n response.invalid_question_ids &&\n response.invalid_question_ids.length > 0\n ) {\n this.invalid_question_ids = response.invalid_question_ids;\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport {\n HttpClient,\n HttpParams,\n HttpErrorResponse,\n} from '@angular/common/http';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n EsolveErrorHandlerService,\n EsolveGetResponse,\n EsolveResponseHandlerService,\n EsolveSetResponse,\n EsolveConfigService,\n} from '@esolve/ng-esolve-connect';\n\nimport {\n EsolveSurveyAnswerResponse,\n EsolveSurveyOptions,\n EsolveSurveyRecord,\n} from '../interfaces';\n\nimport { EsolveSurvey, EsolveSurveyAnswerResult } from '../classes';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EsolveSurveyService {\n private readonly config = inject(EsolveConfigService);\n private readonly http = inject(HttpClient);\n private readonly errorHandler = inject(EsolveErrorHandlerService);\n private readonly responseHandler = inject(EsolveResponseHandlerService);\n\n /**\n * Get survey from eSolve API\n *\n * @param options\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(options: {\n id: number;\n transaction_id?: number;\n }): Observable<EsolveSurvey>;\n public getSurvey(options: {\n identifier: string;\n transaction_id?: number;\n }): Observable<EsolveSurvey>;\n /**\n * Get survey from eSolve API\n *\n * @param id\n * @param transaction_id\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(\n id: number,\n transaction_id?: number,\n ): Observable<EsolveSurvey>;\n /**\n * Get survey from eSolve API\n *\n * @param identifier\n * @param transaction_id\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(\n identifier: string,\n transaction_id?: number,\n ): Observable<EsolveSurvey>;\n /**\n * Get survey from eSolve API\n *\n * @param options_or_id\n * @param transaction_id\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(\n options_or_id: string | number | EsolveSurveyOptions,\n transaction_id?: number,\n ): Observable<EsolveSurvey> {\n try {\n const params = this.setParams(options_or_id, transaction_id);\n\n return this.http\n .get<EsolveGetResponse<EsolveSurveyRecord>>(\n `${this.config.api_url}/get-survey.php`,\n { params },\n )\n .pipe(\n map((response) => {\n if (\n response.records === undefined ||\n Array.isArray(response.records)\n ) {\n throw response;\n }\n\n return new EsolveSurvey(response.records);\n }),\n );\n } catch (error) {\n return throwError(() => error);\n }\n }\n\n /**\n * Set the survey answer\n *\n * @param data\n * @param options\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n options: {\n id: number;\n transaction_id?: number;\n },\n ): Observable<EsolveSurveyAnswerResult>;\n public setSurveyAnswer(\n data: FormData,\n options: {\n identifier: string;\n transaction_id?: number;\n },\n ): Observable<EsolveSurveyAnswerResult>;\n /**\n * Set the survey answer\n *\n * @param data\n * @param id\n * @param transaction_id\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n id: number,\n transaction_id?: number,\n ): Observable<EsolveSurveyAnswerResult>;\n /**\n * Set the survey answer\n *\n * @param data\n * @param identifier\n * @param transaction_id\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n identifier: string,\n transaction_id?: number,\n ): Observable<EsolveSurveyAnswerResult>;\n /**\n * Set the survey answer\n *\n * @param data\n * @param options_or_id\n * @param transaction_id\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n options_or_id: string | number | EsolveSurveyOptions,\n transaction_id?: number,\n ): Observable<EsolveSurveyAnswerResult> {\n try {\n const params = this.setParams(options_or_id, transaction_id);\n\n return this.http\n .post<EsolveSetResponse<EsolveSurveyAnswerResponse>>(\n `${this.config.api_url}/set-survey-answer.php`,\n data,\n {\n responseType: 'json',\n observe: 'body',\n params,\n },\n )\n .pipe(\n map((http_response) =>\n this.responseHandler.validateSingleHttpResponse(\n http_response,\n (response) =>\n new EsolveSurveyAnswerResult(response),\n ),\n ),\n catchError((errorRes: HttpErrorResponse | any) => {\n return this.errorHandler.handleHttpPostError(\n 'set-survey-answer',\n errorRes,\n );\n }),\n );\n } catch (error) {\n return throwError(() => error);\n }\n }\n\n private setParams(\n options_or_id: string | number | EsolveSurveyOptions,\n transaction_id?: number,\n ): HttpParams {\n let params = new HttpParams();\n\n if (typeof options_or_id === 'string') {\n params = params.set('identifier', options_or_id);\n } else if (typeof options_or_id === 'number') {\n params = params.set('surveys_id', options_or_id);\n } else {\n if (typeof options_or_id.id !== 'undefined') {\n params = params.set('surveys_id', options_or_id.id);\n } else if (typeof options_or_id.identifier !== 'undefined') {\n params = params.set('identifier', options_or_id.identifier);\n } else {\n throw new Error(\n 'Either ID or Identifier is required to retrieve survey',\n );\n }\n\n transaction_id = options_or_id.transaction_id;\n }\n\n if (typeof transaction_id !== 'undefined') {\n params = params.set('cart_id', transaction_id);\n }\n\n return params;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esolve-ng-esolve-connect-survey.mjs","sources":["../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-values-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-check-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-text-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-input-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-radio-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-options-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-rating-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-select-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-textarea-question.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/classes/esolve-survey-answer-result.model.ts","../../../../libs/ng-esolve-connect/survey/src/lib/services/esolve-survey.service.ts","../../../../libs/ng-esolve-connect/survey/src/esolve-ng-esolve-connect-survey.ts"],"sourcesContent":["import { EsolveSurveyQuestionRecord } from '../interfaces';\nimport { EsolveSurveyQuestionType } from '../types';\n\nexport abstract class EsolveSurveyQuestion {\n public abstract type: EsolveSurveyQuestionType;\n public id: number;\n public identifier: string;\n public question: string;\n public title: string;\n public description: string;\n\n constructor(record: EsolveSurveyQuestionRecord) {\n this.id = record.id;\n this.identifier = record.identifier;\n this.question = record.question;\n this.title = record.title;\n this.description = record.description;\n }\n}\n","import { EsolveSurveyValuesQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\n\nexport abstract class EsolveSurveyValuesQuestion extends EsolveSurveyQuestion {\n public values: string[] = [];\n\n constructor(record: EsolveSurveyValuesQuestionRecord) {\n super(record);\n\n if (record.values.length > 0) {\n this.values = record.values;\n }\n }\n}\n","import { EsolveSurveyValuesQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyValuesQuestion } from './esolve-survey-values-question.model';\n\nexport class EsolveSurveyCheckQuestion extends EsolveSurveyValuesQuestion {\n public readonly type = 'check_boxes';\n\n constructor(record: EsolveSurveyValuesQuestionRecord) {\n if (record.type !== 'check_boxes') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import { EsolveSurveyTextQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\n\nexport abstract class EsolveSurveyTextQuestion extends EsolveSurveyQuestion {\n public length: number;\n public placeholder = '';\n\n constructor(record: EsolveSurveyTextQuestionRecord) {\n super(record);\n\n this.length = record.length;\n this.placeholder = record.placeholder;\n }\n}\n","import { EsolveSurveyTextQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyTextQuestion } from './esolve-survey-text-question.model';\n\nexport class EsolveSurveyInputQuestion extends EsolveSurveyTextQuestion {\n public readonly type = 'input';\n\n constructor(record: EsolveSurveyTextQuestionRecord) {\n if (record.type !== 'input') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import { EsolveSurveyValuesQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyValuesQuestion } from './esolve-survey-values-question.model';\n\nexport class EsolveSurveyRadioQuestion extends EsolveSurveyValuesQuestion {\n public readonly type = 'radio_boxes';\n\n constructor(record: EsolveSurveyValuesQuestionRecord) {\n if (record.type !== 'radio_boxes') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import {\n EsolveSurveyOption,\n EsolveSurveyOptionsQuestionRecord,\n} from '../interfaces';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\n\nexport abstract class EsolveSurveyOptionsQuestion<\n T extends number | string,\n> extends EsolveSurveyQuestion {\n public options: EsolveSurveyOption<T>[] = [];\n\n constructor(record: EsolveSurveyOptionsQuestionRecord) {\n super(record);\n\n if (record.options.length > 0) {\n for (const option of record.options) {\n try {\n this.processOption(option);\n } catch (error) {\n console.error(error);\n }\n }\n }\n }\n\n protected abstract processValue(option: number | string): T;\n\n protected processOption(option: EsolveSurveyOption<string | number>): void {\n this.options.push({\n label: option.label,\n value: this.processValue(option.value),\n });\n }\n}\n","import { EsolveSurveyOptionsQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyOptionsQuestion } from './esolve-survey-options-question.model';\n\nexport class EsolveSurveyRatingQuestion extends EsolveSurveyOptionsQuestion<number> {\n public readonly type = 'rating';\n\n constructor(record: EsolveSurveyOptionsQuestionRecord) {\n if (record.type !== 'rating') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n\n protected processValue(value: string | number): number {\n if (typeof value === 'string') {\n throw new Error('Value must be a number');\n }\n\n return value;\n }\n}\n","import {\n EsolveSurveyOption,\n EsolveSurveyOptionsQuestionRecord,\n} from '../interfaces';\n\nimport { EsolveSurveyOptionsQuestion } from './esolve-survey-options-question.model';\n\nexport class EsolveSurveySelectQuestion extends EsolveSurveyOptionsQuestion<string> {\n public readonly type = 'select';\n\n public placeholder?: string;\n\n constructor(record: EsolveSurveyOptionsQuestionRecord) {\n if (record.type !== 'select') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n\n protected processValue(value: string | number): string {\n if (typeof value === 'number') {\n throw new Error('Value must be a string');\n }\n\n return value;\n }\n\n protected override processOption(option: EsolveSurveyOption<string>): void {\n if (option.value === '' && !this.placeholder) {\n this.placeholder = option.label;\n return;\n }\n\n this.options.push({\n label: option.label,\n value: this.processValue(option.value),\n });\n }\n}\n","import { EsolveSurveyTextQuestionRecord } from '../interfaces';\n\nimport { EsolveSurveyTextQuestion } from './esolve-survey-text-question.model';\n\nexport class EsolveSurveyTextareaQuestion extends EsolveSurveyTextQuestion {\n public readonly type = 'textarea';\n\n constructor(record: EsolveSurveyTextQuestionRecord) {\n if (record.type !== 'textarea') {\n throw new Error('Invalid type');\n }\n\n super(record);\n }\n}\n","import { EsolveSeoDetails, EsolveSeoInfo } from '@esolve/ng-esolve-connect';\n\nimport { EsolveSurveyRecord } from '../interfaces';\nimport { EsolveSurveyQuestionRecordList, EsolveSurveyType } from '../types';\n\nimport { EsolveSurveyQuestion } from './esolve-survey-question.model';\nimport { EsolveSurveyCheckQuestion } from './esolve-survey-check-question.model';\nimport { EsolveSurveyInputQuestion } from './esolve-survey-input-question.model';\nimport { EsolveSurveyRadioQuestion } from './esolve-survey-radio-question.model';\nimport { EsolveSurveyRatingQuestion } from './esolve-survey-rating-question.model';\nimport { EsolveSurveySelectQuestion } from './esolve-survey-select-question.model';\nimport { EsolveSurveyTextareaQuestion } from './esolve-survey-textarea-question.model';\n\nexport class EsolveSurvey implements EsolveSeoDetails {\n public id: number;\n public type: EsolveSurveyType;\n public identifier: string;\n public title: string;\n public description: string;\n public questions: EsolveSurveyQuestion[] = [];\n public seo_details: EsolveSeoInfo;\n\n constructor(record: EsolveSurveyRecord) {\n this.id = record.id;\n this.type = record.type;\n this.identifier = record.identifier;\n this.title = record.title;\n this.description = record.description;\n\n if (record.questions.length > 0) {\n this.processQuestions(record.questions);\n }\n\n this.seo_details = new EsolveSeoInfo(this.title, this.description);\n }\n\n private processQuestions(questions: EsolveSurveyQuestionRecordList) {\n for (const record of questions) {\n switch (record.type) {\n case 'input': {\n const question = new EsolveSurveyInputQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'textarea': {\n const question = new EsolveSurveyTextareaQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'radio_boxes': {\n const question = new EsolveSurveyRadioQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'check_boxes': {\n const question = new EsolveSurveyCheckQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'select': {\n const question = new EsolveSurveySelectQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n case 'rating': {\n const question = new EsolveSurveyRatingQuestion(record);\n\n this.questions.push(question);\n break;\n }\n\n default:\n break;\n }\n }\n }\n}\n","import { EsolveResponseResult } from '@esolve/ng-esolve-connect';\n\nimport { EsolveSurveyAnswerResponse } from '../interfaces';\n\nexport class EsolveSurveyAnswerResult extends EsolveResponseResult {\n public invalid_question_ids?: number[];\n\n constructor(response: EsolveSurveyAnswerResponse) {\n super(response);\n\n if (\n response.invalid_question_ids &&\n response.invalid_question_ids.length > 0\n ) {\n this.invalid_question_ids = response.invalid_question_ids;\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport {\n HttpClient,\n HttpParams,\n HttpErrorResponse,\n} from '@angular/common/http';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport {\n EsolveErrorHandlerService,\n EsolveGetResponse,\n EsolveResponseHandlerService,\n EsolveSetResponse,\n EsolveConfigService,\n} from '@esolve/ng-esolve-connect';\n\nimport {\n EsolveSurveyAnswerResponse,\n EsolveSurveyOptions,\n EsolveSurveyRecord,\n} from '../interfaces';\n\nimport { EsolveSurvey, EsolveSurveyAnswerResult } from '../classes';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EsolveSurveyService {\n private readonly config = inject(EsolveConfigService);\n private readonly http = inject(HttpClient);\n private readonly errorHandler = inject(EsolveErrorHandlerService);\n private readonly responseHandler = inject(EsolveResponseHandlerService);\n\n /**\n * Get survey from eSolve API\n *\n * @param options\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(options: {\n id: number;\n transaction_id?: number;\n }): Observable<EsolveSurvey>;\n public getSurvey(options: {\n identifier: string;\n transaction_id?: number;\n }): Observable<EsolveSurvey>;\n /**\n * Get survey from eSolve API\n *\n * @param id\n * @param transaction_id\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(\n id: number,\n transaction_id?: number,\n ): Observable<EsolveSurvey>;\n /**\n * Get survey from eSolve API\n *\n * @param identifier\n * @param transaction_id\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(\n identifier: string,\n transaction_id?: number,\n ): Observable<EsolveSurvey>;\n /**\n * Get survey from eSolve API\n *\n * @param options_or_id\n * @param transaction_id\n *\n * @returns An `Observable` with requested survey\n */\n public getSurvey(\n options_or_id: string | number | EsolveSurveyOptions,\n transaction_id?: number,\n ): Observable<EsolveSurvey> {\n try {\n const params = this.setParams(options_or_id, transaction_id);\n\n return this.http\n .get<\n EsolveGetResponse<EsolveSurveyRecord>\n >(`${this.config.api_url}/get-survey.php`, { params })\n .pipe(\n map((response) => {\n if (\n response.records === undefined ||\n Array.isArray(response.records)\n ) {\n throw response;\n }\n\n return new EsolveSurvey(response.records);\n }),\n );\n } catch (error) {\n return throwError(() => error);\n }\n }\n\n /**\n * Set the survey answer\n *\n * @param data\n * @param options\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n options: {\n id: number;\n transaction_id?: number;\n },\n ): Observable<EsolveSurveyAnswerResult>;\n public setSurveyAnswer(\n data: FormData,\n options: {\n identifier: string;\n transaction_id?: number;\n },\n ): Observable<EsolveSurveyAnswerResult>;\n /**\n * Set the survey answer\n *\n * @param data\n * @param id\n * @param transaction_id\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n id: number,\n transaction_id?: number,\n ): Observable<EsolveSurveyAnswerResult>;\n /**\n * Set the survey answer\n *\n * @param data\n * @param identifier\n * @param transaction_id\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n identifier: string,\n transaction_id?: number,\n ): Observable<EsolveSurveyAnswerResult>;\n /**\n * Set the survey answer\n *\n * @param data\n * @param options_or_id\n * @param transaction_id\n *\n * @returns An `Observable` with the result\n */\n public setSurveyAnswer(\n data: FormData,\n options_or_id: string | number | EsolveSurveyOptions,\n transaction_id?: number,\n ): Observable<EsolveSurveyAnswerResult> {\n try {\n const params = this.setParams(options_or_id, transaction_id);\n\n return this.http\n .post<EsolveSetResponse<EsolveSurveyAnswerResponse>>(\n `${this.config.api_url}/set-survey-answer.php`,\n data,\n {\n responseType: 'json',\n observe: 'body',\n params,\n },\n )\n .pipe(\n map((http_response) =>\n this.responseHandler.validateSingleHttpResponse(\n http_response,\n (response) =>\n new EsolveSurveyAnswerResult(response),\n ),\n ),\n catchError((errorRes: HttpErrorResponse | any) => {\n return this.errorHandler.handleHttpPostError(\n 'set-survey-answer',\n errorRes,\n );\n }),\n );\n } catch (error) {\n return throwError(() => error);\n }\n }\n\n private setParams(\n options_or_id: string | number | EsolveSurveyOptions,\n transaction_id?: number,\n ): HttpParams {\n let params = new HttpParams();\n\n if (typeof options_or_id === 'string') {\n params = params.set('identifier', options_or_id);\n } else if (typeof options_or_id === 'number') {\n params = params.set('surveys_id', options_or_id);\n } else {\n if (typeof options_or_id.id !== 'undefined') {\n params = params.set('surveys_id', options_or_id.id);\n } else if (typeof options_or_id.identifier !== 'undefined') {\n params = params.set('identifier', options_or_id.identifier);\n } else {\n throw new Error(\n 'Either ID or Identifier is required to retrieve survey',\n );\n }\n\n transaction_id = options_or_id.transaction_id;\n }\n\n if (typeof transaction_id !== 'undefined') {\n params = params.set('cart_id', transaction_id);\n }\n\n return params;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isPlatformBrowser, CommonModule, IMAGE_LOADER, DOCUMENT } from '@angular/common';
2
- import { HttpErrorResponse, HttpClient, HttpParams, HttpHeaders, HTTP_INTERCEPTORS, withInterceptorsFromDi, provideHttpClient, HttpClientModule } from '@angular/common/http';
2
+ import { HttpErrorResponse, HttpClient, HttpParams, HttpHeaders, HTTP_INTERCEPTORS, withInterceptorsFromDi, provideHttpClient } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, inject, Injectable, PLATFORM_ID, APP_INITIALIZER, NgModule, ElementRef, Directive, Input, HostListener } from '@angular/core';
5
5
  import { SsrCookieService } from 'ngx-cookie-service-ssr';
@@ -1232,13 +1232,14 @@ class NgEsolveConnectModule {
1232
1232
  };
1233
1233
  }
1234
1234
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NgEsolveConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1235
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: NgEsolveConnectModule, imports: [CommonModule, HttpClientModule] }); }
1236
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NgEsolveConnectModule, imports: [CommonModule, HttpClientModule] }); }
1235
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: NgEsolveConnectModule, imports: [CommonModule] }); }
1236
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NgEsolveConnectModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule] }); }
1237
1237
  }
1238
1238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NgEsolveConnectModule, decorators: [{
1239
1239
  type: NgModule,
1240
1240
  args: [{
1241
- imports: [CommonModule, HttpClientModule],
1241
+ imports: [CommonModule],
1242
+ providers: [provideHttpClient(withInterceptorsFromDi())],
1242
1243
  }]
1243
1244
  }] });
1244
1245
 
@@ -5935,6 +5936,10 @@ class EsolveStockItemBase {
5935
5936
  * @deprecated Use `range.id` field instead
5936
5937
  */
5937
5938
  this.ranges_id = 0;
5939
+ /**
5940
+ * Set if the price should be available or on application only
5941
+ */
5942
+ this.price_on_application = false;
5938
5943
  /**
5939
5944
  * Linked tags
5940
5945
  */
@@ -6084,7 +6089,13 @@ class EsolveStockItemBase {
6084
6089
  seo_title = record.seo_page_title ?? '';
6085
6090
  seo_keywords = record.seo_keywords ?? '';
6086
6091
  }
6087
- this.price = new EsolveStockPrice(base_price, base_price_with_tax, sell_price, sell_price_with_tax, record.vat_rate, record.vat_item);
6092
+ this.price_on_application = record.enable_poa ?? false;
6093
+ if (this.price_on_application) {
6094
+ this.price = new EsolveStockPrice(0, 0, 0, 0, 0, false);
6095
+ }
6096
+ else {
6097
+ this.price = new EsolveStockPrice(base_price, base_price_with_tax, sell_price, sell_price_with_tax, record.vat_rate, record.vat_item);
6098
+ }
6088
6099
  if (seo_title.trim() === '') {
6089
6100
  seo_title = this.name;
6090
6101
  }