@esolve/ng-esolve-connect 0.118.0 → 0.119.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.
- package/esm2022/lib/images/functions/is-esolve-cdn-path.function.mjs +2 -2
- package/esm2022/lib/stock/interfaces/esolve-stock-item-history-options.interface.mjs +1 -1
- package/esm2022/lib/stock/types/esolve-stock-history-sort-field.type.mjs +1 -1
- package/esm2022/media/lib/services/esolve-media.service.mjs +12 -5
- package/fesm2022/esolve-ng-esolve-connect-media.mjs +11 -4
- package/fesm2022/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2022/esolve-ng-esolve-connect.mjs +1 -1
- package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/stock/interfaces/esolve-stock-item-history-options.interface.d.ts +2 -2
- package/lib/stock/types/esolve-stock-history-sort-field.type.d.ts +1 -1
- package/media/lib/services/esolve-media.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function isEsolveCdnPath(path) {
|
|
2
|
-
const cdn_regex = /^\/?images\/(?:stock|media|news|assets|banners|documents|manufacturers|ranges|categories|subcategories|tags|specials)\//;
|
|
2
|
+
const cdn_regex = /^\/?images\/(?:stock|media|news|assets|banners|documents|manufacturers|ranges|categories|subcategories|tags|specials|location)\//;
|
|
3
3
|
return cdn_regex.test(path);
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZXNvbHZlLWNkbi1wYXRoLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2ltYWdlcy9mdW5jdGlvbnMvaXMtZXNvbHZlLWNkbi1wYXRoLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBWTtJQUN4QyxNQUFNLFNBQVMsR0FDWCxrSUFBa0ksQ0FBQztJQUV2SSxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc0Vzb2x2ZUNkblBhdGgocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2RuX3JlZ2V4ID1cbiAgICAgICAgL15cXC8/aW1hZ2VzXFwvKD86c3RvY2t8bWVkaWF8bmV3c3xhc3NldHN8YmFubmVyc3xkb2N1bWVudHN8bWFudWZhY3R1cmVyc3xyYW5nZXN8Y2F0ZWdvcmllc3xzdWJjYXRlZ29yaWVzfHRhZ3N8c3BlY2lhbHN8bG9jYXRpb24pXFwvLztcblxuICAgIHJldHVybiBjZG5fcmVnZXgudGVzdChwYXRoKTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0taGlzdG9yeS1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9pbnRlcmZhY2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWhpc3Rvcnktb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVN0b2NrSGlzdG9yeVNvcnRGaWVsZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEVzb2x2ZVN0b2NrSXRlbUJhc2VPcHRpb25zIH0gZnJvbSAnLi9lc29sdmUtc3RvY2staXRlbS1iYXNlLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVTdG9ja0l0ZW1IaXN0b3J5T3B0aW9uc1xuICAgIGV4dGVuZHMgRXNvbHZlU3RvY2tJdGVtQmFzZU9wdGlvbnM8RXNvbHZlU3RvY2tIaXN0b3J5U29ydEZpZWxkPiB7XG4gICAgY2xpZW50c19pZD86IG51bWJlcjtcbiAgICBtYW51ZmFjdHVyZXJzX2lkPzogbnVtYmVyO1xuICAgIHJhbmdlc19pZD86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWhpc3Rvcnktc29ydC1maWVsZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3N0b2NrL3R5cGVzL2Vzb2x2ZS1zdG9jay1oaXN0b3J5LXNvcnQtZmllbGQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RvY2tTb3J0RmllbGQgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1zb3J0LWZpZWxkLnR5cGUnO1xuXG5leHBvcnQgdHlwZSBFc29sdmVTdG9ja0hpc3RvcnlTb3J0RmllbGQgPSBFc29sdmVTdG9ja1NvcnRGaWVsZDtcbiJdfQ==
|
|
@@ -34,10 +34,17 @@ export class EsolveMediaService {
|
|
|
34
34
|
*
|
|
35
35
|
* @param media_group String representing the eSolve media group
|
|
36
36
|
*/
|
|
37
|
-
getGroupedMediaArticles(media_group) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
getGroupedMediaArticles(media_group, sort) {
|
|
38
|
+
let params = new HttpParams();
|
|
39
|
+
params = params.set('media_group_sef', media_group);
|
|
40
|
+
if (sort) {
|
|
41
|
+
if (sort.field) {
|
|
42
|
+
params = params.set('sort', sort.field);
|
|
43
|
+
}
|
|
44
|
+
if (sort.order) {
|
|
45
|
+
params = params.set('order', sort.order);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
41
48
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
42
49
|
const mediaArticles = [];
|
|
43
50
|
if (response.records !== undefined &&
|
|
@@ -107,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
107
114
|
providedIn: 'root',
|
|
108
115
|
}]
|
|
109
116
|
}] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvc2VydmljZXMvZXNvbHZlLW1lZGlhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUVILG1CQUFtQixHQUN0QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBTS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJWSxXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQW1JckM7SUFqSUc7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU5RCx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixJQUNJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUztnQkFDOUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUM5QixDQUFDO2dCQUNDLE1BQU0sUUFBUSxDQUFDO1lBQ25CLENBQUM7WUFFRCxNQUFN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Q3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlR2V0UmVzcG9uc2UsXG4gICAgRXNvbHZlQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQGVzb2x2ZS9uZy1lc29sdmUtY29ubmVjdCc7XG5cbmltcG9ydCB7IEVzb2x2ZU1lZGlhQXJ0aWNsZSwgRXNvbHZlSGVhZGluZyB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgRXNvbHZlTWVkaWFSZWNvcmQsIEVzb2x2ZUhlYWRpbmdSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlTWVkaWFTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIHJlY29yZCBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBpZGVudGlmaWVyXG4gICAgICovXG4gICAgcHVibGljIGdldE1lZGlhQXJ0aWNsZShpZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZU1lZGlhQXJ0aWNsZT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHsgaWRlbnRpZmllciB9IH0pO1xuXG4gICAgICAgIC8vIFRPRE86IEVycm9yIEhhbmRsaW5nXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhUmVjb3JkcyhwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBtZWRpYVJlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XG5cbiAgICAgICAgICAgICAgICBpZiAoIW1lZGlhUmVjb3JkLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgZ3JvdXAgb2YgbWVkaWEgcmVjb3JkcyBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgbGlua2VkIHRvIGEgZ3JvdXBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZWRpYV9ncm91cCBTdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgbWVkaWEgZ3JvdXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3JvdXBlZE1lZGlhQXJ0aWNsZXMoXG4gICAgICAgIG1lZGlhX2dyb3VwOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVNZWRpYUFydGljbGVbXT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7IG1lZGlhX2dyb3VwX3NlZjogbWVkaWFfZ3JvdXAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVkaWFSZWNvcmRzKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZWRpYUFydGljbGVzOiBFc29sdmVNZWRpYUFydGljbGVbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVkaWFSZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lZGlhUmVjb3JkLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhQXJ0aWNsZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbWVkaWFBcnRpY2xlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgbWVkaWEgaGVhZGluZyByZWNvcmRzIGZyb20gdGhlIGVTb2x2ZSBpbnN0YW5jZSB1c2luZyB0aGUgaWRlbnRpZmllcnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVycyBBcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIGhlYWRpbmcgaWRlbnRpZmllcnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGluZ3MoaWRlbnRpZmllcnM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxFc29sdmVIZWFkaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVIZWFkaW5nUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtaGVhZGluZ3MucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcjogaWRlbnRpZmllcnMuam9pbignLCcpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRpbmdzOiBFc29sdmVIZWFkaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaGVhZGluZ19yZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0hlYWRpbmdSZWNvcmQoaGVhZGluZ19yZWNvcmQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBtZWRpYSBhcnRpY2xlIHJlY29yZFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NNZWRpYVJlY29yZChyZWNvcmQ6IEVzb2x2ZU1lZGlhUmVjb3JkKTogRXNvbHZlTWVkaWFBcnRpY2xlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVNZWRpYUFydGljbGUocmVjb3JkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgbWVkaWEgaGVhZGluZyByZWNvcmRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmQgUmVjb3JkIGZyb20gZVNvbHZlIGluc3RhbmNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzSGVhZGluZ1JlY29yZChyZWNvcmQ6IEVzb2x2ZUhlYWRpbmdSZWNvcmQpOiBFc29sdmVIZWFkaW5nIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVIZWFkaW5nKHJlY29yZC5pZGVudGlmaWVyLCByZWNvcmQudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBtZWRpYSByZWNvcmRzIGZyb20gZVNvbHZlIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtcyBIVFRQIHBhcmFtc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TWVkaWFSZWNvcmRzKFxuICAgICAgICBwYXJhbXM6IEh0dHBQYXJhbXMsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbWVkaWEucGhwYCxcbiAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvc2VydmljZXMvZXNvbHZlLW1lZGlhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUVILG1CQUFtQixHQUV0QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBTS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJWSxXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQStJckM7SUE3SUc7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU5RCx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixJQUNJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUztnQkFDOUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUM5QixDQUFDO2dCQUNDLE1BQU0sUUFBUSxDQUFDO1lBQ25CLENBQUM7WUFFRCxNQUFN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QVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQ25CLE1BQWtCO1FBRWxCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2hCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLGdCQUFnQixFQUN0QyxFQUFFLE1BQU0sRUFBRSxDQUNiLENBQUM7SUFDTixDQUFDOzhHQWhKUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZmLE1BQU07OzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFc29sdmVDb25maWdTZXJ2aWNlLFxuICAgIEVzb2x2ZVNvcnQsXG59IGZyb20gJ0Blc29sdmUvbmctZXNvbHZlLWNvbm5lY3QnO1xuXG5pbXBvcnQgeyBFc29sdmVNZWRpYUFydGljbGUsIEVzb2x2ZUhlYWRpbmcgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IEVzb2x2ZU1lZGlhUmVjb3JkLCBFc29sdmVIZWFkaW5nUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lZGlhU2VydmljZSB7XG4gICAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBtZWRpYSByZWNvcmQgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIHVzaW5nIHRoZSBpZGVudGlmaWVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBTdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgbWVkaWEgaWRlbnRpZmllclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZWRpYUFydGljbGUoaWRlbnRpZmllcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc29sdmVNZWRpYUFydGljbGU+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiB7IGlkZW50aWZpZXIgfSB9KTtcblxuICAgICAgICAvLyBUT0RPOiBFcnJvciBIYW5kbGluZ1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoIDw9IDBcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbWVkaWFSZWNvcmQgPSByZXNwb25zZS5yZWNvcmRzWzBdO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFtZWRpYVJlY29yZC5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc01lZGlhUmVjb3JkKG1lZGlhUmVjb3JkKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGdyb3VwIG9mIG1lZGlhIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGxpbmtlZCB0byBhIGdyb3VwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVkaWFfZ3JvdXAgU3RyaW5nIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIG1lZGlhIGdyb3VwXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwZWRNZWRpYUFydGljbGVzKFxuICAgICAgICBtZWRpYV9ncm91cDogc3RyaW5nLFxuICAgICAgICBzb3J0PzogRXNvbHZlU29ydFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlTWVkaWFBcnRpY2xlW10+IHtcblxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdtZWRpYV9ncm91cF9zZWYnLCBtZWRpYV9ncm91cCk7XG5cbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgIGlmIChzb3J0LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc29ydCcsIHNvcnQuZmllbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc29ydC5vcmRlcikge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ29yZGVyJywgc29ydC5vcmRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhQXJ0aWNsZXM6IEVzb2x2ZU1lZGlhQXJ0aWNsZVtdID0gW107XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBtZWRpYVJlY29yZCBvZiByZXNwb25zZS5yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVkaWFSZWNvcmQuYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFBcnRpY2xlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NNZWRpYVJlY29yZChtZWRpYVJlY29yZCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBtZWRpYUFydGljbGVzO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBoZWFkaW5nIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIHVzaW5nIHRoZSBpZGVudGlmaWVyc1xuICAgICAqXG4gICAgICogQHBhcmFtIGlkZW50aWZpZXJzIEFycmF5IG9mIHN0cmluZ3MgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgaGVhZGluZyBpZGVudGlmaWVyc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIZWFkaW5ncyhpZGVudGlmaWVyczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEVzb2x2ZUhlYWRpbmdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUhlYWRpbmdSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1oZWFkaW5ncy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVycy5qb2luKCcsJyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVhZGluZ3M6IEVzb2x2ZUhlYWRpbmdbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBoZWFkaW5nX3JlY29yZCBvZiByZXNwb25zZS5yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZ3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzSGVhZGluZ1JlY29yZChoZWFkaW5nX3JlY29yZCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBoZWFkaW5ncztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIG1lZGlhIGFydGljbGUgcmVjb3JkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkIFJlY29yZCBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc01lZGlhUmVjb3JkKHJlY29yZDogRXNvbHZlTWVkaWFSZWNvcmQpOiBFc29sdmVNZWRpYUFydGljbGUge1xuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZU1lZGlhQXJ0aWNsZShyZWNvcmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBtZWRpYSBoZWFkaW5nIHJlY29yZFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NIZWFkaW5nUmVjb3JkKHJlY29yZDogRXNvbHZlSGVhZGluZ1JlY29yZCk6IEVzb2x2ZUhlYWRpbmcge1xuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUhlYWRpbmcocmVjb3JkLmlkZW50aWZpZXIsIHJlY29yZC52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIG1lZGlhIHJlY29yZHMgZnJvbSBlU29sdmUgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyYW1zIEhUVFAgcGFyYW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRNZWRpYVJlY29yZHMoXG4gICAgICAgIHBhcmFtczogSHR0cFBhcmFtcyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZU1lZGlhUmVjb3JkW10+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZU1lZGlhUmVjb3JkW10+PihcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1tZWRpYS5waHBgLFxuICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -155,10 +155,17 @@ class EsolveMediaService {
|
|
|
155
155
|
*
|
|
156
156
|
* @param media_group String representing the eSolve media group
|
|
157
157
|
*/
|
|
158
|
-
getGroupedMediaArticles(media_group) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
getGroupedMediaArticles(media_group, sort) {
|
|
159
|
+
let params = new HttpParams();
|
|
160
|
+
params = params.set('media_group_sef', media_group);
|
|
161
|
+
if (sort) {
|
|
162
|
+
if (sort.field) {
|
|
163
|
+
params = params.set('sort', sort.field);
|
|
164
|
+
}
|
|
165
|
+
if (sort.order) {
|
|
166
|
+
params = params.set('order', sort.order);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
162
169
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
163
170
|
const mediaArticles = [];
|
|
164
171
|
if (response.records !== undefined &&
|
|
@@ -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 { 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 for ${section_key}`);\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 component not defined for ${layout_key}`);\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> | null;\n\n public ngOnChanges(): void {\n try {\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 } catch (error) {\n this.portal = null;\n console.error(error);\n }\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\" />\n","import { 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: [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 this.portals = [];\n\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 try {\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 } catch (error) {\n console.error(error);\n\n continue;\n }\n }\n }\n}\n","@if (portals.length > 0) {\n @for (portal of portals; track $index) {\n <ng-template [cdkPortalOutlet]=\"portal\" />\n }\n}\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":[],"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 EsolveSort,\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 sort?: EsolveSort\n ): Observable<EsolveMediaArticle[]> {\n\n let params = new HttpParams();\n\n params = params.set('media_group_sef', media_group);\n\n if (sort) {\n if (sort.field) {\n params = params.set('sort', sort.field);\n }\n\n if (sort.order) {\n params = params.set('order', sort.order);\n }\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 for ${section_key}`);\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 component not defined for ${layout_key}`);\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> | null;\n\n public ngOnChanges(): void {\n try {\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 } catch (error) {\n this.portal = null;\n console.error(error);\n }\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\" />\n","import { 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: [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 this.portals = [];\n\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 try {\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 } catch (error) {\n console.error(error);\n\n continue;\n }\n }\n }\n}\n","@if (portals.length > 0) {\n @for (portal of portals; track $index) {\n <ng-template [cdkPortalOutlet]=\"portal\" />\n }\n}\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":[],"mappings":"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"}
|
|
@@ -1274,7 +1274,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
1274
1274
|
}] });
|
|
1275
1275
|
|
|
1276
1276
|
function isEsolveCdnPath(path) {
|
|
1277
|
-
const cdn_regex = /^\/?images\/(?:stock|media|news|assets|banners|documents|manufacturers|ranges|categories|subcategories|tags|specials)\//;
|
|
1277
|
+
const cdn_regex = /^\/?images\/(?:stock|media|news|assets|banners|documents|manufacturers|ranges|categories|subcategories|tags|specials|location)\//;
|
|
1278
1278
|
return cdn_regex.test(path);
|
|
1279
1279
|
}
|
|
1280
1280
|
|