@esolve/ng-esolve-connect 0.36.0 → 0.37.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/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/confirmation/esolve-account-confirmation-post-response-item.interface.mjs +1 -1
- package/esm2020/lib/account/confirmation/esolve-account-confirmation-result.model.mjs +1 -1
- package/esm2020/lib/account/esolve-account.service.mjs +18 -16
- package/esm2020/lib/account/index.mjs +1 -1
- package/esm2020/lib/account/location/classes/esolve-location-update-result.model.mjs +2 -2
- package/esm2020/lib/account/location/classes/index.mjs +1 -1
- package/esm2020/lib/account/location/index.mjs +1 -1
- package/esm2020/lib/account/location/interfaces/esolve-location-options.interface.mjs +1 -1
- package/esm2020/lib/account/location/interfaces/index.mjs +1 -1
- package/esm2020/lib/account/password/esolve-change-password-result.model.mjs +2 -2
- package/esm2020/lib/account/password/esolve-reset-password-result.model.mjs +1 -1
- package/esm2020/lib/account/registration/esolve-registration-post-response-item.interface.mjs +1 -1
- package/esm2020/lib/account/registration/esolve-registration-result.model.mjs +1 -1
- package/esm2020/lib/account/user-account/classes/esolve-statement-balances.model.mjs +3 -2
- package/esm2020/lib/account/user-account/classes/esolve-statement-transaction.model.mjs +1 -1
- package/esm2020/lib/account/user-account/classes/esolve-statement.model.mjs +3 -2
- package/esm2020/lib/account/user-account/classes/esolve-user-account-result.model.mjs +1 -1
- package/esm2020/lib/account/user-account/classes/esolve-user-account.model.mjs +2 -2
- package/esm2020/lib/account/user-account/classes/esolve-user-client-account-balances.model.mjs +1 -1
- package/esm2020/lib/account/user-account/classes/esolve-user-client-account.model.mjs +5 -3
- package/esm2020/lib/auth/esolve-auth.service.mjs +13 -15
- 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/classes/esolve-cart-totals.model.mjs +1 -1
- package/esm2020/lib/cart/classes/esolve-empty-cart-result.model.mjs +1 -1
- package/esm2020/lib/category-tree/esolve-category-tree-item.model.mjs +1 -1
- package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +4 -4
- package/esm2020/lib/coupons/interfaces/esolve-coupon-validation-result.interface.mjs +1 -2
- package/esm2020/lib/enquiry/esolve-enquiry.service.mjs +2 -2
- package/esm2020/lib/esolve-connect-config.constant.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location-address.model.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location-contact-info.model.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location-geo.model.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location-pobox-address.model.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location-trading-day.model.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location-trading-times.model.mjs +1 -1
- package/esm2020/lib/locations/classes/esolve-location.model.mjs +3 -2
- package/esm2020/lib/locations/esolve-locations.service.mjs +1 -1
- package/esm2020/lib/manufacturers/esolve-manufacturer-image-size.type.mjs +1 -1
- package/esm2020/lib/manufacturers/esolve-manufacturers.service.mjs +3 -3
- package/esm2020/lib/menu/esolve-menu.service.mjs +2 -2
- package/esm2020/lib/news/esolve-news-article-author.model.mjs +1 -1
- package/esm2020/lib/news/esolve-news-article-list.model.mjs +1 -1
- package/esm2020/lib/news/esolve-news-group.model.mjs +1 -1
- package/esm2020/lib/news/esolve-news.service.mjs +6 -4
- package/esm2020/lib/ng-esolve-connect.module.mjs +4 -9
- package/esm2020/lib/payment/classes/esolve-banking-details.model.mjs +1 -1
- package/esm2020/lib/payment/classes/esolve-payment-method.model.mjs +3 -2
- package/esm2020/lib/payment/classes/esolve-vault-item-result.model.mjs +1 -1
- package/esm2020/lib/ranges/esolve-ranges.service.mjs +3 -3
- package/esm2020/lib/session/esolve-session.service.mjs +10 -6
- package/esm2020/lib/shared/assets/esolve-asset-type.type.mjs +1 -1
- package/esm2020/lib/shared/assets/esolve-assets.service.mjs +3 -3
- package/esm2020/lib/shared/errors/esolve-error-handler.service.mjs +16 -16
- 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/filters/classes/esolve-multiple-select-filter.model.mjs +1 -1
- package/esm2020/lib/shared/filters/classes/esolve-range-filter.model.mjs +3 -3
- package/esm2020/lib/shared/filters/classes/esolve-single-select-filter.model.mjs +1 -1
- package/esm2020/lib/shared/filters/classes/esolve-toggle-filter.model.mjs +1 -1
- package/esm2020/lib/shared/filters/classes/index.mjs +1 -1
- package/esm2020/lib/shared/filters/esolve-filter-factory.mjs +1 -1
- package/esm2020/lib/shared/filters/interfaces/esolve-filter-definitions.interface.mjs +1 -1
- package/esm2020/lib/shared/filters/interfaces/esolve-filter.interface.mjs +1 -1
- package/esm2020/lib/shared/filters/types/esolve-filter-list.type.mjs +1 -1
- package/esm2020/lib/shared/filters/types/esolve-filter-record-list.type.mjs +1 -1
- package/esm2020/lib/shared/filters/types/esolve-filter-toggle.type.mjs +1 -1
- package/esm2020/lib/shared/filters/types/esolve-filter-type.type.mjs +1 -1
- package/esm2020/lib/shared/geocoder/esolve-geocode-address-result.model.mjs +1 -1
- package/esm2020/lib/shared/geocoder/esolve-geocode-coords-result.model.mjs +1 -1
- package/esm2020/lib/shared/geocoder/esolve-geocode-result.model.mjs +1 -1
- package/esm2020/lib/shared/response/esolve-delete-response.interface.mjs +1 -1
- package/esm2020/lib/shared/response/esolve-response-handler.service.mjs +5 -5
- package/esm2020/lib/shared/response/esolve-response-result.model.mjs +1 -1
- package/esm2020/lib/shared/response/esolve-set-response.interface.mjs +1 -1
- package/esm2020/lib/shared/seo/esolve-seo-info.model.mjs +1 -1
- package/esm2020/lib/shared/seo/esolve-seo.service.mjs +8 -3
- package/esm2020/lib/shipping/types/esolve-insurance-calculation-method.type.mjs +1 -1
- package/esm2020/lib/shipping/types/esolve-shipping-calculation-method.type.mjs +1 -1
- package/esm2020/lib/shipping/types/esolve-shipping-location.type.mjs +1 -1
- package/esm2020/lib/specials/esolve-special-dates.model.mjs +1 -1
- package/esm2020/lib/specials/esolve-special.model.mjs +3 -5
- package/esm2020/lib/specials/esolve-specials.service.mjs +3 -3
- package/esm2020/lib/stock/classes/esolve-stock-badge.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 -2
- 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/classes/esolve-stock-price.model.mjs +3 -3
- package/esm2020/lib/stock/classes/esolve-stock-transaction-history.model.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-dependant-item-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-linked-stock-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-image-collection-record.interface.mjs +1 -2
- 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/stock/types/esolve-stock-image-size.type.mjs +1 -1
- package/esm2020/lib/stock/types/esolve-stock-sort-field.type.mjs +1 -1
- package/esm2020/lib/suppliers/esolve-suppliers.service.mjs +3 -4
- package/esm2020/lib/suppliers/index.mjs +1 -1
- package/esm2020/lib/suppliers/interfaces/esolve-supplier-record.interface.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/lib/transactions/classes/esolve-transaction-address.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction-client.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction-item-price.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction-location.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction-payment-method.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction-shipping-method.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction-user.model.mjs +1 -1
- package/esm2020/lib/transactions/classes/esolve-transaction.model.mjs +1 -1
- package/esm2020/lib/transactions/esolve-transactions.service.mjs +4 -4
- package/esm2020/lib/wishlist/classes/esolve-empty-wishlist-result.model.mjs +1 -1
- package/esm2020/lib/wishlist/classes/esolve-wishlist-item.model.mjs +1 -1
- package/esm2020/lib/wishlist/esolve-wishlist.service.mjs +2 -2
- package/esm2020/lib/wishlist/interfaces/esolve-wishlist-item-record.interface.mjs +1 -1
- package/esm2020/media/lib/classes/esolve-heading.model.mjs +1 -1
- package/esm2020/media/lib/components/media-layout/esolve-media-layout.component.mjs +4 -8
- package/esm2020/media/lib/components/media-section/esolve-media-section.component.mjs +1 -1
- package/esm2020/media/lib/esolve-connect-media-config.token.mjs +1 -1
- package/esm2020/media/lib/ng-esolve-connect-media.module.mjs +6 -14
- package/esm2020/media/lib/services/esolve-media.service.mjs +7 -7
- package/esm2020/media/lib/types/esolve-media-layout-section-type.type.mjs +1 -1
- package/esm2020/survey/lib/types/esolve-survey-question-type.type.mjs +1 -1
- package/fesm2015/esolve-ng-esolve-connect-media.mjs +12 -24
- package/fesm2015/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2015/esolve-ng-esolve-connect.mjs +112 -108
- package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect-media.mjs +12 -24
- package/fesm2020/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect.mjs +112 -108
- package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/session/esolve-session.service.d.ts +1 -1
- package/lib/transactions/esolve-transactions.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -19,8 +19,8 @@ export class EsolveMediaService {
|
|
|
19
19
|
const params = new HttpParams({ fromObject: { identifier } });
|
|
20
20
|
// TODO: Error Handling
|
|
21
21
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
22
|
-
if (
|
|
23
|
-
|
|
22
|
+
if (response.records === undefined ||
|
|
23
|
+
response.records.length <= 0) {
|
|
24
24
|
throw response;
|
|
25
25
|
}
|
|
26
26
|
const mediaRecord = response.records[0];
|
|
@@ -41,8 +41,8 @@ export class EsolveMediaService {
|
|
|
41
41
|
});
|
|
42
42
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
43
43
|
const mediaArticles = [];
|
|
44
|
-
if (
|
|
45
|
-
|
|
44
|
+
if (response.records !== undefined &&
|
|
45
|
+
response.records.length > 0) {
|
|
46
46
|
for (const mediaRecord of response.records) {
|
|
47
47
|
if (mediaRecord.active) {
|
|
48
48
|
mediaArticles.push(this.processMediaRecord(mediaRecord));
|
|
@@ -66,8 +66,8 @@ export class EsolveMediaService {
|
|
|
66
66
|
})
|
|
67
67
|
.pipe(map((response) => {
|
|
68
68
|
const headings = [];
|
|
69
|
-
if (
|
|
70
|
-
|
|
69
|
+
if (response.records !== undefined &&
|
|
70
|
+
response.records.length > 0) {
|
|
71
71
|
for (const heading_record of response.records) {
|
|
72
72
|
headings.push(this.processHeadingRecord(heading_record));
|
|
73
73
|
}
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
111
111
|
type: Inject,
|
|
112
112
|
args: [ESOLVE_CONNECT_CONFIG]
|
|
113
113
|
}] }, { type: i1.HttpClient }]; } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvc2VydmljZXMvZXNvbHZlLW1lZGlhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUdILHFCQUFxQixHQUN4QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQU0vRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN4QixDQUFDO0lBRUw7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU5RCx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixJQUNJLENBQUMsUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7Z0JBQ2hDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQ2hDO2dCQUNFLE1BQU0sUUFBUSxDQUFDO2FBQ2xCO1lB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ckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlQ29ubmVjdENvbmZpZyxcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFU09MVkVfQ09OTkVDVF9DT05GSUcsXG59IGZyb20gJ0Blc29sdmUvbmctZXNvbHZlLWNvbm5lY3QnO1xuXG5pbXBvcnQgeyBFc29sdmVNZWRpYUFydGljbGUsIEVzb2x2ZUhlYWRpbmcgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IEVzb2x2ZU1lZGlhUmVjb3JkLCBFc29sdmVIZWFkaW5nUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lZGlhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIHJlY29yZCBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBpZGVudGlmaWVyXG4gICAgICovXG4gICAgcHVibGljIGdldE1lZGlhQXJ0aWNsZShpZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZU1lZGlhQXJ0aWNsZT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHsgaWRlbnRpZmllciB9IH0pO1xuXG4gICAgICAgIC8vIFRPRE86IEVycm9yIEhhbmRsaW5nXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhUmVjb3JkcyhwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB8fFxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbWVkaWFSZWNvcmQgPSByZXNwb25zZS5yZWNvcmRzWzBdO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFtZWRpYVJlY29yZC5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc01lZGlhUmVjb3JkKG1lZGlhUmVjb3JkKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGdyb3VwIG9mIG1lZGlhIHJlY29yZHMgZnJvbSB0aGUgZVNvbHZlIGluc3RhbmNlIGxpbmtlZCB0byBhIGdyb3VwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVkaWFfZ3JvdXAgU3RyaW5nIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIG1lZGlhIGdyb3VwXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwZWRNZWRpYUFydGljbGVzKG1lZGlhX2dyb3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZU1lZGlhQXJ0aWNsZVtdPiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHsgbWVkaWFfZ3JvdXBfc2VmOiBtZWRpYV9ncm91cCB9LFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZWRpYVJlY29yZHMocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lZGlhQXJ0aWNsZXM6IEVzb2x2ZU1lZGlhQXJ0aWNsZVtdID0gW107XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVkaWFSZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lZGlhUmVjb3JkLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhQXJ0aWNsZXMucHVzaCh0aGlzLnByb2Nlc3NNZWRpYVJlY29yZChtZWRpYVJlY29yZCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lZGlhQXJ0aWNsZXM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIGhlYWRpbmcgcmVjb3JkcyBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllcnMgQXJyYXkgb2Ygc3RyaW5ncyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBoZWFkaW5nIGlkZW50aWZpZXJzXG4gICAgICovXG4gICAgcHVibGljIGdldEhlYWRpbmdzKGlkZW50aWZpZXJzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8RXNvbHZlSGVhZGluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlSGVhZGluZ1JlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWhlYWRpbmdzLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXJzLmpvaW4oJywnKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWFkaW5nczogRXNvbHZlSGVhZGluZ1tdID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMgIT09IHVuZGVmaW5lZCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBoZWFkaW5nX3JlY29yZCBvZiByZXNwb25zZS5yZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZ3MucHVzaCh0aGlzLnByb2Nlc3NIZWFkaW5nUmVjb3JkKGhlYWRpbmdfcmVjb3JkKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBtZWRpYSBhcnRpY2xlIHJlY29yZFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NNZWRpYVJlY29yZChyZWNvcmQ6IEVzb2x2ZU1lZGlhUmVjb3JkKTogRXNvbHZlTWVkaWFBcnRpY2xlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVNZWRpYUFydGljbGUocmVjb3JkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgbWVkaWEgaGVhZGluZyByZWNvcmRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmQgUmVjb3JkIGZyb20gZVNvbHZlIGluc3RhbmNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzSGVhZGluZ1JlY29yZChyZWNvcmQ6IEVzb2x2ZUhlYWRpbmdSZWNvcmQpOiBFc29sdmVIZWFkaW5nIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVIZWFkaW5nKFxuICAgICAgICAgICAgcmVjb3JkLmlkZW50aWZpZXIsXG4gICAgICAgICAgICByZWNvcmQudmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIG1lZGlhIHJlY29yZHMgZnJvbSBlU29sdmUgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyYW1zIEhUVFAgcGFyYW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRNZWRpYVJlY29yZHMocGFyYW1zOiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbWVkaWEucGhwYCxcbiAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvc2VydmljZXMvZXNvbHZlLW1lZGlhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUdILHFCQUFxQixHQUN4QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQU0vRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN6QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU5RCx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixJQUNJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUztnQkFDOUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUM5QjtnQkFDRSxNQUFNLFFBQVEsQ0FBQzthQUNsQjtZQUVELE1BQU0sV0FBVyxHQUFHLFFB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amVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUNvbm5lY3RDb25maWcsXG4gICAgRXNvbHZlR2V0UmVzcG9uc2UsXG4gICAgRVNPTFZFX0NPTk5FQ1RfQ09ORklHLFxufSBmcm9tICdAZXNvbHZlL25nLWVzb2x2ZS1jb25uZWN0JztcblxuaW1wb3J0IHsgRXNvbHZlTWVkaWFBcnRpY2xlLCBFc29sdmVIZWFkaW5nIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBFc29sdmVNZWRpYVJlY29yZCwgRXNvbHZlSGVhZGluZ1JlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG1lZGlhIHJlY29yZCBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgdXNpbmcgdGhlIGlkZW50aWZpZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIGVTb2x2ZSBtZWRpYSBpZGVudGlmaWVyXG4gICAgICovXG4gICAgcHVibGljIGdldE1lZGlhQXJ0aWNsZShpZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZU1lZGlhQXJ0aWNsZT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHsgaWRlbnRpZmllciB9IH0pO1xuXG4gICAgICAgIC8vIFRPRE86IEVycm9yIEhhbmRsaW5nXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1lZGlhUmVjb3JkcyhwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBtZWRpYVJlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XG5cbiAgICAgICAgICAgICAgICBpZiAoIW1lZGlhUmVjb3JkLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgZ3JvdXAgb2YgbWVkaWEgcmVjb3JkcyBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgbGlua2VkIHRvIGEgZ3JvdXBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZWRpYV9ncm91cCBTdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBlU29sdmUgbWVkaWEgZ3JvdXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3JvdXBlZE1lZGlhQXJ0aWNsZXMoXG4gICAgICAgIG1lZGlhX2dyb3VwOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVNZWRpYUFydGljbGVbXT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7IG1lZGlhX2dyb3VwX3NlZjogbWVkaWFfZ3JvdXAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVkaWFSZWNvcmRzKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZWRpYUFydGljbGVzOiBFc29sdmVNZWRpYUFydGljbGVbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVkaWFSZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lZGlhUmVjb3JkLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhQXJ0aWNsZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzTWVkaWFSZWNvcmQobWVkaWFSZWNvcmQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbWVkaWFBcnRpY2xlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgbWVkaWEgaGVhZGluZyByZWNvcmRzIGZyb20gdGhlIGVTb2x2ZSBpbnN0YW5jZSB1c2luZyB0aGUgaWRlbnRpZmllcnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVycyBBcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgZVNvbHZlIGhlYWRpbmcgaWRlbnRpZmllcnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGluZ3MoaWRlbnRpZmllcnM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxFc29sdmVIZWFkaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVIZWFkaW5nUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtaGVhZGluZ3MucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcjogaWRlbnRpZmllcnMuam9pbignLCcpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRpbmdzOiBFc29sdmVIZWFkaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaGVhZGluZ19yZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0hlYWRpbmdSZWNvcmQoaGVhZGluZ19yZWNvcmQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBtZWRpYSBhcnRpY2xlIHJlY29yZFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZnJvbSBlU29sdmUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NNZWRpYVJlY29yZChyZWNvcmQ6IEVzb2x2ZU1lZGlhUmVjb3JkKTogRXNvbHZlTWVkaWFBcnRpY2xlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVNZWRpYUFydGljbGUocmVjb3JkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgbWVkaWEgaGVhZGluZyByZWNvcmRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmQgUmVjb3JkIGZyb20gZVNvbHZlIGluc3RhbmNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzSGVhZGluZ1JlY29yZChyZWNvcmQ6IEVzb2x2ZUhlYWRpbmdSZWNvcmQpOiBFc29sdmVIZWFkaW5nIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVIZWFkaW5nKHJlY29yZC5pZGVudGlmaWVyLCByZWNvcmQudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBtZWRpYSByZWNvcmRzIGZyb20gZVNvbHZlIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtcyBIVFRQIHBhcmFtc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TWVkaWFSZWNvcmRzKFxuICAgICAgICBwYXJhbXM6IEh0dHBQYXJhbXMsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVNZWRpYVJlY29yZFtdPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbWVkaWEucGhwYCxcbiAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLXR5cGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3QvbWVkaWEvc3JjL2xpYi90eXBlcy9lc29sdmUtbWVkaWEtbGF5b3V0LXNlY3Rpb24tdHlwZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlID1cbiAgICB8ICdtZWRpYSdcbiAgICB8ICdiYW5uZXInXG4gICAgfCAnbGlua2VkX3N0b2NrJ1xuICAgIHwgJ2N1c3RvbSc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN1cnZleS1xdWVzdGlvbi10eXBlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3N1cnZleS9zcmMvbGliL3R5cGVzL2Vzb2x2ZS1zdXJ2ZXktcXVlc3Rpb24tdHlwZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdXJ2ZXlPcHRpb25zUXVlc3Rpb25UeXBlIH0gZnJvbSAnLi9lc29sdmUtc3VydmV5LW9wdGlvbnMtcXVlc3Rpb24tdHlwZS50eXBlJztcbmltcG9ydCB7IEVzb2x2ZVN1cnZleVRleHRRdWVzdGlvblR5cGUgfSBmcm9tICcuL2Vzb2x2ZS1zdXJ2ZXktdGV4dC1xdWVzdGlvbi10eXBlLnR5cGUnO1xuaW1wb3J0IHsgRXNvbHZlU3VydmV5VmFsdWVzUXVlc3Rpb25UeXBlIH0gZnJvbSAnLi9lc29sdmUtc3VydmV5LXZhbHVlcy1xdWVzdGlvbi10eXBlLnR5cGUnO1xuXG5leHBvcnQgdHlwZSBFc29sdmVTdXJ2ZXlRdWVzdGlvblR5cGUgPVxuICAgIHwgRXNvbHZlU3VydmV5VGV4dFF1ZXN0aW9uVHlwZVxuICAgIHwgRXNvbHZlU3VydmV5T3B0aW9uc1F1ZXN0aW9uVHlwZVxuICAgIHwgRXNvbHZlU3VydmV5VmFsdWVzUXVlc3Rpb25UeXBlO1xuIl19
|
|
@@ -143,8 +143,8 @@ class EsolveMediaService {
|
|
|
143
143
|
const params = new HttpParams({ fromObject: { identifier } });
|
|
144
144
|
// TODO: Error Handling
|
|
145
145
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
146
|
-
if (
|
|
147
|
-
|
|
146
|
+
if (response.records === undefined ||
|
|
147
|
+
response.records.length <= 0) {
|
|
148
148
|
throw response;
|
|
149
149
|
}
|
|
150
150
|
const mediaRecord = response.records[0];
|
|
@@ -165,8 +165,8 @@ class EsolveMediaService {
|
|
|
165
165
|
});
|
|
166
166
|
return this.getMediaRecords(params).pipe(map((response) => {
|
|
167
167
|
const mediaArticles = [];
|
|
168
|
-
if (
|
|
169
|
-
|
|
168
|
+
if (response.records !== undefined &&
|
|
169
|
+
response.records.length > 0) {
|
|
170
170
|
for (const mediaRecord of response.records) {
|
|
171
171
|
if (mediaRecord.active) {
|
|
172
172
|
mediaArticles.push(this.processMediaRecord(mediaRecord));
|
|
@@ -190,8 +190,8 @@ class EsolveMediaService {
|
|
|
190
190
|
})
|
|
191
191
|
.pipe(map((response) => {
|
|
192
192
|
const headings = [];
|
|
193
|
-
if (
|
|
194
|
-
|
|
193
|
+
if (response.records !== undefined &&
|
|
194
|
+
response.records.length > 0) {
|
|
195
195
|
for (const heading_record of response.records) {
|
|
196
196
|
headings.push(this.processHeadingRecord(heading_record));
|
|
197
197
|
}
|
|
@@ -403,14 +403,10 @@ class EsolveMediaLayoutComponent {
|
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
405
|
EsolveMediaLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveMediaLayoutComponent, deps: [{ token: EsolveMediaLayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
406
|
-
EsolveMediaLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: EsolveMediaLayoutComponent, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [
|
|
407
|
-
EsolveMediaLayoutService,
|
|
408
|
-
], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n", dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
406
|
+
EsolveMediaLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: EsolveMediaLayoutComponent, selector: "eslv-media-layout", inputs: { media: "media" }, providers: [EsolveMediaLayoutService], usesOnChanges: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n", dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
409
407
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EsolveMediaLayoutComponent, decorators: [{
|
|
410
408
|
type: Component,
|
|
411
|
-
args: [{ selector: 'eslv-media-layout', providers: [
|
|
412
|
-
EsolveMediaLayoutService,
|
|
413
|
-
], template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n" }]
|
|
409
|
+
args: [{ selector: 'eslv-media-layout', providers: [EsolveMediaLayoutService], template: "<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n" }]
|
|
414
410
|
}], ctorParameters: function () { return [{ type: EsolveMediaLayoutService }]; }, propDecorators: { media: [{
|
|
415
411
|
type: Input
|
|
416
412
|
}] } });
|
|
@@ -467,12 +463,10 @@ class NgEsolveConnectMediaModule {
|
|
|
467
463
|
}
|
|
468
464
|
}
|
|
469
465
|
NgEsolveConnectMediaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgEsolveConnectMediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
470
|
-
NgEsolveConnectMediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgEsolveConnectMediaModule, declarations: [EsolveMediaLayoutComponent,
|
|
471
|
-
EsolveMediaSectionComponent], imports: [CommonModule,
|
|
466
|
+
NgEsolveConnectMediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgEsolveConnectMediaModule, declarations: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent], imports: [CommonModule,
|
|
472
467
|
HttpClientModule,
|
|
473
468
|
PortalModule,
|
|
474
|
-
NgEsolveConnectModule], exports: [EsolveMediaLayoutComponent,
|
|
475
|
-
EsolveMediaSectionComponent] });
|
|
469
|
+
NgEsolveConnectModule], exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent] });
|
|
476
470
|
NgEsolveConnectMediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgEsolveConnectMediaModule, imports: [CommonModule,
|
|
477
471
|
HttpClientModule,
|
|
478
472
|
PortalModule,
|
|
@@ -480,20 +474,14 @@ NgEsolveConnectMediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
|
|
|
480
474
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgEsolveConnectMediaModule, decorators: [{
|
|
481
475
|
type: NgModule,
|
|
482
476
|
args: [{
|
|
483
|
-
declarations: [
|
|
484
|
-
EsolveMediaLayoutComponent,
|
|
485
|
-
EsolveMediaSectionComponent,
|
|
486
|
-
],
|
|
477
|
+
declarations: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],
|
|
487
478
|
imports: [
|
|
488
479
|
CommonModule,
|
|
489
480
|
HttpClientModule,
|
|
490
481
|
PortalModule,
|
|
491
482
|
NgEsolveConnectModule,
|
|
492
483
|
],
|
|
493
|
-
exports: [
|
|
494
|
-
EsolveMediaLayoutComponent,
|
|
495
|
-
EsolveMediaSectionComponent,
|
|
496
|
-
],
|
|
484
|
+
exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],
|
|
497
485
|
}]
|
|
498
486
|
}] });
|
|
499
487
|
|
|
@@ -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/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 { EsolveMediaLayoutSectionRecord } 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?: any;\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>(): 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\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 EsolveConnectConfig,\n EsolveGetResponse,\n ESOLVE_CONNECT_CONFIG,\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 constructor(\n @Inject(ESOLVE_CONNECT_CONFIG) private config: EsolveConnectConfig,\n private http: HttpClient,\n ) { }\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(media_group: string): 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(this.processMediaRecord(mediaRecord));\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(this.processHeadingRecord(heading_record));\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(\n record.identifier,\n record.value,\n );\n }\n\n /**\n * Retrieves media records from eSolve instance.\n *\n * @param params HTTP params\n */\n private getMediaRecords(params: HttpParams): 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 './esolve-connect-media.config';\n\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\n new InjectionToken<EsolveConnectMediaConfig>(\n 'esolve.connect.media.config',\n );\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Inject, Injectable } from '@angular/core';\n\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\nimport { EsolveConnectMediaConfig } from '../esolve-connect-media.config';\n\ntype ComponentMap = Map<string, ComponentType<any>>;\n\ntype SectionKeyOptions = {\n type: EsolveMediaLayoutSectionType;\n sub_type?: string;\n layout?: string;\n group?: string;\n};\n\n@Injectable()\nexport class EsolveMediaLayoutService {\n private readonly section_key_delimiter = '>>>';\n\n private media?: EsolveMediaArticle;\n private layout_map: ComponentMap = new Map();\n private section_map: ComponentMap = new Map();\n private default_layout: string;\n\n constructor(\n @Inject(ESOLVE_CONNECT_MEDIA_CONFIG) config: EsolveConnectMediaConfig,\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 for (const section of sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n layout: layout.key,\n };\n\n if (section_group_key !== '__default') {\n key_options.group = section_group_key;\n }\n\n this.setSection(section.component, key_options);\n }\n }\n }\n }\n\n const default_layout = config.default_layout;\n\n if (default_layout) {\n this.default_layout = default_layout;\n } else {\n this.default_layout = config.layouts[0].key;\n }\n\n if (config.sections.length > 0) {\n for (const section of config.sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n };\n\n this.setSection(section.component, key_options);\n }\n }\n }\n\n public getMedia() {\n if (!this.media) {\n throw new Error('Media not declared');\n }\n\n return this.media;\n }\n\n public setMedia(media: EsolveMediaArticle) {\n this.media = media;\n }\n\n public getLayout() {\n const media = this.getMedia();\n\n let layout_key = media.layout;\n\n if (layout_key === '') {\n layout_key = this.default_layout;\n }\n\n return this.searchLayout(layout_key);\n }\n\n public getSectionContent(key: string) {\n const media = this.getMedia();\n\n if (media.sections) {\n const section = media.sections.get(key);\n\n if (section) {\n return section;\n }\n }\n\n return [];\n }\n\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\n const type = section.type;\n const sub_type = section.sub_type;\n const { layout } = this.getMedia();\n\n const section_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n group: key,\n });\n\n let component = this.section_map.get(section_key);\n\n if (component) {\n return component;\n }\n\n const layout_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n });\n\n component = this.section_map.get(layout_key);\n\n if (component) {\n return component;\n }\n\n const base_key = this.createSectionMapKey({\n type,\n sub_type,\n });\n\n component = this.section_map.get(base_key);\n\n if (component) {\n return component;\n }\n\n throw new Error('Section component not defined');\n }\n\n private searchLayout(layout_key: string) {\n const component = this.layout_map.get(layout_key);\n\n if (!component) {\n throw new Error('Layout not declared');\n }\n\n return component;\n }\n\n private setLayout(key: string, component: ComponentType<any>) {\n this.layout_map.set(key, component);\n }\n\n private setSection(\n component: ComponentType<any>,\n key_options: SectionKeyOptions,\n ) {\n const key = this.createSectionMapKey(key_options);\n\n this.section_map.set(key, component);\n }\n\n private createSectionMapKey(key_options: SectionKeyOptions) {\n const { type, sub_type, layout, group } = key_options;\n\n const key_array: string[] = [type];\n\n if (sub_type) {\n key_array.push(sub_type);\n }\n\n if (layout) {\n key_array.push(layout);\n\n if (group) {\n key_array.push(group);\n }\n }\n\n return key_array.join(this.section_key_delimiter);\n }\n}\n","import {\n Component,\n OnChanges,\n Input,\n Injector,\n} from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EsolveMediaArticle } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n selector: 'eslv-media-layout',\n templateUrl: 'esolve-media-layout.component.html',\n providers: [\n EsolveMediaLayoutService,\n ],\n})\nexport class EsolveMediaLayoutComponent implements OnChanges {\n @Input() public media!: EsolveMediaArticle;\n\n public portal!: ComponentPortal<any>;\n\n constructor(\n public layoutService: EsolveMediaLayoutService,\n ) { }\n\n public ngOnChanges(): void {\n this.layoutService.setMedia(this.media);\n const component = this.layoutService.getLayout();\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n this.portal = new ComponentPortal(component, null, injector);\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n","import { Component, OnChanges, Input, Injector } from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EsolveMediaLayoutSection } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n selector: 'eslv-media-section',\n templateUrl: './esolve-media-section.component.html',\n})\nexport class EsolveMediaSectionComponent implements OnChanges {\n @Input() public key!: string;\n\n public portals: ComponentPortal<any>[] = [];\n\n constructor(\n public layoutService: EsolveMediaLayoutService,\n ) { }\n\n public ngOnChanges(): void {\n const sections = this.layoutService.getSectionContent(this.key);\n this.processPortals(sections);\n }\n\n private processPortals(sections: EsolveMediaLayoutSection[]) {\n for (const section of sections) {\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutSection,\n useValue: section,\n },\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n const component = this.layoutService.getSectionComponent(\n this.key,\n section,\n );\n\n const portal = new ComponentPortal(component, null, injector);\n this.portals.push(portal);\n }\n }\n}\n","<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { NgEsolveConnectModule } from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaLayoutComponent, EsolveMediaSectionComponent } from './components';\nimport { EsolveConnectMediaConfig } from './esolve-connect-media.config';\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from './esolve-connect-media-config.token';\n\n@NgModule({\n declarations: [\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n PortalModule,\n NgEsolveConnectModule,\n ],\n exports: [\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n ],\n})\nexport class NgEsolveConnectMediaModule {\n public static withConfig(\n config: EsolveConnectMediaConfig,\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\n return {\n ngModule: NgEsolveConnectMediaModule,\n providers: [\n {\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EsolveMediaLayoutService","i2","i3"],"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/ng-esolve-connect-media.module.ts","../../../../libs/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\n constructor(public identifier: string, public value: string) {}\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 { EsolveMediaLayoutSectionRecord } 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?: any;\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>(): 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\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 EsolveConnectConfig,\n EsolveGetResponse,\n ESOLVE_CONNECT_CONFIG,\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 constructor(\n @Inject(ESOLVE_CONNECT_CONFIG) private config: EsolveConnectConfig,\n private http: HttpClient,\n ) {}\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 './esolve-connect-media.config';\n\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\n new InjectionToken<EsolveConnectMediaConfig>('esolve.connect.media.config');\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Inject, Injectable } from '@angular/core';\n\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\nimport { EsolveConnectMediaConfig } from '../esolve-connect-media.config';\n\ntype ComponentMap = Map<string, ComponentType<any>>;\n\ntype SectionKeyOptions = {\n type: EsolveMediaLayoutSectionType;\n sub_type?: string;\n layout?: string;\n group?: string;\n};\n\n@Injectable()\nexport class EsolveMediaLayoutService {\n private readonly section_key_delimiter = '>>>';\n\n private media?: EsolveMediaArticle;\n private layout_map: ComponentMap = new Map();\n private section_map: ComponentMap = new Map();\n private default_layout: string;\n\n constructor(\n @Inject(ESOLVE_CONNECT_MEDIA_CONFIG) config: EsolveConnectMediaConfig,\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 for (const section of sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n layout: layout.key,\n };\n\n if (section_group_key !== '__default') {\n key_options.group = section_group_key;\n }\n\n this.setSection(section.component, key_options);\n }\n }\n }\n }\n\n const default_layout = config.default_layout;\n\n if (default_layout) {\n this.default_layout = default_layout;\n } else {\n this.default_layout = config.layouts[0].key;\n }\n\n if (config.sections.length > 0) {\n for (const section of config.sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n };\n\n this.setSection(section.component, key_options);\n }\n }\n }\n\n public getMedia() {\n if (!this.media) {\n throw new Error('Media not declared');\n }\n\n return this.media;\n }\n\n public setMedia(media: EsolveMediaArticle) {\n this.media = media;\n }\n\n public getLayout() {\n const media = this.getMedia();\n\n let layout_key = media.layout;\n\n if (layout_key === '') {\n layout_key = this.default_layout;\n }\n\n return this.searchLayout(layout_key);\n }\n\n public getSectionContent(key: string) {\n const media = this.getMedia();\n\n if (media.sections) {\n const section = media.sections.get(key);\n\n if (section) {\n return section;\n }\n }\n\n return [];\n }\n\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\n const type = section.type;\n const sub_type = section.sub_type;\n const { layout } = this.getMedia();\n\n const section_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n group: key,\n });\n\n let component = this.section_map.get(section_key);\n\n if (component) {\n return component;\n }\n\n const layout_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n });\n\n component = this.section_map.get(layout_key);\n\n if (component) {\n return component;\n }\n\n const base_key = this.createSectionMapKey({\n type,\n sub_type,\n });\n\n component = this.section_map.get(base_key);\n\n if (component) {\n return component;\n }\n\n throw new Error('Section component not defined');\n }\n\n private searchLayout(layout_key: string) {\n const component = this.layout_map.get(layout_key);\n\n if (!component) {\n throw new Error('Layout not declared');\n }\n\n return component;\n }\n\n private setLayout(key: string, component: ComponentType<any>) {\n this.layout_map.set(key, component);\n }\n\n private setSection(\n component: ComponentType<any>,\n key_options: SectionKeyOptions,\n ) {\n const key = this.createSectionMapKey(key_options);\n\n this.section_map.set(key, component);\n }\n\n private createSectionMapKey(key_options: SectionKeyOptions) {\n const { type, sub_type, layout, group } = key_options;\n\n const key_array: string[] = [type];\n\n if (sub_type) {\n key_array.push(sub_type);\n }\n\n if (layout) {\n key_array.push(layout);\n\n if (group) {\n key_array.push(group);\n }\n }\n\n return key_array.join(this.section_key_delimiter);\n }\n}\n","import { Component, OnChanges, Input, Injector } from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EsolveMediaArticle } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n selector: 'eslv-media-layout',\n templateUrl: 'esolve-media-layout.component.html',\n providers: [EsolveMediaLayoutService],\n})\nexport class EsolveMediaLayoutComponent implements OnChanges {\n @Input() public media!: EsolveMediaArticle;\n\n public portal!: ComponentPortal<any>;\n\n constructor(public layoutService: EsolveMediaLayoutService) {}\n\n public ngOnChanges(): void {\n this.layoutService.setMedia(this.media);\n const component = this.layoutService.getLayout();\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n this.portal = new ComponentPortal(component, null, injector);\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n","import { Component, OnChanges, Input, Injector } from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EsolveMediaLayoutSection } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n selector: 'eslv-media-section',\n templateUrl: './esolve-media-section.component.html',\n})\nexport class EsolveMediaSectionComponent implements OnChanges {\n @Input() public key!: string;\n\n public portals: ComponentPortal<any>[] = [];\n\n constructor(public layoutService: EsolveMediaLayoutService) {}\n\n public ngOnChanges(): void {\n const sections = this.layoutService.getSectionContent(this.key);\n this.processPortals(sections);\n }\n\n private processPortals(sections: EsolveMediaLayoutSection[]) {\n for (const section of sections) {\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutSection,\n useValue: section,\n },\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n const component = this.layoutService.getSectionComponent(\n this.key,\n section,\n );\n\n const portal = new ComponentPortal(component, null, injector);\n this.portals.push(portal);\n }\n }\n}\n","<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { NgEsolveConnectModule } from '@esolve/ng-esolve-connect';\n\nimport {\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n} from './components';\nimport { EsolveConnectMediaConfig } from './esolve-connect-media.config';\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from './esolve-connect-media-config.token';\n\n@NgModule({\n declarations: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n PortalModule,\n NgEsolveConnectModule,\n ],\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: [\n {\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EsolveMediaLayoutService","i2","i3"],"mappings":"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"}
|