@esolve/ng-esolve-connect 0.20.4 → 0.20.7
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.
- package/esm2020/lib/account/address/esolve-address-result.model.mjs +1 -1
- package/esm2020/lib/account/address/esolve-address.model.mjs +1 -1
- package/esm2020/lib/account/esolve-account.service.mjs +19 -19
- package/esm2020/lib/account/esolve-location-update-result.model.mjs +1 -1
- package/esm2020/lib/account/password/esolve-change-password-result.model.mjs +1 -1
- package/esm2020/lib/account/password/esolve-reset-password-result.model.mjs +1 -1
- package/esm2020/lib/account/registration/esolve-registration-result.model.mjs +1 -1
- package/esm2020/lib/account/transaction/esolve-transaction.model.mjs +1 -1
- package/esm2020/lib/account/user-account/esolve-user-account-business.model.mjs +1 -1
- package/esm2020/lib/account/user-account/esolve-user-account-contact.model.mjs +1 -1
- package/esm2020/lib/account/user-account/esolve-user-account-result.model.mjs +1 -1
- package/esm2020/lib/account/user-account/esolve-user-account.model.mjs +1 -1
- package/esm2020/lib/auth/esolve-auth.service.mjs +6 -6
- package/esm2020/lib/banners/esolve-banner-image-hotspot.model.mjs +1 -1
- package/esm2020/lib/banners/esolve-banner-image.model.mjs +1 -1
- package/esm2020/lib/banners/esolve-banner.service.mjs +3 -3
- package/esm2020/lib/cart/esolve-cart-stock-item.model.mjs +1 -1
- package/esm2020/lib/cart/esolve-cart.service.mjs +9 -9
- package/esm2020/lib/category-tree/esolve-category-tree-item.model.mjs +1 -1
- package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +2 -2
- package/esm2020/lib/enquiry/esolve-enquiry.service.mjs +1 -1
- package/esm2020/lib/locations/esolve-location-record.interface.mjs +1 -1
- package/esm2020/lib/locations/esolve-location.model.mjs +2 -2
- package/esm2020/lib/locations/esolve-locations.service.mjs +2 -2
- package/esm2020/lib/manufacturers/esolve-manufacturers.service.mjs +3 -3
- package/esm2020/lib/menu/esolve-menu.service.mjs +1 -1
- package/esm2020/lib/ng-esolve-connect.module.mjs +6 -6
- package/esm2020/lib/payment/esolve-payment.service.mjs +3 -3
- package/esm2020/lib/ranges/esolve-ranges.service.mjs +3 -3
- package/esm2020/lib/session/esolve-session.service.mjs +1 -1
- package/esm2020/lib/shared/cookie/esolve-cookie.service.mjs +1 -1
- package/esm2020/lib/shared/custom-fields/esolve-custom-fields.interface.mjs +2 -0
- package/esm2020/lib/shared/custom-fields/index.mjs +2 -3
- package/esm2020/lib/shared/errors/esolve-error-handler.service.mjs +2 -2
- package/esm2020/lib/shared/errors/esolve-http-error.model.mjs +1 -1
- package/esm2020/lib/shared/esolve-list.model.mjs +1 -1
- package/esm2020/lib/shared/esolve-result.model.mjs +1 -1
- package/esm2020/lib/shared/geocoder/esolve-geocoder.service.mjs +3 -3
- package/esm2020/lib/shared/seo/esolve-seo.service.mjs +1 -1
- package/esm2020/lib/specials/esolve-special-dates.model.mjs +7 -0
- package/esm2020/lib/specials/esolve-special-record.interface.mjs +1 -1
- package/esm2020/lib/specials/esolve-special.model.mjs +5 -1
- package/esm2020/lib/specials/esolve-specials.service.mjs +4 -4
- package/esm2020/lib/specials/index.mjs +2 -1
- package/esm2020/lib/stock/classes/esolve-linked-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-media-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-recipe-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-group-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-group.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-image-collection.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-image.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-item-base.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-item-list.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/esolve-stock.service.mjs +5 -5
- package/esm2020/lib/stock/interfaces/esolve-linked-stock-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-media-stock-item-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-recipe-item-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-stock-base-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-stock-group-item-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-stock-record.interface.mjs +1 -1
- package/esm2020/lib/stock/types/esolve-media-stock-item-list.type.mjs +1 -1
- package/esm2020/lib/tags/esolve-tags.service.mjs +1 -1
- package/esm2020/lib/topics/esolve-topic.service.mjs +1 -1
- package/esm2020/media/classes/esolve-media-article.model.mjs +25 -10
- package/esm2020/media/classes/esolve-media-group.model.mjs +1 -1
- package/esm2020/media/classes/esolve-media-link.model.mjs +8 -0
- package/esm2020/media/classes/index.mjs +2 -1
- package/esm2020/media/components/media-layout/esolve-media-layout.component.mjs +4 -8
- package/esm2020/media/interfaces/esolve-media-link-record.interface.mjs +2 -0
- package/esm2020/media/interfaces/esolve-media-record.interface.mjs +1 -1
- package/esm2020/media/interfaces/index.mjs +2 -1
- package/esm2020/media/ng-esolve-connect-media.module.mjs +1 -1
- package/esm2020/media/services/esolve-media.service.mjs +2 -2
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/esolve-ng-esolve-connect-media.mjs +38 -19
- package/fesm2015/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2015/esolve-ng-esolve-connect.mjs +68 -58
- package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect-media.mjs +36 -18
- package/fesm2020/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect.mjs +68 -58
- package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/shared/custom-fields/esolve-custom-fields.interface.d.ts +3 -0
- package/lib/shared/custom-fields/index.d.ts +1 -2
- package/lib/specials/esolve-special-dates.model.d.ts +5 -0
- package/lib/specials/esolve-special-record.interface.d.ts +2 -0
- package/lib/specials/esolve-special.model.d.ts +2 -0
- package/lib/specials/index.d.ts +1 -0
- package/lib/stock/classes/esolve-linked-stock-item.model.d.ts +2 -2
- package/lib/stock/classes/esolve-media-stock-item.model.d.ts +2 -2
- package/lib/stock/classes/esolve-recipe-stock-item.model.d.ts +2 -2
- package/lib/stock/classes/esolve-stock-group-item.model.d.ts +2 -2
- package/lib/stock/classes/esolve-stock-group.model.d.ts +2 -2
- package/lib/stock/classes/esolve-stock-item-base.model.d.ts +3 -3
- package/lib/stock/classes/esolve-stock-item-list.model.d.ts +2 -2
- package/lib/stock/classes/esolve-stock-item.model.d.ts +2 -2
- package/lib/stock/esolve-stock.service.d.ts +2 -2
- package/lib/stock/interfaces/esolve-linked-stock-record.interface.d.ts +2 -2
- package/lib/stock/interfaces/esolve-media-stock-item-record.interface.d.ts +2 -2
- package/lib/stock/interfaces/esolve-recipe-item-record.interface.d.ts +2 -2
- package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +3 -3
- package/lib/stock/interfaces/esolve-stock-group-item-record.interface.d.ts +2 -2
- package/lib/stock/interfaces/esolve-stock-record.interface.d.ts +2 -2
- package/lib/stock/types/esolve-media-stock-item-list.type.d.ts +2 -2
- package/media/classes/esolve-media-article.model.d.ts +4 -1
- package/media/classes/esolve-media-link.model.d.ts +8 -0
- package/media/classes/index.d.ts +1 -0
- package/media/interfaces/esolve-media-link-record.interface.d.ts +6 -0
- package/media/interfaces/esolve-media-record.interface.d.ts +3 -1
- package/media/interfaces/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/schematics/ng-add/index.js.map +1 -1
- package/esm2020/lib/shared/custom-fields/esolve-custom-fields.type.mjs +0 -2
- package/esm2020/lib/shared/custom-fields/esolve-generic-custom-fields.interface.mjs +0 -2
- package/lib/shared/custom-fields/esolve-custom-fields.type.d.ts +0 -4
- package/lib/shared/custom-fields/esolve-generic-custom-fields.interface.d.ts +0 -3
|
@@ -49,6 +49,14 @@ class EsolveMediaLayoutSection {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
class EsolveMediaLink {
|
|
53
|
+
constructor(record) {
|
|
54
|
+
this.url = record.url;
|
|
55
|
+
this.caption = record.caption ?? 'Read more...';
|
|
56
|
+
this.target = record.target ?? '_self';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
52
60
|
class EsolveMediaArticle {
|
|
53
61
|
constructor(record) {
|
|
54
62
|
this.layout = '';
|
|
@@ -65,7 +73,6 @@ class EsolveMediaArticle {
|
|
|
65
73
|
seo_title = this.title;
|
|
66
74
|
}
|
|
67
75
|
this.seo_details = new EsolveSeoInfo(seo_title, seo_description, seo_keywords);
|
|
68
|
-
this.layout = record.layout ?? '';
|
|
69
76
|
this.image_url = record.image_url ?? '';
|
|
70
77
|
if ((record.tags) && (record.tags.length > 0)) {
|
|
71
78
|
for (const tag of record.tags) {
|
|
@@ -86,17 +93,32 @@ class EsolveMediaArticle {
|
|
|
86
93
|
if (record.range) {
|
|
87
94
|
this.range = new EsolveRange(record.range);
|
|
88
95
|
}
|
|
89
|
-
if (record.
|
|
90
|
-
this.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
if (record.is_both_master_and_minor_article || !record.is_minor_article) {
|
|
97
|
+
this.layout = record.layout ?? '';
|
|
98
|
+
if (record.sections) {
|
|
99
|
+
this.sections = new Map();
|
|
100
|
+
for (const key in record.sections) {
|
|
101
|
+
const section_list = [];
|
|
102
|
+
const section_records = record.sections[key];
|
|
103
|
+
for (const section_record of section_records) {
|
|
104
|
+
section_list.push(new EsolveMediaLayoutSection(section_record));
|
|
105
|
+
}
|
|
106
|
+
this.sections.set(key, section_list);
|
|
96
107
|
}
|
|
97
|
-
this.sections.set(key, section_list);
|
|
98
108
|
}
|
|
99
109
|
}
|
|
110
|
+
if (record.is_both_master_and_minor_article || record.is_minor_article) {
|
|
111
|
+
if (record.sef_url) {
|
|
112
|
+
this.link = new EsolveMediaLink({
|
|
113
|
+
url: record.sef_url,
|
|
114
|
+
caption: record.link_caption,
|
|
115
|
+
target: record.target,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (record.custom_fields) {
|
|
120
|
+
this.custom_fields = record.custom_fields;
|
|
121
|
+
}
|
|
100
122
|
}
|
|
101
123
|
}
|
|
102
124
|
|
|
@@ -132,7 +154,7 @@ class EsolveMediaService {
|
|
|
132
154
|
*/
|
|
133
155
|
getGroupedMediaArticles(media_group) {
|
|
134
156
|
const params = new HttpParams({
|
|
135
|
-
fromObject: { media_group_sef: media_group }
|
|
157
|
+
fromObject: { media_group_sef: media_group },
|
|
136
158
|
});
|
|
137
159
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
138
160
|
const mediaArticles = [];
|
|
@@ -372,16 +394,12 @@ class EsolveMediaLayoutComponent {
|
|
|
372
394
|
EsolveMediaLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaLayoutComponent, deps: [{ token: EsolveMediaLayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
373
395
|
EsolveMediaLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EsolveMediaLayoutComponent, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [
|
|
374
396
|
EsolveMediaLayoutService,
|
|
375
|
-
], usesOnChanges: true, ngImport: i0, template:
|
|
397
|
+
], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\r\n", directives: [{ type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
376
398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsolveMediaLayoutComponent, decorators: [{
|
|
377
399
|
type: Component,
|
|
378
|
-
args: [{
|
|
379
|
-
selector: 'eslv-media-layout',
|
|
380
|
-
template: `<ng-template [cdkPortalOutlet]="portal"></ng-template>`,
|
|
381
|
-
providers: [
|
|
400
|
+
args: [{ selector: 'eslv-media-layout', providers: [
|
|
382
401
|
EsolveMediaLayoutService,
|
|
383
|
-
],
|
|
384
|
-
}]
|
|
402
|
+
], template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\r\n" }]
|
|
385
403
|
}], ctorParameters: function () { return [{ type: EsolveMediaLayoutService }]; }, propDecorators: { media: [{
|
|
386
404
|
type: Input
|
|
387
405
|
}] } });
|
|
@@ -474,5 +492,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
474
492
|
* Generated bundle index. Do not edit.
|
|
475
493
|
*/
|
|
476
494
|
|
|
477
|
-
export { ESOLVE_CONNECT_MEDIA_CONFIG, EsolveHeading, EsolveMediaArticle, EsolveMediaGroup, EsolveMediaLayoutComponent, EsolveMediaLayoutSection, EsolveMediaLayoutService, EsolveMediaSectionComponent, EsolveMediaService, NgEsolveConnectMediaModule };
|
|
495
|
+
export { ESOLVE_CONNECT_MEDIA_CONFIG, EsolveHeading, EsolveMediaArticle, EsolveMediaGroup, EsolveMediaLayoutComponent, EsolveMediaLayoutSection, EsolveMediaLayoutService, EsolveMediaLink, EsolveMediaSectionComponent, EsolveMediaService, NgEsolveConnectMediaModule };
|
|
478
496
|
//# sourceMappingURL=esolve-ng-esolve-connect-media.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esolve-ng-esolve-connect-media.mjs","sources":["../../../projects/ng-esolve-connect/media/src/classes/esolve-heading.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-group.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-layout-section.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-article.model.ts","../../../projects/ng-esolve-connect/media/src/services/esolve-media.service.ts","../../../projects/ng-esolve-connect/media/src/esolve-connect-media-config.token.ts","../../../projects/ng-esolve-connect/media/src/services/esolve-media-layout.service.ts","../../../projects/ng-esolve-connect/media/src/components/media-layout/esolve-media-layout.component.ts","../../../projects/ng-esolve-connect/media/src/components/media-section/esolve-media-section.component.ts","../../../projects/ng-esolve-connect/media/src/components/media-section/esolve-media-section.component.html","../../../projects/ng-esolve-connect/media/src/ng-esolve-connect-media.module.ts","../../../projects/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\r\n constructor(\r\n public identifier: string,\r\n public value: string,\r\n ) { }\r\n}\r\n","import { EsolveMediaGroupRecord } from '../interfaces';\r\n\r\nexport class EsolveMediaGroup {\r\n public id: number = 0;\r\n public name: string = '';\r\n public sef_name: string = '';\r\n public description: string = '';\r\n\r\n constructor(record?: EsolveMediaGroupRecord) {\r\n if (record) {\r\n this.id = +(record.id ?? 0)\r\n this.name = record.name ?? '';\r\n this.sef_name = record.sef_name ?? '';\r\n this.description = record.description ?? '';\r\n }\r\n }\r\n}\r\n","import { EsolveMediaLayoutSectionRecord } from '../interfaces';\r\nimport { EsolveMediaLayoutSectionType } from '../types';\r\n\r\nexport class EsolveMediaLayoutSection {\r\n public type: EsolveMediaLayoutSectionType;\r\n public sub_type: string = '';\r\n public identifier: string;\r\n\r\n private data?: any;\r\n\r\n constructor(record: EsolveMediaLayoutSectionRecord) {\r\n this.type = record.type;\r\n this.identifier = record.identifier;\r\n this.sub_type = record.sub_type ?? '';\r\n\r\n if (record.data) {\r\n this.data = record.data;\r\n }\r\n }\r\n\r\n public getData<T>(): T | null {\r\n if (typeof this.data === 'undefined') {\r\n return null;\r\n }\r\n\r\n return this.data as T;\r\n }\r\n}\r\n","import {\r\n EsolveManufacturer,\r\n EsolveRange,\r\n EsolveSeoDetails,\r\n EsolveSeoInfo,\r\n EsolveTag,\r\n EsolveTopic,\r\n} from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaRecord } from '../interfaces';\r\n\r\nimport { EsolveMediaGroup } from './esolve-media-group.model';\r\nimport { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';\r\n\r\nexport class EsolveMediaArticle implements EsolveSeoDetails {\r\n public identifier: string;\r\n public title: string;\r\n public article: string;\r\n public layout: string = '';\r\n public image_url: string = '';\r\n public tags: EsolveTag[] = [];\r\n public topics: EsolveTopic[] = [];\r\n public seo_details: EsolveSeoInfo;\r\n public group?: EsolveMediaGroup;\r\n public manufacturer?: EsolveManufacturer;\r\n public range?: EsolveRange;\r\n public sections?: Map<string, EsolveMediaLayoutSection[]>;\r\n\r\n constructor(record: EsolveMediaRecord) {\r\n this.identifier = record.identifier;\r\n this.title = record.title;\r\n this.article = record.article;\r\n\r\n let seo_title = record.seo_page_title ?? '';\r\n let seo_keywords = record.seo_keywords ?? '';\r\n let seo_description = record.seo_description ?? '';\r\n\r\n if (seo_title.trim() === '') {\r\n seo_title = this.title;\r\n }\r\n\r\n this.seo_details = new EsolveSeoInfo(\r\n seo_title,\r\n seo_description,\r\n seo_keywords,\r\n );\r\n\r\n this.layout = record.layout ?? '';\r\n this.image_url = record.image_url ?? '';\r\n\r\n if ((record.tags) && (record.tags.length > 0)) {\r\n for (const tag of record.tags) {\r\n this.tags.push(new EsolveTag(tag));\r\n }\r\n }\r\n\r\n if ((record.topics) && (record.topics.length > 0)) {\r\n for (const topic of record.topics) {\r\n this.topics.push(new EsolveTopic(topic));\r\n }\r\n }\r\n\r\n if (record.media_group) {\r\n this.group = new EsolveMediaGroup(record.media_group);\r\n }\r\n\r\n if (record.manufacturer) {\r\n this.manufacturer = new EsolveManufacturer(record.manufacturer);\r\n }\r\n\r\n if (record.range) {\r\n this.range = new EsolveRange(record.range);\r\n }\r\n\r\n if (record.sections) {\r\n this.sections = new Map<string, EsolveMediaLayoutSection[]>();\r\n\r\n for (const key in record.sections) {\r\n const section_list: EsolveMediaLayoutSection[] = [];\r\n const section_records = record.sections[key];\r\n\r\n for (const section_record of section_records) {\r\n section_list.push(new EsolveMediaLayoutSection(section_record));\r\n }\r\n\r\n this.sections.set(key, section_list);\r\n }\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport {\r\n EsolveConnectConfig,\r\n EsolveGetResponse,\r\n ESOLVE_CONNECT_CONFIG,\r\n} from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaArticle, EsolveHeading } from '../classes';\r\nimport { EsolveMediaRecord, EsolveHeadingRecord } from '../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EsolveMediaService {\r\n constructor(\r\n @Inject(ESOLVE_CONNECT_CONFIG) private config: EsolveConnectConfig,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the media record from the eSolve instance using the identifier\r\n *\r\n * @param identifier String representing the eSolve media identifier\r\n */\r\n public getMediaArticle(identifier: string): Observable<EsolveMediaArticle> {\r\n const params = new HttpParams({ fromObject: { identifier } });\r\n\r\n // TODO: Error Handling\r\n return this.getMediaRecords(params).pipe(\r\n map((response) => {\r\n if (\r\n (response.records === undefined) ||\r\n (response.records.length <= 0)\r\n ) {\r\n throw response;\r\n }\r\n\r\n const mediaRecord = response.records[0];\r\n\r\n if (!mediaRecord.active) {\r\n throw response;\r\n }\r\n\r\n return this.processMediaRecord(mediaRecord);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves a group of media records from the eSolve instance linked to a group\r\n *\r\n * @param media_group String representing the eSolve media group\r\n */\r\n public getGroupedMediaArticles(media_group: string): Observable<EsolveMediaArticle[]> {\r\n const params = new HttpParams({\r\n fromObject: { media_group_sef: media_group }\r\n });\r\n\r\n return this.getMediaRecords(params).pipe(\r\n map((response) => {\r\n const mediaArticles: EsolveMediaArticle[] = [];\r\n\r\n if (\r\n (response.records !== undefined) &&\r\n (response.records.length > 0)\r\n ) {\r\n for (const mediaRecord of response.records) {\r\n if (mediaRecord.active) {\r\n mediaArticles.push(this.processMediaRecord(mediaRecord));\r\n }\r\n }\r\n }\r\n\r\n return mediaArticles;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves the media heading records from the eSolve instance using the identifiers\r\n *\r\n * @param identifiers Array of strings representing the eSolve heading identifiers\r\n */\r\n public getHeadings(identifiers: string[]): Observable<EsolveHeading[]> {\r\n return this.http\r\n .get<EsolveGetResponse<EsolveHeadingRecord[]>>(\r\n `${this.config.api_url}/get-headings.php`,\r\n {\r\n params: {\r\n identifier: identifiers.join(','),\r\n },\r\n }\r\n )\r\n .pipe(\r\n map((response) => {\r\n const headings: EsolveHeading[] = [];\r\n\r\n if (\r\n (response.records !== undefined) &&\r\n (response.records.length > 0)\r\n ) {\r\n for (const heading_record of response.records) {\r\n headings.push(this.processHeadingRecord(heading_record));\r\n }\r\n }\r\n\r\n return headings;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Processes media article record\r\n *\r\n * @param record Record from eSolve instance\r\n */\r\n private processMediaRecord(record: EsolveMediaRecord): EsolveMediaArticle {\r\n return new EsolveMediaArticle(record);\r\n }\r\n\r\n /**\r\n * Processes media heading record\r\n *\r\n * @param record Record from eSolve instance\r\n */\r\n private processHeadingRecord(record: EsolveHeadingRecord): EsolveHeading {\r\n return new EsolveHeading(\r\n record.identifier,\r\n record.value\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves media records from eSolve instance.\r\n *\r\n * @param params HTTP params\r\n */\r\n private getMediaRecords(params: HttpParams): Observable<EsolveGetResponse<EsolveMediaRecord[]>> {\r\n return this.http.get<EsolveGetResponse<EsolveMediaRecord[]>>(\r\n `${this.config.api_url}/get-media.php`,\r\n { params }\r\n );\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nimport { EsolveConnectMediaConfig } from './esolve-connect-media.config';\r\n\r\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\r\n new InjectionToken<EsolveConnectMediaConfig>(\r\n 'esolve.connect.media.config',\r\n );\r\n","import { ComponentType } from '@angular/cdk/portal';\r\nimport { Inject, Injectable } from '@angular/core';\r\n\r\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\r\nimport { EsolveMediaLayoutSectionType } from '../types';\r\n\r\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\r\nimport { EsolveConnectMediaConfig } from '../esolve-connect-media.config';\r\n\r\ntype ComponentMap = Map<string, ComponentType<any>>;\r\n\r\ntype SectionKeyOptions = {\r\n type: EsolveMediaLayoutSectionType;\r\n sub_type?: string;\r\n layout?: string;\r\n group?: string;\r\n};\r\n\r\n@Injectable()\r\nexport class EsolveMediaLayoutService {\r\n private readonly section_key_delimiter = '>>>';\r\n\r\n private media?: EsolveMediaArticle;\r\n private layout_map: ComponentMap = new Map();\r\n private section_map: ComponentMap = new Map();\r\n private default_layout: string;\r\n\r\n constructor(\r\n @Inject(ESOLVE_CONNECT_MEDIA_CONFIG)\r\n config: EsolveConnectMediaConfig,\r\n ) {\r\n if (config.layouts.length === 0) {\r\n throw new Error('No layouts have been defined');\r\n }\r\n\r\n for (const layout of config.layouts) {\r\n this.setLayout(layout.key, layout.component);\r\n\r\n if (layout.sections) {\r\n for (const section_group_key in layout.sections) {\r\n const sections = layout.sections[section_group_key];\r\n\r\n for (const section of sections) {\r\n const key_options: SectionKeyOptions = {\r\n type: section.key,\r\n sub_type: section.sub_key,\r\n layout: layout.key,\r\n };\r\n\r\n if (section_group_key !== '__default') {\r\n key_options.group = section_group_key;\r\n }\r\n\r\n this.setSection(section.component, key_options);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const default_layout = config.default_layout;\r\n\r\n if (default_layout) {\r\n this.default_layout = default_layout;\r\n } else {\r\n this.default_layout = config.layouts[0].key;\r\n }\r\n\r\n if (config.sections.length > 0) {\r\n for (const section of config.sections) {\r\n const key_options: SectionKeyOptions = {\r\n type: section.key,\r\n sub_type: section.sub_key,\r\n };\r\n\r\n this.setSection(section.component, key_options);\r\n }\r\n }\r\n }\r\n\r\n public getMedia() {\r\n if (!this.media) {\r\n throw new Error('Media not declared');\r\n }\r\n\r\n return this.media;\r\n }\r\n\r\n public setMedia(media: EsolveMediaArticle) {\r\n this.media = media;\r\n }\r\n\r\n public getLayout() {\r\n const media = this.getMedia();\r\n\r\n let layout_key = media.layout;\r\n\r\n if (layout_key === '') {\r\n layout_key = this.default_layout;\r\n }\r\n\r\n return this.searchLayout(layout_key);\r\n }\r\n\r\n public getSectionContent(key: string) {\r\n const media = this.getMedia();\r\n\r\n if (media.sections) {\r\n const section = media.sections.get(key);\r\n\r\n if (section) {\r\n return section;\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\r\n const type = section.type;\r\n const sub_type = section.sub_type;\r\n const { layout } = this.getMedia();\r\n\r\n const section_key = this.createSectionMapKey({\r\n type,\r\n sub_type,\r\n layout,\r\n group: key,\r\n });\r\n\r\n let component = this.section_map.get(section_key);\r\n\r\n if (component) {\r\n return component;\r\n }\r\n\r\n const layout_key = this.createSectionMapKey({\r\n type,\r\n sub_type,\r\n layout,\r\n });\r\n\r\n component = this.section_map.get(layout_key);\r\n\r\n if (component) {\r\n return component;\r\n }\r\n\r\n const base_key = this.createSectionMapKey({\r\n type,\r\n sub_type,\r\n });\r\n\r\n component = this.section_map.get(base_key);\r\n\r\n if (component) {\r\n return component;\r\n }\r\n\r\n throw new Error('Section component not defined');\r\n }\r\n\r\n private searchLayout(layout_key: string) {\r\n const component = this.layout_map.get(layout_key);\r\n\r\n if (!component) {\r\n throw new Error('Layout not declared');\r\n }\r\n\r\n return component;\r\n }\r\n\r\n private setLayout(key: string, component: ComponentType<any>) {\r\n this.layout_map.set(key, component);\r\n }\r\n\r\n private setSection(\r\n component: ComponentType<any>,\r\n key_options: SectionKeyOptions,\r\n ) {\r\n const key = this.createSectionMapKey(key_options);\r\n\r\n this.section_map.set(key, component);\r\n }\r\n\r\n private createSectionMapKey(key_options: SectionKeyOptions) {\r\n const { type, sub_type, layout, group } = key_options;\r\n\r\n const key_array: string[] = [type];\r\n\r\n if (sub_type) {\r\n key_array.push(sub_type);\r\n }\r\n\r\n if (layout) {\r\n key_array.push(layout);\r\n\r\n if (group) {\r\n key_array.push(group);\r\n }\r\n }\r\n\r\n return key_array.join(this.section_key_delimiter);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnChanges,\r\n Input,\r\n Injector,\r\n} from '@angular/core';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport { EsolveMediaArticle } from '../../classes';\r\n\r\nimport { EsolveMediaLayoutService } from '../../services';\r\n\r\n@Component({\r\n selector: 'eslv-media-layout',\r\n template: `<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>`,\r\n providers: [\r\n EsolveMediaLayoutService,\r\n ],\r\n})\r\nexport class EsolveMediaLayoutComponent implements OnChanges {\r\n @Input() public media!: EsolveMediaArticle;\r\n\r\n public portal!: ComponentPortal<any>;\r\n\r\n constructor(\r\n public layoutService: EsolveMediaLayoutService,\r\n ) { }\r\n\r\n public ngOnChanges(): void {\r\n this.layoutService.setMedia(this.media);\r\n const component = this.layoutService.getLayout();\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: EsolveMediaLayoutService,\r\n useValue: this.layoutService,\r\n },\r\n ],\r\n });\r\n\r\n this.portal = new ComponentPortal(component, null, injector);\r\n }\r\n}\r\n","import { Component, OnChanges, Input, Injector } from '@angular/core';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport { EsolveMediaLayoutSection } from '../../classes';\r\nimport { EsolveMediaLayoutService } from '../../services';\r\n\r\n@Component({\r\n selector: 'eslv-media-section',\r\n templateUrl: './esolve-media-section.component.html',\r\n})\r\nexport class EsolveMediaSectionComponent implements OnChanges {\r\n @Input() public key!: string;\r\n\r\n public portals: ComponentPortal<any>[] = [];\r\n\r\n constructor(\r\n public layoutService: EsolveMediaLayoutService,\r\n ) { }\r\n\r\n public ngOnChanges(): void {\r\n const sections = this.layoutService.getSectionContent(this.key);\r\n this.processPortals(sections);\r\n }\r\n\r\n private processPortals(sections: EsolveMediaLayoutSection[]) {\r\n for (const section of sections) {\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: EsolveMediaLayoutSection,\r\n useValue: section,\r\n },\r\n {\r\n provide: EsolveMediaLayoutService,\r\n useValue: this.layoutService,\r\n },\r\n ],\r\n });\r\n\r\n const component = this.layoutService.getSectionComponent(\r\n this.key,\r\n section,\r\n );\r\n\r\n const portal = new ComponentPortal(component, null, injector);\r\n this.portals.push(portal);\r\n }\r\n }\r\n}\r\n","<ng-container *ngIf=\"portals.length > 0\">\r\n <ng-container *ngFor=\"let portal of portals\">\r\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\r\n </ng-container>\r\n</ng-container>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\n\r\nimport { NgEsolveConnectModule } from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaLayoutComponent, EsolveMediaSectionComponent } from './components';\r\nimport { EsolveConnectMediaConfig } from './esolve-connect-media.config';\r\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from './esolve-connect-media-config.token';\r\n\r\n@NgModule({\r\n declarations: [\r\n EsolveMediaLayoutComponent,\r\n EsolveMediaSectionComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n PortalModule,\r\n NgEsolveConnectModule,\r\n ],\r\n exports: [\r\n EsolveMediaLayoutComponent,\r\n EsolveMediaSectionComponent,\r\n ],\r\n})\r\nexport class NgEsolveConnectMediaModule {\r\n static withConfig(\r\n config: EsolveConnectMediaConfig,\r\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\r\n return {\r\n ngModule: NgEsolveConnectMediaModule,\r\n providers: [\r\n {\r\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\r\n useValue: config,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.EsolveMediaLayoutService","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"esolve-ng-esolve-connect-media.mjs","sources":["../../../projects/ng-esolve-connect/media/src/classes/esolve-heading.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-group.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-layout-section.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-link.model.ts","../../../projects/ng-esolve-connect/media/src/classes/esolve-media-article.model.ts","../../../projects/ng-esolve-connect/media/src/services/esolve-media.service.ts","../../../projects/ng-esolve-connect/media/src/esolve-connect-media-config.token.ts","../../../projects/ng-esolve-connect/media/src/services/esolve-media-layout.service.ts","../../../projects/ng-esolve-connect/media/src/components/media-layout/esolve-media-layout.component.ts","../../../projects/ng-esolve-connect/media/src/components/media-layout/esolve-media-layout.component.html","../../../projects/ng-esolve-connect/media/src/components/media-section/esolve-media-section.component.ts","../../../projects/ng-esolve-connect/media/src/components/media-section/esolve-media-section.component.html","../../../projects/ng-esolve-connect/media/src/ng-esolve-connect-media.module.ts","../../../projects/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\r\n constructor(\r\n public identifier: string,\r\n public value: string,\r\n ) { }\r\n}\r\n","import { EsolveMediaGroupRecord } from '../interfaces';\r\n\r\nexport class EsolveMediaGroup {\r\n public id: number = 0;\r\n public name: string = '';\r\n public sef_name: string = '';\r\n public description: string = '';\r\n\r\n constructor(record?: EsolveMediaGroupRecord) {\r\n if (record) {\r\n this.id = +(record.id ?? 0);\r\n this.name = record.name ?? '';\r\n this.sef_name = record.sef_name ?? '';\r\n this.description = record.description ?? '';\r\n }\r\n }\r\n}\r\n","import { EsolveMediaLayoutSectionRecord } from '../interfaces';\r\nimport { EsolveMediaLayoutSectionType } from '../types';\r\n\r\nexport class EsolveMediaLayoutSection {\r\n public type: EsolveMediaLayoutSectionType;\r\n public sub_type: string = '';\r\n public identifier: string;\r\n\r\n private data?: any;\r\n\r\n constructor(record: EsolveMediaLayoutSectionRecord) {\r\n this.type = record.type;\r\n this.identifier = record.identifier;\r\n this.sub_type = record.sub_type ?? '';\r\n\r\n if (record.data) {\r\n this.data = record.data;\r\n }\r\n }\r\n\r\n public getData<T>(): T | null {\r\n if (typeof this.data === 'undefined') {\r\n return null;\r\n }\r\n\r\n return this.data as T;\r\n }\r\n}\r\n","import { EsolveUrlTarget } from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaLinkRecord } from '../interfaces';\r\n\r\nexport class EsolveMediaLink {\r\n public caption: string;\r\n public url: string;\r\n public target: EsolveUrlTarget;\r\n\r\n constructor(record: EsolveMediaLinkRecord) {\r\n this.url = record.url;\r\n this.caption = record.caption ?? 'Read more...';\r\n this.target = record.target ?? '_self';\r\n }\r\n}\r\n","import {\r\n EsolveCustomFields,\r\n EsolveManufacturer,\r\n EsolveRange,\r\n EsolveSeoDetails,\r\n EsolveSeoInfo,\r\n EsolveTag,\r\n EsolveTopic,\r\n} from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaRecord } from '../interfaces';\r\n\r\nimport { EsolveMediaGroup } from './esolve-media-group.model';\r\nimport { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';\r\nimport { EsolveMediaLink } from './esolve-media-link.model';\r\n\r\nexport class EsolveMediaArticle implements EsolveSeoDetails {\r\n public identifier: string;\r\n public title: string;\r\n public article: string;\r\n public layout: string = '';\r\n public image_url: string = '';\r\n public tags: EsolveTag[] = [];\r\n public topics: EsolveTopic[] = [];\r\n public seo_details: EsolveSeoInfo;\r\n public group?: EsolveMediaGroup;\r\n public manufacturer?: EsolveManufacturer;\r\n public range?: EsolveRange;\r\n public sections?: Map<string, EsolveMediaLayoutSection[]>;\r\n public link?: EsolveMediaLink;\r\n public custom_fields?: EsolveCustomFields;\r\n\r\n constructor(record: EsolveMediaRecord) {\r\n this.identifier = record.identifier;\r\n this.title = record.title;\r\n this.article = record.article;\r\n\r\n let seo_title = record.seo_page_title ?? '';\r\n let seo_keywords = record.seo_keywords ?? '';\r\n let seo_description = record.seo_description ?? '';\r\n\r\n if (seo_title.trim() === '') {\r\n seo_title = this.title;\r\n }\r\n\r\n this.seo_details = new EsolveSeoInfo(\r\n seo_title,\r\n seo_description,\r\n seo_keywords,\r\n );\r\n\r\n this.image_url = record.image_url ?? '';\r\n\r\n if ((record.tags) && (record.tags.length > 0)) {\r\n for (const tag of record.tags) {\r\n this.tags.push(new EsolveTag(tag));\r\n }\r\n }\r\n\r\n if ((record.topics) && (record.topics.length > 0)) {\r\n for (const topic of record.topics) {\r\n this.topics.push(new EsolveTopic(topic));\r\n }\r\n }\r\n\r\n if (record.media_group) {\r\n this.group = new EsolveMediaGroup(record.media_group);\r\n }\r\n\r\n if (record.manufacturer) {\r\n this.manufacturer = new EsolveManufacturer(record.manufacturer);\r\n }\r\n\r\n if (record.range) {\r\n this.range = new EsolveRange(record.range);\r\n }\r\n\r\n if (record.is_both_master_and_minor_article || !record.is_minor_article) {\r\n this.layout = record.layout ?? '';\r\n\r\n if (record.sections) {\r\n this.sections = new Map<string, EsolveMediaLayoutSection[]>();\r\n\r\n for (const key in record.sections) {\r\n const section_list: EsolveMediaLayoutSection[] = [];\r\n const section_records = record.sections[key];\r\n\r\n for (const section_record of section_records) {\r\n section_list.push(new EsolveMediaLayoutSection(section_record));\r\n }\r\n\r\n this.sections.set(key, section_list);\r\n }\r\n }\r\n }\r\n\r\n if (record.is_both_master_and_minor_article || record.is_minor_article) {\r\n if (record.sef_url) {\r\n this.link = new EsolveMediaLink({\r\n url: record.sef_url,\r\n caption: record.link_caption,\r\n target: record.target,\r\n });\r\n }\r\n }\r\n\r\n if (record.custom_fields) {\r\n this.custom_fields = record.custom_fields;\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport {\r\n EsolveConnectConfig,\r\n EsolveGetResponse,\r\n ESOLVE_CONNECT_CONFIG,\r\n} from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaArticle, EsolveHeading } from '../classes';\r\nimport { EsolveMediaRecord, EsolveHeadingRecord } from '../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EsolveMediaService {\r\n constructor(\r\n @Inject(ESOLVE_CONNECT_CONFIG) private config: EsolveConnectConfig,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the media record from the eSolve instance using the identifier\r\n *\r\n * @param identifier String representing the eSolve media identifier\r\n */\r\n public getMediaArticle(identifier: string): Observable<EsolveMediaArticle> {\r\n const params = new HttpParams({ fromObject: { identifier } });\r\n\r\n // TODO: Error Handling\r\n return this.getMediaRecords(params).pipe(\r\n map((response) => {\r\n if (\r\n (response.records === undefined) ||\r\n (response.records.length <= 0)\r\n ) {\r\n throw response;\r\n }\r\n\r\n const mediaRecord = response.records[0];\r\n\r\n if (!mediaRecord.active) {\r\n throw response;\r\n }\r\n\r\n return this.processMediaRecord(mediaRecord);\r\n }),\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves a group of media records from the eSolve instance linked to a group\r\n *\r\n * @param media_group String representing the eSolve media group\r\n */\r\n public getGroupedMediaArticles(media_group: string): Observable<EsolveMediaArticle[]> {\r\n const params = new HttpParams({\r\n fromObject: { media_group_sef: media_group },\r\n });\r\n\r\n return this.getMediaRecords(params).pipe(\r\n map((response) => {\r\n const mediaArticles: EsolveMediaArticle[] = [];\r\n\r\n if (\r\n (response.records !== undefined) &&\r\n (response.records.length > 0)\r\n ) {\r\n for (const mediaRecord of response.records) {\r\n if (mediaRecord.active) {\r\n mediaArticles.push(this.processMediaRecord(mediaRecord));\r\n }\r\n }\r\n }\r\n\r\n return mediaArticles;\r\n }),\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves the media heading records from the eSolve instance using the identifiers\r\n *\r\n * @param identifiers Array of strings representing the eSolve heading identifiers\r\n */\r\n public getHeadings(identifiers: string[]): Observable<EsolveHeading[]> {\r\n return this.http\r\n .get<EsolveGetResponse<EsolveHeadingRecord[]>>(\r\n `${this.config.api_url}/get-headings.php`,\r\n {\r\n params: {\r\n identifier: identifiers.join(','),\r\n },\r\n },\r\n )\r\n .pipe(\r\n map((response) => {\r\n const headings: EsolveHeading[] = [];\r\n\r\n if (\r\n (response.records !== undefined) &&\r\n (response.records.length > 0)\r\n ) {\r\n for (const heading_record of response.records) {\r\n headings.push(this.processHeadingRecord(heading_record));\r\n }\r\n }\r\n\r\n return headings;\r\n }),\r\n );\r\n }\r\n\r\n /**\r\n * Processes media article record\r\n *\r\n * @param record Record from eSolve instance\r\n */\r\n private processMediaRecord(record: EsolveMediaRecord): EsolveMediaArticle {\r\n return new EsolveMediaArticle(record);\r\n }\r\n\r\n /**\r\n * Processes media heading record\r\n *\r\n * @param record Record from eSolve instance\r\n */\r\n private processHeadingRecord(record: EsolveHeadingRecord): EsolveHeading {\r\n return new EsolveHeading(\r\n record.identifier,\r\n record.value,\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves media records from eSolve instance.\r\n *\r\n * @param params HTTP params\r\n */\r\n private getMediaRecords(params: HttpParams): Observable<EsolveGetResponse<EsolveMediaRecord[]>> {\r\n return this.http.get<EsolveGetResponse<EsolveMediaRecord[]>>(\r\n `${this.config.api_url}/get-media.php`,\r\n { params },\r\n );\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nimport { EsolveConnectMediaConfig } from './esolve-connect-media.config';\r\n\r\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\r\n new InjectionToken<EsolveConnectMediaConfig>(\r\n 'esolve.connect.media.config',\r\n );\r\n","import { ComponentType } from '@angular/cdk/portal';\r\nimport { Inject, Injectable } from '@angular/core';\r\n\r\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\r\nimport { EsolveMediaLayoutSectionType } from '../types';\r\n\r\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\r\nimport { EsolveConnectMediaConfig } from '../esolve-connect-media.config';\r\n\r\ntype ComponentMap = Map<string, ComponentType<any>>;\r\n\r\ntype SectionKeyOptions = {\r\n type: EsolveMediaLayoutSectionType;\r\n sub_type?: string;\r\n layout?: string;\r\n group?: string;\r\n};\r\n\r\n@Injectable()\r\nexport class EsolveMediaLayoutService {\r\n private readonly section_key_delimiter = '>>>';\r\n\r\n private media?: EsolveMediaArticle;\r\n private layout_map: ComponentMap = new Map();\r\n private section_map: ComponentMap = new Map();\r\n private default_layout: string;\r\n\r\n constructor(\r\n @Inject(ESOLVE_CONNECT_MEDIA_CONFIG)\r\n config: EsolveConnectMediaConfig,\r\n ) {\r\n if (config.layouts.length === 0) {\r\n throw new Error('No layouts have been defined');\r\n }\r\n\r\n for (const layout of config.layouts) {\r\n this.setLayout(layout.key, layout.component);\r\n\r\n if (layout.sections) {\r\n for (const section_group_key in layout.sections) {\r\n const sections = layout.sections[section_group_key];\r\n\r\n for (const section of sections) {\r\n const key_options: SectionKeyOptions = {\r\n type: section.key,\r\n sub_type: section.sub_key,\r\n layout: layout.key,\r\n };\r\n\r\n if (section_group_key !== '__default') {\r\n key_options.group = section_group_key;\r\n }\r\n\r\n this.setSection(section.component, key_options);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const default_layout = config.default_layout;\r\n\r\n if (default_layout) {\r\n this.default_layout = default_layout;\r\n } else {\r\n this.default_layout = config.layouts[0].key;\r\n }\r\n\r\n if (config.sections.length > 0) {\r\n for (const section of config.sections) {\r\n const key_options: SectionKeyOptions = {\r\n type: section.key,\r\n sub_type: section.sub_key,\r\n };\r\n\r\n this.setSection(section.component, key_options);\r\n }\r\n }\r\n }\r\n\r\n public getMedia() {\r\n if (!this.media) {\r\n throw new Error('Media not declared');\r\n }\r\n\r\n return this.media;\r\n }\r\n\r\n public setMedia(media: EsolveMediaArticle) {\r\n this.media = media;\r\n }\r\n\r\n public getLayout() {\r\n const media = this.getMedia();\r\n\r\n let layout_key = media.layout;\r\n\r\n if (layout_key === '') {\r\n layout_key = this.default_layout;\r\n }\r\n\r\n return this.searchLayout(layout_key);\r\n }\r\n\r\n public getSectionContent(key: string) {\r\n const media = this.getMedia();\r\n\r\n if (media.sections) {\r\n const section = media.sections.get(key);\r\n\r\n if (section) {\r\n return section;\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\r\n const type = section.type;\r\n const sub_type = section.sub_type;\r\n const { layout } = this.getMedia();\r\n\r\n const section_key = this.createSectionMapKey({\r\n type,\r\n sub_type,\r\n layout,\r\n group: key,\r\n });\r\n\r\n let component = this.section_map.get(section_key);\r\n\r\n if (component) {\r\n return component;\r\n }\r\n\r\n const layout_key = this.createSectionMapKey({\r\n type,\r\n sub_type,\r\n layout,\r\n });\r\n\r\n component = this.section_map.get(layout_key);\r\n\r\n if (component) {\r\n return component;\r\n }\r\n\r\n const base_key = this.createSectionMapKey({\r\n type,\r\n sub_type,\r\n });\r\n\r\n component = this.section_map.get(base_key);\r\n\r\n if (component) {\r\n return component;\r\n }\r\n\r\n throw new Error('Section component not defined');\r\n }\r\n\r\n private searchLayout(layout_key: string) {\r\n const component = this.layout_map.get(layout_key);\r\n\r\n if (!component) {\r\n throw new Error('Layout not declared');\r\n }\r\n\r\n return component;\r\n }\r\n\r\n private setLayout(key: string, component: ComponentType<any>) {\r\n this.layout_map.set(key, component);\r\n }\r\n\r\n private setSection(\r\n component: ComponentType<any>,\r\n key_options: SectionKeyOptions,\r\n ) {\r\n const key = this.createSectionMapKey(key_options);\r\n\r\n this.section_map.set(key, component);\r\n }\r\n\r\n private createSectionMapKey(key_options: SectionKeyOptions) {\r\n const { type, sub_type, layout, group } = key_options;\r\n\r\n const key_array: string[] = [type];\r\n\r\n if (sub_type) {\r\n key_array.push(sub_type);\r\n }\r\n\r\n if (layout) {\r\n key_array.push(layout);\r\n\r\n if (group) {\r\n key_array.push(group);\r\n }\r\n }\r\n\r\n return key_array.join(this.section_key_delimiter);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnChanges,\r\n Input,\r\n Injector,\r\n} from '@angular/core';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport { EsolveMediaArticle } from '../../classes';\r\nimport { EsolveMediaLayoutService } from '../../services';\r\n\r\n@Component({\r\n selector: 'eslv-media-layout',\r\n templateUrl: 'esolve-media-layout.component.html',\r\n providers: [\r\n EsolveMediaLayoutService,\r\n ],\r\n})\r\nexport class EsolveMediaLayoutComponent implements OnChanges {\r\n @Input() public media!: EsolveMediaArticle;\r\n\r\n public portal!: ComponentPortal<any>;\r\n\r\n constructor(\r\n public layoutService: EsolveMediaLayoutService,\r\n ) { }\r\n\r\n public ngOnChanges(): void {\r\n this.layoutService.setMedia(this.media);\r\n const component = this.layoutService.getLayout();\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: EsolveMediaLayoutService,\r\n useValue: this.layoutService,\r\n },\r\n ],\r\n });\r\n\r\n this.portal = new ComponentPortal(component, null, injector);\r\n }\r\n}\r\n","<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\r\n","import { Component, OnChanges, Input, Injector } from '@angular/core';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\n\r\nimport { EsolveMediaLayoutSection } from '../../classes';\r\nimport { EsolveMediaLayoutService } from '../../services';\r\n\r\n@Component({\r\n selector: 'eslv-media-section',\r\n templateUrl: './esolve-media-section.component.html',\r\n})\r\nexport class EsolveMediaSectionComponent implements OnChanges {\r\n @Input() public key!: string;\r\n\r\n public portals: ComponentPortal<any>[] = [];\r\n\r\n constructor(\r\n public layoutService: EsolveMediaLayoutService,\r\n ) { }\r\n\r\n public ngOnChanges(): void {\r\n const sections = this.layoutService.getSectionContent(this.key);\r\n this.processPortals(sections);\r\n }\r\n\r\n private processPortals(sections: EsolveMediaLayoutSection[]) {\r\n for (const section of sections) {\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: EsolveMediaLayoutSection,\r\n useValue: section,\r\n },\r\n {\r\n provide: EsolveMediaLayoutService,\r\n useValue: this.layoutService,\r\n },\r\n ],\r\n });\r\n\r\n const component = this.layoutService.getSectionComponent(\r\n this.key,\r\n section,\r\n );\r\n\r\n const portal = new ComponentPortal(component, null, injector);\r\n this.portals.push(portal);\r\n }\r\n }\r\n}\r\n","<ng-container *ngIf=\"portals.length > 0\">\r\n <ng-container *ngFor=\"let portal of portals\">\r\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\r\n </ng-container>\r\n</ng-container>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\n\r\nimport { NgEsolveConnectModule } from '@esolve/ng-esolve-connect';\r\n\r\nimport { EsolveMediaLayoutComponent, EsolveMediaSectionComponent } from './components';\r\nimport { EsolveConnectMediaConfig } from './esolve-connect-media.config';\r\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from './esolve-connect-media-config.token';\r\n\r\n@NgModule({\r\n declarations: [\r\n EsolveMediaLayoutComponent,\r\n EsolveMediaSectionComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n PortalModule,\r\n NgEsolveConnectModule,\r\n ],\r\n exports: [\r\n EsolveMediaLayoutComponent,\r\n EsolveMediaSectionComponent,\r\n ],\r\n})\r\nexport class NgEsolveConnectMediaModule {\r\n public static withConfig(\r\n config: EsolveConnectMediaConfig,\r\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\r\n return {\r\n ngModule: NgEsolveConnectMediaModule,\r\n providers: [\r\n {\r\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\r\n useValue: config,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.EsolveMediaLayoutService","i2","i3"],"mappings":"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"}
|