60 lines
1.5 KiB
TypeScript
60 lines
1.5 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;
|
|
}
|
|
}
|