@spartacus/core
Version:
Spartacus - the core framework
35 lines • 5.96 kB
JavaScript
import { Injectable } from '@angular/core';
import { pluck } from 'rxjs/operators';
import { CMS_COMPONENT_NORMALIZER } from '../../../cms/connectors/component/converters';
import { OccCmsComponentAdapter } from './occ-cms-component.adapter';
import * as i0 from "@angular/core";
/**
* Before 1905, the OCC CMS component API required was using POST method
* to load a (potentially large) number of components. With 1905, the endpoint
* evaluated to use GET. Switching from POST to GET has been initially implemented
* with the `legacy` flag, but from version 3.0 onwards, we're moving the
* implementation to this optional Adapter.
*
* If you like to connect to a pre 1905 version, you can provide this adapter for the
* `CmsComponentAdapter` injection token.
*/
export class LegacyOccCmsComponentAdapter extends OccCmsComponentAdapter {
findComponentsByIds(ids, pageContext, fields = 'DEFAULT', currentPage = 0, pageSize = ids.length, sort) {
const idList = { idList: ids };
const requestParams = Object.assign(Object.assign({}, this.getContextParams(pageContext)), this.getPaginationParams(currentPage, pageSize, sort));
return this.http
.post(this.getComponentsEndpoint(requestParams, fields), idList, {
headers: this.headers,
})
.pipe(pluck('component'), this.converter.pipeableMany(CMS_COMPONENT_NORMALIZER));
}
}
LegacyOccCmsComponentAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LegacyOccCmsComponentAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
LegacyOccCmsComponentAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LegacyOccCmsComponentAdapter, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LegacyOccCmsComponentAdapter, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LW9jYy1jbXMtY29tcG9uZW50LmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9vY2MvYWRhcHRlcnMvY21zL2xlZ2FjeS1vY2MtY21zLWNvbXBvbmVudC5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSXhGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVyRTs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBQ3RFLG1CQUFtQixDQUNqQixHQUFhLEVBQ2IsV0FBd0IsRUFDeEIsTUFBTSxHQUFHLFNBQVMsRUFDbEIsV0FBVyxHQUFHLENBQUMsRUFDZixRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFDckIsSUFBYTtRQUViLE1BQU0sTUFBTSxHQUF3QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUVwRCxNQUFNLGFBQWEsbUNBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUNsQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FDekQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFDakQsTUFBTSxFQUNOO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQ0Y7YUFDQSxJQUFJLENBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUN0RCxDQUFDO0lBQ04sQ0FBQzs7eUhBNUJVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHBsdWNrIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ01TX0NPTVBPTkVOVF9OT1JNQUxJWkVSIH0gZnJvbSAnLi4vLi4vLi4vY21zL2Nvbm5lY3RvcnMvY29tcG9uZW50L2NvbnZlcnRlcnMnO1xuaW1wb3J0IHsgQ21zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvY21zLm1vZGVsJztcbmltcG9ydCB7IFBhZ2VDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vcm91dGluZyc7XG5pbXBvcnQgeyBPY2MgfSBmcm9tICcuLi8uLi9vY2MtbW9kZWxzL29jYy5tb2RlbHMnO1xuaW1wb3J0IHsgT2NjQ21zQ29tcG9uZW50QWRhcHRlciB9IGZyb20gJy4vb2NjLWNtcy1jb21wb25lbnQuYWRhcHRlcic7XG5cbi8qKlxuICogQmVmb3JlIDE5MDUsIHRoZSBPQ0MgQ01TIGNvbXBvbmVudCBBUEkgcmVxdWlyZWQgd2FzIHVzaW5nIFBPU1QgbWV0aG9kXG4gKiB0byBsb2FkIGEgKHBvdGVudGlhbGx5IGxhcmdlKSBudW1iZXIgb2YgY29tcG9uZW50cy4gV2l0aCAxOTA1LCB0aGUgZW5kcG9pbnRcbiAqIGV2YWx1YXRlZCB0byB1c2UgR0VULiBTd2l0Y2hpbmcgZnJvbSBQT1NUIHRvIEdFVCBoYXMgYmVlbiBpbml0aWFsbHkgaW1wbGVtZW50ZWRcbiAqIHdpdGggdGhlIGBsZWdhY3lgIGZsYWcsIGJ1dCBmcm9tIHZlcnNpb24gMy4wIG9ud2FyZHMsIHdlJ3JlIG1vdmluZyB0aGVcbiAqIGltcGxlbWVudGF0aW9uIHRvIHRoaXMgb3B0aW9uYWwgQWRhcHRlci5cbiAqXG4gKiBJZiB5b3UgbGlrZSB0byBjb25uZWN0IHRvIGEgcHJlIDE5MDUgdmVyc2lvbiwgeW91IGNhbiBwcm92aWRlIHRoaXMgYWRhcHRlciBmb3IgdGhlXG4gKiBgQ21zQ29tcG9uZW50QWRhcHRlcmAgaW5qZWN0aW9uIHRva2VuLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGVnYWN5T2NjQ21zQ29tcG9uZW50QWRhcHRlciBleHRlbmRzIE9jY0Ntc0NvbXBvbmVudEFkYXB0ZXIge1xuICBmaW5kQ29tcG9uZW50c0J5SWRzKFxuICAgIGlkczogc3RyaW5nW10sXG4gICAgcGFnZUNvbnRleHQ6IFBhZ2VDb250ZXh0LFxuICAgIGZpZWxkcyA9ICdERUZBVUxUJyxcbiAgICBjdXJyZW50UGFnZSA9IDAsXG4gICAgcGFnZVNpemUgPSBpZHMubGVuZ3RoLFxuICAgIHNvcnQ/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDbXNDb21wb25lbnRbXT4ge1xuICAgIGNvbnN0IGlkTGlzdDogT2NjLkNvbXBvbmVudElETGlzdCA9IHsgaWRMaXN0OiBpZHMgfTtcblxuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB7XG4gICAgICAuLi50aGlzLmdldENvbnRleHRQYXJhbXMocGFnZUNvbnRleHQpLFxuICAgICAgLi4udGhpcy5nZXRQYWdpbmF0aW9uUGFyYW1zKGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSwgc29ydCksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PE9jYy5Db21wb25lbnRMaXN0PihcbiAgICAgICAgdGhpcy5nZXRDb21wb25lbnRzRW5kcG9pbnQocmVxdWVzdFBhcmFtcywgZmllbGRzKSxcbiAgICAgICAgaWRMaXN0LFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgcGx1Y2soJ2NvbXBvbmVudCcpLFxuICAgICAgICB0aGlzLmNvbnZlcnRlci5waXBlYWJsZU1hbnkoQ01TX0NPTVBPTkVOVF9OT1JNQUxJWkVSKVxuICAgICAgKTtcbiAgfVxufVxuIl19