@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
50 lines (49 loc) • 2.56 kB
TypeScript
import { CmsService, Page } from '@spartacus/core';
import { Observable } from 'rxjs';
import { BreakpointService } from '../../../layout/breakpoint/breakpoint.service';
import { BREAKPOINT, LayoutConfig, LayoutSlotConfig, SlotConfig } from '../../../layout/config/layout-config';
import { PageLayoutHandler } from './page-layout-handler';
import * as i0 from "@angular/core";
export declare class PageLayoutService {
private cms;
private config;
private breakpointService;
private handlers;
constructor(cms: CmsService, config: LayoutConfig, breakpointService: BreakpointService, handlers: PageLayoutHandler[]);
private warnLogMessages;
private logSlots;
getSlots(section?: string): Observable<string[]>;
/**
* Returns an observable with the last page slot above-the-fold
* for the given pageTemplate / breakpoint.
*
* The page fold is configurable in the `LayoutConfig` for each page layout.
*/
getPageFoldSlot(pageTemplate: string): Observable<string>;
private resolveSlots;
get page$(): Observable<Page>;
get templateName$(): Observable<string>;
/**
* load slots from the layout configuration. The breakpoint is used
* to load a specific configuration for the given breakpoint. If there's
* no configuration available for the given breakpoint the default slot
* configuration is returned.
*/
protected getSlotConfig(templateUid: string, configAttribute: string, section?: string, breakpoint?: BREAKPOINT): SlotConfig;
protected getSlotConfigForSection(templateUid: string, configAttribute: string, section?: string, breakpoint?: BREAKPOINT): SlotConfig;
/**
* Returns a list of slots for a breakpoint specific configuration
* If there's no specific configuration for the breakpoint,
* the closest available configuration will be returned.
*/
protected getResponsiveSlotConfig(layoutSlotConfig: LayoutSlotConfig, configAttribute: string, breakpoint?: BREAKPOINT): SlotConfig;
/**
* In order to help developers, we print some detailed log information in
* case there's no layout configuration available for the given page template
* or section. Additionally, the slot positions are printed in the console
* in a format that can be copied / paste to the configuration.
*/
private logMissingLayoutConfig;
static ɵfac: i0.ɵɵFactoryDeclaration<PageLayoutService, [null, null, null, { optional: true; }]>;
static ɵprov: i0.ɵɵInjectableDeclaration<PageLayoutService>;
}