@vendasta/store
Version:
Components and data for Store
90 lines (89 loc) • 4.45 kB
TypeScript
import { BreakpointObserver } from '@angular/cdk/layout';
import { AfterViewInit, EventEmitter, OnChanges, OnInit } from '@angular/core';
import { MatTabChangeEvent } from '@angular/material/tabs';
import { ActivatedRoute, Router } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { ProductPricing } from '@vendasta/billing';
import { EnvironmentServiceInterface } from '@vendasta/core';
import { ImageTransformationService } from '@vendasta/image-transformation';
import { AppEditionsMarketing, ProductCost } from '@vendasta/marketplace-apps/v1';
import { ProductAnalyticsService } from '@vendasta/product-analytics';
import { Observable, ReplaySubject } from 'rxjs';
import { MarketplaceAppData } from '../shared/marketplace-app-data';
import { Product } from '../shared/product';
import { HeaderActionType } from '../store-item';
import { MarketingType, SelectedTab } from './product-details-v2.interface';
import * as i0 from "@angular/core";
export interface EditionActionClickEvent {
appId: string;
editionId: string;
}
export declare class VaProductDetailsV2Component implements OnInit, AfterViewInit, OnChanges {
private imageTransformationService;
private translateService;
private environmentService;
private router;
private route;
private snowplowService;
product: Product;
partnerId: string;
parentProduct: Product;
appTags: MarketplaceAppData[];
businessCountryCode: string;
marketingType: MarketingType;
billingPrice: ProductPricing;
marketplaceCost: ProductCost;
editionsMarketing: AppEditionsMarketing[];
editionOrder: string[];
headerActionType: HeaderActionType;
isEditionActionUsed: boolean;
productDependenciesFeatureFlag: string;
headerActionClick: EventEmitter<any>;
isHeaderActionUsed: boolean;
addonSelected: EventEmitter<string>;
isAddonSelectedUsed: boolean;
contactActionClick: EventEmitter<any>;
isContactActionUsed: boolean;
editionActionClick: EventEmitter<EditionActionClickEvent>;
tabState$: Observable<{
tab: SelectedTab;
editionsTabVisible: boolean;
}>;
updateState$$: ReplaySubject<null>;
chipLabels: string[];
appTagArr: string[];
srcsetHeaderImage: string;
mobileLayout: boolean;
overflowTagsList: string;
showMoreChip: boolean;
moreChipPosition: string;
hiddenChipNum: number;
moreList: any[];
onlyMore: boolean;
tabScrollHack: string;
tabRef: any;
ownedAndOperated: string[];
isOO: boolean;
readonly defaultHeaderImage = "https://firebasestorage.googleapis.com/v0/b/partner-central-demo.appspot.com/o/no-banner.png?alt=media&token=e5299062-ea20-498b-b37e-39f3cf8a78a8";
constructor(imageTransformationService: ImageTransformationService, breakpointObserver: BreakpointObserver, translateService: TranslateService, environmentService: EnvironmentServiceInterface, router: Router, route: ActivatedRoute, snowplowService: ProductAnalyticsService);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnChanges(): void;
setOwnedOperatedList(): void;
getTags(): string[];
onResize(event: any): void;
detectWrap(className: any): void;
detectMoreClip(): boolean;
isProductEnabled(): boolean;
isProductSuspended(): boolean;
getEnableButtonText(): string;
checkButtonDisable(): boolean;
onHeaderActionClicked(): void;
onEditionActionClicked(product: {
appId: string;
editionId: string;
}): void;
onTabChanged(event?: MatTabChangeEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<VaProductDetailsV2Component, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<VaProductDetailsV2Component, "app-product-details-v2", never, { "product": "product"; "partnerId": "partnerId"; "parentProduct": "parentProduct"; "appTags": "appTags"; "businessCountryCode": "businessCountryCode"; "marketingType": "marketingType"; "billingPrice": "billingPrice"; "marketplaceCost": "marketplaceCost"; "editionsMarketing": "editionsMarketing"; "editionOrder": "editionOrder"; "headerActionType": "headerActionType"; "isEditionActionUsed": "isEditionActionUsed"; "productDependenciesFeatureFlag": "productDependenciesFeatureFlag"; }, { "headerActionClick": "headerActionClick"; "addonSelected": "addonSelected"; "contactActionClick": "contactActionClick"; "editionActionClick": "editionActionClick"; }, never, never>;
}