59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import {ICatalogPage} from "./ICatalogPage";
|
|
import {IPageLocalization} from "./IPageLocalization";
|
|
import {IPurchasableOffer} from "./IPurchasableOffer";
|
|
|
|
export class CatalogPage implements ICatalogPage {
|
|
public static MODE_NORMAL: number = 0;
|
|
|
|
private _pageId: number;
|
|
private _layoutCode: string;
|
|
private _localization: IPageLocalization;
|
|
private _offers: IPurchasableOffer[];
|
|
private _acceptSeasonCurrencyAsCredits: boolean;
|
|
private _mode: number;
|
|
|
|
constructor(
|
|
pageId: number,
|
|
layoutCode: string,
|
|
localization: IPageLocalization,
|
|
offers: IPurchasableOffer[],
|
|
acceptSeasonCurrencyAsCredits: boolean,
|
|
mode: number = -1
|
|
) {
|
|
this._pageId = pageId;
|
|
this._layoutCode = layoutCode;
|
|
this._localization = localization;
|
|
this._offers = offers;
|
|
this._acceptSeasonCurrencyAsCredits = acceptSeasonCurrencyAsCredits;
|
|
|
|
for (const offer of offers) offer.page = this;
|
|
|
|
if (mode === -1) this._mode = CatalogPage.MODE_NORMAL;
|
|
else this._mode = mode;
|
|
}
|
|
|
|
public get pageId(): number {
|
|
return this._pageId;
|
|
}
|
|
|
|
public get layoutCode(): string {
|
|
return this._layoutCode;
|
|
}
|
|
|
|
public get localization(): IPageLocalization {
|
|
return this._localization;
|
|
}
|
|
|
|
public get offers(): IPurchasableOffer[] {
|
|
return this._offers;
|
|
}
|
|
|
|
public get acceptSeasonCurrencyAsCredits(): boolean {
|
|
return this._acceptSeasonCurrencyAsCredits;
|
|
}
|
|
|
|
public get mode(): number {
|
|
return this._mode;
|
|
}
|
|
}
|