{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/config/api-config.ts","./src/app/core/directive/owalcarousel.directive.ts","./src/app/core/enums/jwt/FrontendLogin-type.enum.ts","./src/app/core/enums/localStorage/local-storage-type.enum.ts","./src/app/core/enums/member/member-center-type.enum.ts","./src/app/core/enums/member/member-login-type.enum.ts","./src/app/core/enums/member/member-popup-type.enum.ts","./src/app/core/enums/menu/menu-type.enum.ts","./src/app/core/enums/product/product-price-type.enum.ts","./src/app/core/enums/product/product-type.enum.ts","./src/app/core/enums/server/category-type.enum.ts","./src/app/core/enums/shopping-car-error-code.enum.ts","./src/app/core/enums/shopping-cart/shopping-cart-step.enum.ts","./src/app/core/pipe/enum-to-array.pipe.ts","./src/app/core/pipe/safe-html.pipe.ts","./src/app/core/pipe/unescape-html.pipe.ts","./src/app/core/pipe/youtube-url.pipe.ts","./src/app/layout/cookie-consent/cookie-consent.component.ts","./src/app/layout/cookie-consent/cookie-consent.component.html","./src/app/layout/footer/footer.component.ts","./src/app/layout/footer/footer.component.html","./src/app/layout/header/header.component.ts","./src/app/layout/header/header.component.html","./src/app/layout/language/mobile-language/mobile-language.component.ts","./src/app/layout/language/mobile-language/mobile-language.component.html","./src/app/layout/layout.component.ts","./src/app/layout/layout.component.html","./src/app/layout/layout.module.ts","./src/app/layout/layout.service.ts","./src/app/layout/member/mobile-member/mobile-member.component.ts","./src/app/layout/member/mobile-member/mobile-member.component.html","./src/app/layout/member/pc-member/pc-member-flight/pc-member-flight.component.ts","./src/app/layout/member/pc-member/pc-member-flight/pc-member-flight.component.html","./src/app/layout/member/pc-member/pc-member-login/pc-member-login.component.ts","./src/app/layout/member/pc-member/pc-member-login/pc-member-login.component.html","./src/app/layout/member/pc-member/pc-member.component.ts","./src/app/layout/member/pc-member/pc-member.component.html","./src/app/layout/menu/menu-step.enum.ts","./src/app/layout/menu/menu.component.ts","./src/app/layout/menu/menu.component.html","./src/app/layout/menu/menu.service.ts","./src/app/layout/menu/mobile-menu/mobile-menu.component.ts","./src/app/layout/menu/mobile-menu/mobile-menu.component.html","./src/app/layout/menu/pc-menu/pc-menu-banner/pc-menu-banner.component.ts","./src/app/layout/menu/pc-menu/pc-menu-banner/pc-menu-banner.component.html","./src/app/layout/menu/pc-menu/pc-menu-brand-search/pc-menu-brand-search.component.ts","./src/app/layout/menu/pc-menu/pc-menu-brand-search/pc-menu-brand-search.component.html","./src/app/layout/menu/pc-menu/pc-menu.component.ts","./src/app/layout/menu/pc-menu/pc-menu.component.html","./src/app/layout/search/mobile-search/mobile-search.component.ts","./src/app/layout/search/mobile-search/mobile-search.component.html","./src/app/layout/search/pc-search/pc-search.component.ts","./src/app/layout/search/pc-search/pc-search.component.html","./src/app/layout/search/search-step-enum.enum.ts","./src/app/layout/search/search.component.ts","./src/app/layout/search/search.component.html","./src/app/layout/search/search.service.ts","./src/app/layout/shopping-cart/mobile-shopping-cart/mobile-shopping-cart-flight/mobile-shopping-cart-flight.component.ts","./src/app/layout/shopping-cart/mobile-shopping-cart/mobile-shopping-cart-flight/mobile-shopping-cart-flight.component.html","./src/app/layout/shopping-cart/mobile-shopping-cart/mobile-shopping-cart.component.ts","./src/app/layout/shopping-cart/mobile-shopping-cart/mobile-shopping-cart.component.html","./src/app/layout/shopping-cart/pc-shopping-cart/pc-shopping-cart.component.ts","./src/app/layout/shopping-cart/pc-shopping-cart/pc-shopping-cart.component.html","./src/app/layout/shopping-cart/shopping-cart.component.ts","./src/app/layout/shopping-cart/shopping-cart.component.html","./src/app/layout/shopping-cart/shopping-row/shopping-row.component.ts","./src/app/layout/shopping-cart/shopping-row/shopping-row.component.html","./src/app/routes/app-routing.module.ts","./src/app/service/base-data.service.ts","./src/app/service/brand.service.ts","./src/app/service/cookie.service.ts","./src/app/service/crypto.service.ts","./src/app/service/error.service.ts","./src/app/service/header.service.ts","./src/app/service/ip-service.service.ts","./src/app/service/language.service.ts","./src/app/service/local-storage.service.ts","./src/app/service/login.Service.ts","./src/app/service/member.service.ts","./src/app/service/order-list.service.ts","./src/app/service/product-feature.service.ts","./src/app/service/product.service.ts","./src/app/service/shopping-cart.service.ts","./src/app/service/top-news.service.ts","./src/app/service/wish-list.service.ts","./src/app/shared/alert/alert.component.ts","./src/app/shared/alert/alert.component.html","./src/app/shared/alert/alert.module.ts","./src/app/shared/alert/alert.service.ts","./src/app/shared/jw-pagination/jw-pagination.component.ts","./src/app/shared/jw-pagination/jw-pagination.component.html","./src/app/shared/mobile-page-tool/mobile-page-tool.component.ts","./src/app/shared/mobile-page-tool/mobile-page-tool.component.html","./src/app/shared/mobile-page-tool/mobile-page-tool.module.ts","./src/app/shared/mobile-page-tool/mobile-page-tool.service.ts","./src/app/shared/mobile-page-tool/mobile-product-filter/mobile-product-filter.component.ts","./src/app/shared/mobile-page-tool/mobile-product-filter/mobile-product-filter.component.html","./src/app/shared/popup/popup.component.ts","./src/app/shared/popup/popup.component.html","./src/app/shared/popup/popup.module.ts","./src/app/shared/popup/popup.service.ts","./src/app/shared/product/product-image-text/product-image-text.component.ts","./src/app/shared/product/product-image-text/product-image-text.component.html","./src/app/shared/product/product-img/product-img.component.ts","./src/app/shared/product/product-img/product-img.component.html","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { Component, OnInit } from '@angular/core';\nimport * as $ from 'jquery';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent implements OnInit {\n title = 'SkyBoutique';\n\n ngOnInit(): void {\n\n\n\n }\n}\n","\n\n","import { NgModule, ErrorHandler, Inject, PLATFORM_ID, APP_ID } from '@angular/core';\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { LayoutModule } from './layout/layout.module';\nimport { AppRoutingModule } from './routes/app-routing.module';\nimport { SharedModule } from './shared/shared.module';\n\nimport { AppComponent } from './app.component';\n\nimport { ErrorService } from './service/error.service';\nimport { DatePipe, isPlatformBrowser } from '@angular/common';\nimport { YoutubeUrlPipe } from './core/pipe/youtube-url.pipe';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { BrowserModule } from '@angular/platform-browser';\n\nexport function createLoder(http: HttpClient) {\n\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule.withServerTransition({ appId: 'tour-of-heroes' }),\n BrowserAnimationsModule,\n HttpClientModule,\n LayoutModule,\n SharedModule.forRoot(),\n AppRoutingModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createLoder,\n deps: [HttpClient]\n }\n })\n ],\n providers: [\n { provide: ErrorHandler, useClass: ErrorService },\n DatePipe\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(\n @Inject(PLATFORM_ID) private platformId: object,\n @Inject(APP_ID) private appId: string) {\n const platform = isPlatformBrowser(platformId) ?\n 'in the browser' : 'on the server';\n console.log(`Running ${platform} with appId=${appId}`);\n }\n}\n","export const ApiConfig = {\n //Domain: 'https://hdqcat02.china-airlines.com:9443/',\n //APIDomain: 'https://hdqcat02.china-airlines.com:9443/skyapi',\n Domain: 'https://cishop.cilink.com.tw/',\n APIDomain: 'https://cishop.cilink.com.tw/skyapi',\n //Domain: 'http://localhost:4200/',\n //APIDomain: 'http://localhost:50585',\n\n API: {\n Menus: '/Menus',\n\n Languages: '/Languages',\n\n SideSlogan: '/SideSlogan',\n\n TopNews: '/TopNews',\n\n Announcements: '/Announcements',\n\n PurchaseNotes: '/PurchaseNotes',\n\n ContactUs: '/ContactUs',\n\n CommonProblems: '/CommonProblems',\n\n ProductFeature: '/ProductFeature',\n\n BrandPavilion: '/BrandPavilion',\n\n Index: {\n TopBanner: '/Index/TopBanner',\n\n MiddleBanner: '/Index/MiddleBanner',\n\n RightBttomBanner: '/Index/RightBttomBanner',\n\n ElectronicCatalog: '/Index/ElectronicCatalog',\n\n Panel: '/Index/Panel'\n },\n\n Brand: {\n Brands: '/Brands'\n },\n\n Products: '/Products',\n\n ProductRecommends: '/RecommendProducts',\n\n eShoppingApi: {\n DfpLogin: '/eShoppingApi/DfpLogin',\n\n EmpLogin: '/eShoppingApi/EmpLogin',\n\n PnrLogin: '/eShoppingApi/PnrLogin',\n\n TktLogin: '/eShoppingApi/TktLogin',\n\n CheckDfpID: '/eShoppingApi/CheckDfpID',\n\n CheckDfpIDAndName: '/eShoppingApi/CheckDfpIDAndName',\n\n ExChange: '/eShoppingApi/ExChange',\n\n GetMileage: '/eShoppingApi/GetMileage',\n\n GetAwardList: '/eShoppingApi/GetAwardList',\n\n CheckEmpID: '/eShoppingApi/CheckEmpID',\n\n CheckFfpID: '/eShoppingApi/CheckFfpID',\n\n GetLoginByGuid: '/eShoppingApi/GetLoginByGuid',\n\n CaptchaUrl: '/eShoppingApi/captcha'\n },\n\n Shopping: {\n Add: '/Shopping/Add',\n\n Get: '/Shopping/Get',\n\n Remove: '/Shopping/Remove',\n\n Complete: '/Shopping/Complete',\n\n CheckOrder: '/Shopping/CheckOrder',\n\n RemoveAll: '/Shopping/RemoveAll'\n },\n\n FlightSafetyPolicy: '/FlightSafetyPolicy',\n\n IntellectualPropertyDescription: '/IntellectualPropertyDescription',\n\n QACateogries: '/QACateogries',\n\n Notifications: '/Notifications',\n\n ActivityProducts: '/ActivityProducts',\n\n MemberProducts: '/MemberProducts',\n\n OrderList: '/OrderList',\n\n Order: '/Order',\n\n CancelOrder: '/Order/CancelOrder',\n\n ProductKeepAdd: '/ProductKeepAdd',\n\n ProductKeepRemove: '/ProductKeepRemove',\n \n ExceptionLog: '/ExceptionLog'\n }\n};\n","import { Directive, ElementRef, Input } from '@angular/core';\ndeclare var $: any;\n\n@Directive({\n selector: '[appOwalcarousel]'\n})\nexport class OwlcarouselDirective {\n $el: JQuery;\n @Input() owlOptions: any; // 可以透過 component 個別設定 owl carousel 的 options,達到不同頁面的客製化輪播。\n\n private _items: any[]; // 這個應該是多的,忘了刪除。\n\n constructor(el: ElementRef) {\n this.$el = $(el.nativeElement);\n }\n\n ngAfterViewChecked() {\n this.initOwl(); // 初始化 Owl Carousel。\n }\n\n ngOnDestroy() {\n this.destroyOwl(); // 換頁時將 Owl Carousel 從 Element 上釋放。\n }\n\n initOwl() {\n if (\n this.$el.find('.item').length && // 由於論播內容可能是經由 API 來的,所以要確定 Owl Carousel 內有東西可執行。\n typeof $.fn.owlCarousel === 'function' && // 確定 Owl Carousel 有被載入。\n !this.$el.hasClass('owl-loaded')\n // Owl Carousel 執行並初始化在 element 上時會加上 .owl-loaded 代表該 element 已初始化,此行是用以確保因為 ngAfterViewChecked 會一直重覆 check 的特性導致該 element 一直被重覆初始化 Owl Carousel,致使瀏覽器效能低下。\n ) {\n setTimeout(() => {\n this.$el.owlCarousel(this.owlOptions);\n }, 0);\n }\n }\n\n destroyOwl() {\n if (this.$el) {\n this.$el.trigger('destroy.owl.carousel')\n .removeClass('owl-loaded owl-hidden')\n .find('.owl-stage:empty, .owl-item:empty')\n .remove();\n }\n }\n reInitOwl() {\n // 在同一個 component 中只有切換資料的時候,並不會觸發 ngOnDestroy,如果發生這樣的事情\n // 請在載入其他資料完成時 call 這段程式,Owl Carousel 會重新初始化\n this.destroyOwl();\n this.initOwl();\n }\n}\n","export enum FrontendLoginType {\r\n NONE,\r\n PNR,\r\n DFP,\r\n TKT,\r\n EMP,\r\n CRM\r\n}\r\n","export enum LocalStorageType {\n shoppingCart,\n member,\n FlightData,\n WishList,\n shoppingCartStep,\n AppId,\n tokenid\n}\n","export enum MemberCenterType {\n Order,\n Notification,\n WishList\n}\n","export enum MemberLoginType {\n\n /// 會員登入\n DynastyMember,\n\n /// 機票號碼\n TicketNumber,\n\n /// 訂位代號\n PnrLogin,\n\n /// 員工 Id\n EmployID\n}\n","export enum MemberPopupType {\n Login,\n SelectFlight,\n NOFlight\n}\n","export enum MenuType {\n Member,\n News,\n ShoppingNotice,\n ContactUs,\n Language,\n APIMenu\n}\n","export enum ProductPriceType {\n priceA,\n priceB,\n priceC,\n priceD,\n priceE,\n priceF,\n priceG,\n priceH\n}\n\nexport const ProductPriceTypeDisplay = new Map([\n [ProductPriceType.priceA, '$1-50'],\n [ProductPriceType.priceB, '$51-100'],\n [ProductPriceType.priceC, '$101-200'],\n [ProductPriceType.priceD, '$201-300'],\n [ProductPriceType.priceE, '$301-400'],\n [ProductPriceType.priceF, '$401-500'],\n [ProductPriceType.priceG, '$501-1000'],\n [ProductPriceType.priceH, '$1000+']\n]);\n","export enum ProductType {\n /// \n /// 一般商品\n /// \n General,\n\n /// \n /// 贈品\n /// \n Gift,\n\n /// \n /// 加購商品\n /// \n AddPurchase,\n\n /// \n /// 會員商品\n /// \n Member\n}\n","export enum CategoryType {\n Type1, // TYPE 1 (商品特色/商品分類/相關品牌/Banner)\n\n Type2, // TYPE 2 (依據label/相關品牌/Banner)\n\n Type3, // TYPE 3 (依據標籤/相關品牌/Banner)\n\n Type4, // TYPE 4 (依據標籤/Banner)\n\n Type5, // TYPE 5 (依據品牌館/Banner)\n\n Type6 // TYPE 6 (主選單連結)\n}\n","export enum ShoppingCarErrorCode {\n\n /// \n /// 查無此商品\n /// \n NotProduct,\n\n /// \n /// 購物車無任何商品,故無法加入加購商品\n /// \n NotAnyProductItem,\n\n /// \n /// 庫存不足\n /// \n OutOfStock\n}\n","export enum ShoppingCartStep {\n failed = -1,\n step1,\n step2,\n step3,\n step4\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'enumToArray'\n})\nexport class EnumToArrayPipe implements PipeTransform {\n\n transform(data: any): string[] {\n\n const keys = Object.keys(data).filter(x => !(parseInt(x) >= 0));\n\n return keys;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitized: DomSanitizer) { }\n\n transform(value) {\n return this.sanitized.bypassSecurityTrustHtml(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'unescapeHtml'\n})\nexport class UnescapeHtmlPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n\n const doc = new DOMParser().parseFromString(value, 'text/html');\n\n return doc.documentElement.textContent;\n // return doc.documentElement.textContent;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'youtubeUrl'\n})\nexport class YoutubeUrlPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n\n const youtubecode = value.replace('https://youtu.be/', '');\n\n // console.log('https://www.youtube.com/embed/' + youtubecode);\n\n return 'https://www.youtube.com/embed/' + youtubecode;\n }\n\n}\n","import { LayoutService } from './../layout.service';\nimport { Component, OnInit } from '@angular/core';\n\nimport { CookieService } from '../../service/cookie.service';\n\n@Component({\n selector: 'app-cookie-consent',\n templateUrl: './cookie-consent.component.html',\n styleUrls: ['./cookie-consent.component.css']\n})\nexport class CookieConsentComponent implements OnInit {\n\n constructor(public cookiesvc: CookieService, public layoutsvc: LayoutService) { }\n ngOnInit(): void {\n this.cookiesvc.checkConsent();\n }\n}\n","
\n
\n
\n

\n
\n
\n \n
\n
\n
\n","import { LanguageService } from 'src/app/service/language.service';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n\n isOpen = false;\n @Input() isShowPaddingBottom = false;\n\n constructor(\n public languagesvc: LanguageService\n ) { }\n\n ngOnInit(): void {\n\n jQuery('.sky-foot-item').on( 'click', () => {\n\n jQuery(this).toggleClass('active');\n\n });\n }\n\n mobileToogle($event): void {\n\n const isOpen = $event.target.getAttribute('aria-expanded');\n this.isOpen = isOpen === 'false' ? true : false;\n }\n}\n","\n\n\n","import { MemberLoginType } from './../../core/enums/member/member-login-type.enum';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { AlertService } from 'src/app/shared/alert/alert.service';\nimport { MenuType } from './../../core/enums/menu/menu-type.enum';\nimport { LayoutService } from './../layout.service';\nimport { TopNewsService } from './../../service/top-news.service';\nimport { TopNewsConditionModel } from './../../service/model/top-news/top-news-condition.model';\nimport { LanguageModel } from './../../service/model/language/language.model';\nimport { LanguageService } from './../../service/language.service';\nimport { Component, OnInit, HostListener, Output, EventEmitter, Pipe } from '@angular/core';\n\nimport { ShoppingCartService } from '../../service/shopping-cart.service';\nimport { MemberService } from '../../service/member.service';\nimport { MenuService } from '../menu/menu.service';\nimport { SearchService } from '../search/search.service';\nimport { HeaderService } from './../../service/header.service';\n\nimport { TopNewsModel } from '../../service/model/top-news/top-news.model';\nimport { ShoppingCarQueryModel } from 'src/app/service/model/shopping/shopping-car-query.model';\nimport { data } from 'jquery';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { MenuStep } from '../menu/menu-step.enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CheckEmpIDRequestModel } from 'src/app/service/model/member/check-empID-request.model';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css']\n})\nexport class HeaderComponent implements OnInit {\n topNewsArr: TopNewsModel[];\n loginIsOpen = false;\n languageAry: LanguageModel[] = [];\n nowLanguageName = '';\n @Output() openMenu = new EventEmitter();\n\n memberLoginTypeEnum = MemberLoginType;\n\n headerHeight = 0;\n\n constructor(\n private route: Router,\n public headersvc: HeaderService,\n public membersvc: MemberService,\n public menusvc: MenuService,\n public searchsvc: SearchService,\n public shoppingcartsvc: ShoppingCartService,\n public languagesvc: LanguageService,\n private topnewssvc: TopNewsService,\n private datepipe: DatePipe,\n public layoutsvc: LayoutService,\n private transiatesvc: TranslateService,\n private alertsvc: AlertService,\n public baseDatasvc: BaseDataService,\n ) { }\n\n ngOnInit(): void {\n this.layoutsvc.headerHeight = $('.main-header').height();\n\n this.getTopNews();\n this.getLanguageData();\n }\n\n @HostListener('window:resize', ['$event'])\n\n onResize(event: any): void {\n }\n\n openMenuEvent($event): void {\n this.openMenu.emit($event);\n this.menusvc.openMobileMenu();\n this.membersvc.memberConIsOpen = false;\n this.shoppingcartsvc.pcShoppingCartIsopen = false;\n this.searchsvc.pcSearchIsopen = false;\n }\n\n openAccount($event): void {\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n /// 已登入\n }\n\n this.membersvc.openPcMemberTool(!this.membersvc.memberConIsOpen);\n this.shoppingcartsvc.pcShoppingCartIsopen = false;\n this.searchsvc.pcSearchIsopen = false;\n this.menusvc.closePcMenu();\n }\n\n openSearch($event): void {\n this.searchsvc.openPcSearch(!this.searchsvc.pcSearchIsopen);\n this.membersvc.memberConIsOpen = false;\n this.shoppingcartsvc.pcShoppingCartIsopen = false;\n this.menusvc.closePcMenu();\n }\n\n openShoppingCart($event): void {\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n\n }\n //2024-12-09\n if (!this.layoutsvc.isMobile) \n {\n this.shoppingcartsvc.openPcShoppingCart(this.shoppingcartsvc.pcShoppingCartIsopen ? false : true);\n }\n else\n {\n console.log(\"this.shoppingcartsvc.openMobleShoppingCart()\");\n this.shoppingcartsvc.openMobleShoppingCart();\n }\n \n this.membersvc.memberConIsOpen = false;\n this.searchsvc.pcSearchIsopen = false;\n this.menusvc.closePcMenu();\n }\n\n openMobleShoppingCart(): void {\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n this.menusvc.menuType = MenuType.Member;\n this.membersvc.memberLoginType = null;\n this.menusvc.openMobileMenu(MenuStep.step2);\n } else {\n if (this.baseDatasvc.memberData.loginData && this.baseDatasvc.memberData.loginData.itinerary.length > 0) {\n this.route.navigate([this.languagesvc.nowLangNo + '/shoppingCart']);\n } else {\n this.shoppingcartsvc.openMobleShoppingCart();\n }\n }\n }\n\n getTopNews(): void {\n const condition: TopNewsConditionModel = {};\n\n this.topnewssvc.getData(condition).subscribe(result => {\n this.layoutsvc.headerHeight = $('.main-header').height();\n\n if (result.Success) {\n this.topNewsArr = result.Data.Datas;\n }\n },\n (error) => {\n });\n }\n\n getLanguageData(): void {\n this.languagesvc.getData().subscribe(result => {\n if (result.Success) {\n this.languageAry = result.Data;\n\n this.nowLanguageName = this.languageAry.find(x => x.LanguageNo === this.languagesvc.nowLangNo).LanguageName;\n }\n },\n (error) => {\n });\n }\n\n empLogin(): void {\n this.alertsvc.openLoading(true);\n\n const condition: CheckEmpIDRequestModel = {};\n\n this.membersvc.CheckEmpID(condition).subscribe(result => {\n if (result.isOK) \n {\n var validateUrl = new RegExp(/^((((https?):\\/\\/))(%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:|:blank:]])?$/);\n var url = result.data.URL;\n if (url.match(validateUrl)) \n {\n window.location.href = url;\n } else {\n \n }\n }\n });\n }\n\n logout(): void {\n this.membersvc.LogOut(false);\n window.location.href = \"/\" + this.languagesvc.nowLangNo;\n // this.alertsvc.openAlert(this.transiatesvc.instant('LogOutSuccessfully'), true);\n }\n}\n","\n
\n
0\">\n
\n
\n
\n

{{\"HeaderNewsNotice\" | translate}}:

\n
\n \n
\n \n
\n
\n
\n
\n\n \n \n\n \n
\n
\n
\n \n
\n \n
\n \n
{{this.baseDatasvc.shoppingCarCount}}
\n
\n
\n
\n
\n
\n
\n
\n
\n\n","import { LanguageModel } from './../../../service/model/language/language.model';\nimport { LanguageService } from './../../../service/language.service';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-mobile-language',\n templateUrl: './mobile-language.component.html',\n styleUrls: ['./mobile-language.component.css']\n})\nexport class MobileLanguageComponent implements OnInit {\n\n languageAry: LanguageModel[] = [];\n constructor(\n public languagesvc: LanguageService\n ) { }\n\n ngOnInit(): void {\n\n this.getData();\n }\n\n getData(): void {\n\n this.languagesvc.getData().subscribe(result => {\n\n if (result.Success) {\n\n this.languageAry = result.Data;\n }\n\n }, (error) => {});\n }\n\n}\n","
\n
\n
\n

{{\"MobileMenuLanguage\" | translate}}

\n
\n
\n \n
\n","import { BaseDataService } from 'src/app/service/base-data.service';\nimport { GeneralPopProductDataModel, PopupService } from './../shared/popup/popup.service';\nimport { MemberService } from 'src/app/service/member.service';\nimport { AlertService } from './../shared/alert/alert.service';\nimport { Component, OnInit, HostListener, OnDestroy } from '@angular/core';\nimport { Router, Event, NavigationStart, NavigationEnd, NavigationError } from '@angular/router';\nimport { trigger, transition, animate, style, state } from '@angular/animations';\nimport { Subscription } from 'rxjs';\n\nimport { LayoutService } from './layout.service';\nimport { MenuService } from './menu/menu.service';\nimport { SearchService } from './search/search.service';\nimport { CookieService } from '../service/cookie.service';\nimport { ShoppingCartService } from '../service/shopping-cart.service';\nimport { MemberLoginType } from '../core/enums/member/member-login-type.enum';\nimport { MenuType } from '../core/enums/menu/menu-type.enum';\nimport { MenuStep } from './menu/menu-step.enum';\n\n@Component({\n selector: 'app-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.css'],\n animations: [\n trigger('slideInOut', [\n state('open', style({\n transform: 'translateX(0%)'\n })),\n state('closed', style({\n transform: 'translateX(-100%)'\n })),\n transition('closed => open', [\n animate('0.3s linear')\n ]),\n transition('open => closed', [\n animate('0.3s linear')\n ])\n ])\n ]\n})\nexport class LayoutComponent implements OnInit {\n\n windowWidth = 0;\n // wasInside = false;\n menuOpen = false;\n docScrollTop: number;\n isShow = true;\n // isShowTop = true;\n isShowFooterPaddingBottom = false;\n\n memberLoginTypeEnum = MemberLoginType;\n\n constructor(\n public layoutsvc: LayoutService,\n public menusvc: MenuService,\n public searchsvc: SearchService,\n public cookiesvc: CookieService,\n public shoppingcartsvc: ShoppingCartService,\n private router: Router,\n public membersvc: MemberService,\n public alertsvc: AlertService,\n public popupsvc: PopupService,\n public baseDataSvc: BaseDataService\n ) {\n\n this.layoutsvc.isScrollDown = false;\n this.docScrollTop = document.documentElement.scrollTop;\n\n }\n\n ngOnInit(): void {\n\n if (this.membersvc.isLoginSubject.value) {\n if (this.baseDataSvc.flightData) {\n this.shoppingcartsvc.shoppingGet().subscribe();\n }\n }\n\n this.layoutsvc.windowWidth = window.innerWidth;\n this.layoutsvc.windowHeight = window.innerHeight;\n\n if (window.innerWidth <= 991) {\n this.layoutsvc.isMobile = true;\n }\n\n this.router.events.subscribe((event: Event) => {\n\n if (event instanceof NavigationStart) {\n // Show loading indicator\n //console.log('NavigationStart');\n window.scrollTo(0, 0);\n this.menusvc.closePcMenu();\n this.menusvc.closeMobileMenu();\n this.membersvc.memberConIsOpen = false;\n this.searchsvc.pcSearchIsopen = false;\n this.layoutsvc.isShowTop = true;\n }\n\n if (event instanceof NavigationEnd) {\n // Hide loading indicator\n //console.log('NavigationEnd');\n this.isShow = event.url.includes('/member/download') ? false : true;\n\n if (event.url.includes('/product/detail') && this.layoutsvc.isMobile) {\n this.layoutsvc.isShowTop = false;\n this.isShowFooterPaddingBottom = true;\n } else {\n this.layoutsvc.isShowTop = true;\n this.isShowFooterPaddingBottom = false;\n }\n }\n if (event instanceof NavigationError) {\n\n }\n });\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event): void {\n\n this.layoutsvc.windowWidth = window.innerWidth;\n this.layoutsvc.windowHeight = window.innerHeight;\n\n if (window.innerWidth <= 991) {\n this.layoutsvc.isMobile = true;\n } else {\n this.layoutsvc.isMobile = false;\n }\n }\n\n @HostListener('window:scroll', ['$event']) // for window scroll events\n onScroll(event): void {\n\n const doc = document.documentElement;\n\n let mobileMargin = 0;\n\n if (this.layoutsvc.isMobile) {\n mobileMargin = 105;\n }\n\n if (doc.scrollTop > this.docScrollTop){\n\n if (doc.scrollTop > mobileMargin) {\n\n this.layoutsvc.isScrollDown = true;\n }\n }else{\n\n this.layoutsvc.isScrollDown = false;\n }\n\n this.docScrollTop = doc.scrollTop;\n }\n\n openMenuEvent($event): void {\n this.menuOpen = true;\n }\n\n closeMenuEvent($event): void {\n this.menuOpen = false;\n }\n\n onActivate(event): void {\n window.scroll(0, 0);\n }\n\n removeAllDetails(): void {\n\n this.popupsvc.closeAll();\n this.shoppingcartsvc.shoppingCartRemoveAll().subscribe();\n }\n\n removeProduct(data: GeneralPopProductDataModel): void {\n\n this.popupsvc.closeAll();\n this.shoppingcartsvc.shoppingCartRemoveFromCart(data.popRemoveProductNo, data.popRemoveProductType, data.popRemoveCount, data.isShoppingCart)\n }\n\n openLoginPopCon(memberLoginType?: MemberLoginType, isCheckDfpIDAndName?: boolean): void {\n if (this.layoutsvc.isMobile) {\n this.popupsvc.closeAll();\n this.menusvc.menuType = MenuType.Member;\n this.membersvc.memberLoginType = memberLoginType;\n this.menusvc.openMobileMenu(MenuStep.step2);\n }else{\n this.membersvc.openLoginPopCon(memberLoginType, isCheckDfpIDAndName);\n }\n }\n}\n","\n
\n
\n \n\n \n
\n\n \n\n
\n\n
\n\n
\n\n \n
\n\n\n\n\n
\n
\n

{{this.alertsvc.alertText}}

\n \n
\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n \n
\n

{{this.popupsvc.generalPopData.title}}

\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n\n\n","import { ShoppingRowComponent } from './shopping-cart/shopping-row/shopping-row.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FooterComponent } from './footer/footer.component';\nimport { LayoutComponent } from './layout.component';\nimport { HeaderComponent } from './header/header.component';\nimport { MenuComponent } from './menu/menu.component';\nimport { SearchComponent } from './search/search.component';\nimport { PcMemberFlightComponent } from './member/pc-member/pc-member-flight/pc-member-flight.component';\nimport { PcMemberLoginComponent } from './member/pc-member/pc-member-login/pc-member-login.component';\nimport { PcMemberComponent } from './member/pc-member/pc-member.component';\nimport { PcSearchComponent } from './search/pc-search/pc-search.component';\nimport { PcMenuComponent } from './menu/pc-menu/pc-menu.component';\nimport { PcMenuBrandSearchComponent } from './menu/pc-menu/pc-menu-brand-search/pc-menu-brand-search.component';\nimport { MobileLanguageComponent } from './language/mobile-language/mobile-language.component';\nimport { MobileMemberComponent } from './member/mobile-member/mobile-member.component';\nimport { MobileSearchComponent } from './search/mobile-search/mobile-search.component';\nimport { MobileMenuComponent } from './menu/mobile-menu/mobile-menu.component';\n\nimport { SharedModule } from '../shared/shared.module';\nimport { CookieConsentComponent } from './cookie-consent/cookie-consent.component';\nimport { ShoppingCartComponent } from './shopping-cart/shopping-cart.component';\nimport { PcShoppingCartComponent } from './shopping-cart/pc-shopping-cart/pc-shopping-cart.component';\nimport { MobileShoppingCartComponent } from './shopping-cart/mobile-shopping-cart/mobile-shopping-cart.component';\nimport { MobileShoppingCartFlightComponent } from './shopping-cart/mobile-shopping-cart/mobile-shopping-cart-flight/mobile-shopping-cart-flight.component';\nimport { PcMenuBannerComponent } from './menu/pc-menu/pc-menu-banner/pc-menu-banner.component';\n\n@NgModule({\n declarations: [\n LayoutComponent,\n HeaderComponent,\n FooterComponent,\n MenuComponent,\n PcMenuComponent,\n PcMemberComponent,\n PcMemberLoginComponent,\n PcMemberFlightComponent,\n PcSearchComponent,\n MobileMenuComponent,\n MobileMemberComponent,\n MobileLanguageComponent,\n MobileSearchComponent,\n SearchComponent,\n PcMenuBrandSearchComponent,\n CookieConsentComponent,\n ShoppingCartComponent,\n PcShoppingCartComponent,\n MobileShoppingCartComponent,\n MobileShoppingCartFlightComponent,\n ShoppingRowComponent,\n PcMenuBannerComponent\n ],\n imports: [\n CommonModule,\n SharedModule\n ],\n providers: [],\n exports:\n [\n HeaderComponent,\n FooterComponent,\n LayoutComponent\n ]\n})\nexport class LayoutModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n\n isMobile = false;\n windowWidth: number;\n windowHeight: number;\n isScrollDown = false;\n headerToolIsOpen = false;\n pcMenuIsOpen = false;\n headerHeight: number;\n isShowTop = true;\n\n constructor() { }\n}\n","import { transition } from '@angular/animations';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BaseDataService } from './../../../service/base-data.service';\nimport { LayoutService } from 'src/app/layout/layout.service';\nimport { GeneralPopModel, PopupService } from './../../../shared/popup/popup.service';\nimport { LanguageService } from './../../../service/language.service';\nimport { AlertService } from './../../../shared/alert/alert.service';\nimport { ShoppingCartService } from './../../../service/shopping-cart.service';\nimport { Component, OnInit } from '@angular/core';\n\nimport { MenuService } from '../../menu/menu.service';\nimport { MemberService } from '../../../service/member.service';\nimport { MemberLoginType } from '../../../core/enums/member/member-login-type.enum';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TktLoginRequestModel } from 'src/app/service/model/member/tktLoginRequest.mode';\nimport { PnrLoginRequestModel } from 'src/app/service/model/member/pnrLoginRequest.model';\nimport { MemberPopupType } from 'src/app/core/enums/member/member-popup-type.enum';\nimport { DfpLoginRequestModel } from 'src/app/service/model/member/dfpLoginRequest.model';\nimport { CheckDfpIDRequestModel } from 'src/app/service/model/member/checkDfpIDRequest.model';\n//import { GetDfpMemberInfoRequestModel } from 'src/app/service/model/member/getDfpMemberInfoRequest.model';\n\ndeclare function excuteTurnstileFfp(lang):any;\ndeclare function excuteTurnstileTkt(lang):any;\n\n@Component({\n selector: 'app-mobile-member',\n templateUrl: './mobile-member.component.html',\n styleUrls: ['./mobile-member.component.css']\n})\nexport class MobileMemberComponent implements OnInit {\n memberLoginTypeEnum = MemberLoginType;\n private captchaData: string;\n private captchaDataTkt: string;\n\n errorMsg: string[] = [];\n pwshow = false;\n isPnr = false;\n isTicket = false;\n tktCfInit = false;\n ffpCfInit = false;\n\n memberLogInForm = new FormGroup({\n DfpCardNumber: new FormControl('', [\n Validators.required\n //Validators.maxLength(9)\n ]),\n DfpPassword: new FormControl('', [\n Validators.required\n //Validators.minLength(6),\n //Validators.maxLength(20)\n ]),\n CaptchaCodeFfp: new FormControl('', [])\n //CaptchaCode: new FormControl('', [\n //Validators.required\n //Validators.minLength(4),\n //Validators.maxLength(4)\n //])\n });\n\n ticketLoginInForm = new FormGroup({\n Number: new FormControl('', [\n Validators.required\n //Validators.minLength(6)\n //Validators.maxLength(13)\n ]),\n FirstName: new FormControl('', [\n Validators.required\n ]),\n LastName: new FormControl('', [\n Validators.required\n ]),\n CaptchaCodeTkt: new FormControl('', [])\n //CaptchaCodeTkt: new FormControl('', [\n //Validators.required\n //Validators.minLength(4),\n //Validators.maxLength(4)\n //])\n });\n\n constructor(\n public menusvc: MenuService,\n public membersvc: MemberService,\n private shoppingCartsvc: ShoppingCartService,\n private alertsvc: AlertService,\n public languagesvc: LanguageService,\n private popupsvc: PopupService,\n private layoutsvc: LayoutService,\n public baseDatasvc: BaseDataService,\n private shoppingcartsvc: ShoppingCartService,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.onChanges();\n this.resetCaptcha();\n }\n\n resetCaptcha(): void {\n //this.membersvc.getCaptcha().subscribe(result => {\n// if (result.isOK) {\n// this.captchaData = \"data:image/png;base64,\"+ result.data;\n //this.captchaDataTkt = \"data:image/png;base64,\"+ result.data;\n //console.log(this.captchaData);\n //}\n //});\n }\n \n ngAfterViewInit(): void {\n //this.resetCaptcha();\n let _lang = 'en';\n if (this.languagesvc != null && this.languagesvc.nowLangNo != '')\n {\n _lang = this.languagesvc.nowLangNo;\n }\n else\n {\n if (location.toString().toLowerCase().indexOf(\"/tw\") > -1){_lang = 'tw';} else{_lang = 'en';}\n }\n if (this.membersvc.memberLoginType == this.memberLoginTypeEnum.DynastyMember)\n {\n //console.log(\"ngAfterViewInit-->DynastyMember\")\n //console.log(this.ffpCfInit)\n if (!this.ffpCfInit){\n let cfscript = document.createElement('script');\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_ffp', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.ffpCfInit = true;\n }\n }\n if (this.membersvc.memberLoginType == this.memberLoginTypeEnum.TicketNumber)\n {\n //console.log(\"ngAfterViewInit-->TicketNumber\")\n //console.log(this.tktCfInit)\n if (!this.tktCfInit){\n let cfscript = document.createElement('script');\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_tkt', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.tktCfInit = true;\n }\n }\n \n }\n\n changeMemberToFfp():boolean {\n //this.resetCaptcha();\n //console.log(\"changeMemberToFfp-->DynastyMember\")\n //console.log(this.ffpCfInit)\n let _lang = 'en';\n if (this.languagesvc != null && this.languagesvc.nowLangNo != '')\n {\n _lang = this.languagesvc.nowLangNo;\n }\n else\n {\n if (location.toString().toLowerCase().indexOf(\"/tw\") > -1){_lang = 'tw';} else{_lang = 'en';}\n }\n if (!this.ffpCfInit){\n let cfscript = document.createElement('script');\n //cfscript.text = \"$('#cf-turnstile_ffp').html($('#cf-turnstile').html())\";\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_ffp', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.ffpCfInit = true;\n }else\n {\n //console.log(\"excuteTurnstileFfp\");\n excuteTurnstileFfp(_lang);\n this.ffpCfInit = true;\n }\n return true;\n }\n changeMemberToTkt():boolean {\n //this.resetCaptcha();\n //console.log(\"changeMemberToFfp-->TicketNumber\")\n //console.log(this.tktCfInit)\n let _lang = 'en';\n if (this.languagesvc != null && this.languagesvc.nowLangNo != '')\n {\n _lang = this.languagesvc.nowLangNo;\n }\n else\n {\n if (location.toString().toLowerCase().indexOf(\"/tw\") > -1){_lang = 'tw';} else{_lang = 'en';}\n }\n if (!this.tktCfInit){\n let cfscript = document.createElement('script');\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_tkt', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.tktCfInit = true;\n }\n else\n {\n //console.log(\"excuteTurnstileTkt\");\n excuteTurnstileTkt(_lang);\n this.tktCfInit = true;\n }\n return true;\n }\n\n openLogin(type: MemberLoginType): void {\n this.errorMsg = [];\n this.alertsvc.openLoading(true);\n this.resetCaptcha();\n const mobile_member_body = document.getElementsByClassName('mobile-warp');\n mobile_member_body[0].scrollTo(0, 0);\n\n setTimeout(() => {\n this.membersvc.memberLoginType = type;\n this.alertsvc.openLoading(false);\n }, 100);\n }\n\n get DfpCardNumber(): AbstractControl { return this.memberLogInForm.get('DfpCardNumber'); }\n get DfpPassword(): AbstractControl { return this.memberLogInForm.get('DfpPassword'); }\n get Number(): AbstractControl { return this.ticketLoginInForm.get('Number'); }\n get FirstName(): AbstractControl { return this.ticketLoginInForm.get('FirstName'); }\n get LastName(): AbstractControl { return this.ticketLoginInForm.get('LastName'); }\n get CaptchaCode(): AbstractControl { return this.memberLogInForm.get('CaptchaCode'); }\n get CaptchaCodeTkt(): AbstractControl { return this.ticketLoginInForm.get('CaptchaCodeTkt'); }\n\n async memberFormSubmit(): Promise {\n this.errorMsg = [];\n let captchacode = $('#CaptchaCodeFfp').text();\n if (this.memberLogInForm.invalid) {\n if (this.memberLogInForm.get('DfpCardNumber').invalid) {\n this.memberLogInForm.setErrors({ ...this.memberLogInForm.errors, 'DfpCardNumber': true });\n }\n\n if (this.memberLogInForm.get('DfpPassword').invalid) {\n this.memberLogInForm.setErrors({ ...this.memberLogInForm.errors, 'DfpPassword': true });\n }\n\n //if (this.memberLogInForm.get('CaptchaCode').invalid) {\n// this.memberLogInForm.setErrors({ ...this.memberLogInForm.errors, 'CaptchaCode': true });\n //}\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyCardOrPwd'));\n\n return;\n }\n\n const condition: CheckDfpIDRequestModel = {\n DfpCardNumber: this.DfpCardNumber.value,\n DfpPassword: this.DfpPassword.value,\n CaptchaCode: captchacode//his.CaptchaCodeFfp.value\n };\n\n this.alertsvc.openLoading(true);\n\n (await this.membersvc.CheckDfpID(condition)).subscribe(async result => {\n if (!result.isOK) {\n this.resetCaptcha();\n this.alertsvc.openLoading(false);\n this.errorMsg.push(result.message);\n return;\n }\n\n const loginCondigion: DfpLoginRequestModel = {\n DfpCardNumber: condition.DfpCardNumber\n };\n (await this.membersvc.DfpLogin(loginCondigion)).subscribe(loginResult => {\n this.alertsvc.openLoading(false);\n this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n\n if (loginResult.isOK) {\n if (loginResult.data.itinerary !== null || loginResult.data.itinerary.length > 0) {\n this.shoppingCartsvc.openMobleShoppingCart();\n this.menusvc.closeMobileMenu();\n } else {\n this.openFlightSelect();\n }\n } else {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.menusvc.closeMobileMenu();\n this.openFlightSelect();\n }\n }, (error) => {\n this.resetCaptcha();\n });\n\n }, (error) => {\n this.resetCaptcha();\n });\n }\n\n async ticketFormSubmit(): Promise {\n this.errorMsg = [];\n let captchacode = $('#CaptchaCodeTkt').text();\n if (this.ticketLoginInForm.invalid) {\n if (this.ticketLoginInForm.get('Number').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'Number': true });\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyPnrOrTicketNumber'));\n }\n\n if (this.ticketLoginInForm.get('FirstName').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'FirstName': true });\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyLastName'));\n }\n\n if (this.ticketLoginInForm.get('LastName').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'LastName': true });\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyLastName'));\n }\n if (this.ticketLoginInForm.get('CaptchaCodeTkt').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'CaptchaCodeTkt': true });\n }\n return;\n }\n\n const ticketNumber: string = this.ticketLoginInForm.get('Number').value;\n\n if (ticketNumber.length === 6 || ticketNumber.length === 13) {\n if (ticketNumber.length === 6) {\n const condition: PnrLoginRequestModel = {\n PaxLocator: this.Number.value,\n PaxFirstName: this.FirstName.value,\n PaxLastName: this.LastName.value,\n CaptchaCode: captchacode//this.CaptchaCodeTkt.value\n };\n\n this.alertsvc.openLoading(true);\n\n (await this.membersvc.PnrLogin(condition)).subscribe(result => {\n this.alertsvc.openLoading(false);\n if (result.isOK) {\n // this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n const popData: GeneralPopModel = {\n content: this.translateService.instant('MemberLoginAlertContent'),\n confirmButtonText: this.translateService.instant('MemberLoginAlertCloseButton'),\n loginButtonText: this.translateService.instant('MemberLoginAlertLoginButton')\n };\n\n this.popupsvc.openGeralPop(popData);\n\n this.shoppingCartsvc.openMobleShoppingCart();\n this.menusvc.closeMobileMenu();\n } else {\n this.resetCaptcha();\n this.errorMsg.push(result.message);\n // this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n }\n }, (error) => {\n this.resetCaptcha();\n this.errorMsg.push(error);\n });\n }\n\n if (ticketNumber.length === 13) {\n if (this.containSpecial(ticketNumber)) {\n this.errorMsg.push(this.translateService.instant('MemberLoginToolTicketError'));\n\n return;\n }\n\n const condition: TktLoginRequestModel = {\n TicketNumber: this.Number.value,\n PaxFirstName: this.FirstName.value,\n PaxLastName: this.LastName.value,\n CaptchaCode: captchacode//this.CaptchaCodeTkt.value\n };\n\n this.alertsvc.openLoading(true);\n\n (await this.membersvc.TktLogin(condition)).subscribe(result => {\n this.alertsvc.openLoading(false);\n // this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n const popData: GeneralPopModel = {\n content: this.translateService.instant('MemberLoginAlertContent'),\n confirmButtonText: this.translateService.instant('MemberLoginAlertCloseButton'),\n loginButtonText: this.translateService.instant('MemberLoginAlertLoginButton')\n };\n\n this.popupsvc.openGeralPop(popData);\n\n if (result.isOK) {\n this.shoppingCartsvc.openMobleShoppingCart();\n this.menusvc.closeMobileMenu();\n } else {\n this.resetCaptcha();\n this.errorMsg.push(result.message);\n // this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n }\n }, (error) => { \n this.resetCaptcha();\n });\n }\n\n return;\n }\n\n this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyPnrOrTicketNumber'));\n\n return;\n }\n\n passwordShowHide(): void {\n this.pwshow = !this.pwshow;\n }\n\n openFlightSelect(): void {\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n console.log(\"openMobleShoppingCart\");\n this.shoppingcartsvc.openMobleShoppingCart();\n } else {\n console.log(\"openMobileMenu\");\n this.menusvc.openMobileMenu();\n }\n }\n\n containSpecial(str: string) {\n var specialChars = \"~·`!!@#$¥%^…&*()()—-_=+[]{}【】、|\\\\;:;:'\\\"“‘,./<>《》??,。\";\n var len = specialChars.length;\n for (var i = 0; i < len; i++) {\n if (str.indexOf(specialChars.substring(i, i + 1)) != -1) {\n return true;\n }\n }\n return false;\n }\n\n onChanges(): void {\n this.ticketLoginInForm.valueChanges.subscribe(val => {\n const ticketInputValue = val.Number;\n if (ticketInputValue.length === 6) {\n this.isPnr = true;\n this.isTicket = false;\n } else if (ticketInputValue.length === 13) {\n this.isPnr = false;\n this.isTicket = true;\n } else {\n this.isPnr = false;\n this.isTicket = false;\n }\n });\n }\n}\n","\n\n
\n
\n
\n \n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n {{\"MemberLoginToolSignUp\" | translate}}\n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n {{\"MemberLoginToolSignUp\" | translate}}\n

\n
\n
{{\"MemberLoginToolOr\" | translate}}
\n
\n \n
\n
\n \n
\n
\n\n\n\n
\n
\n
\n
\n

\n
\n\n
0\">\n
\n {{item}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n\n \n
\n\n \n\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}{{\"MemberLoginToolSignUp\" | translate}}\n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}{{\"MemberLoginToolSignUp\" | translate}}\n

\n
\n
\n
\n

{{\"LoginResevation/E-ticketNumberChangeWording\" | translate}}

\n \n
\n
\n

{{\"LoginDynatyMemberBottomWordingTitle\" | translate}}

\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n
\n\n\n\n
\n
\n
\n
\n

\n
\n
0\">\n
\n {{item}}\n
\n
\n\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n\n \n
\n\n \n\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}{{\"MemberLoginToolSignUp\" | translate}}\n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}{{\"MemberLoginToolSignUp\" | translate}}\n

\n
\n
\n
\n

{{\"MemberToolLoginMobileWording\" | translate}}

\n \n
\n
\n

{{\"LoginDynatyMemberBottomWordingTitle\" | translate}}

\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n \n \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n
\n","import { AlertService } from './../../../../shared/alert/alert.service';\nimport { BaseDataService } from './../../../../service/base-data.service';\nimport { LanguageService } from './../../../../service/language.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ShoppingCartService } from './../../../../service/shopping-cart.service';\nimport { DatePipe, TranslationWidth } from '@angular/common';\nimport { FormGroup, FormControl, Validators, AbstractControl, FormGroupDirective } from '@angular/forms';\nimport { PopupService } from './../../../../shared/popup/popup.service';\nimport { LoginResponseItineraryModel, LoginResponseModel } from './../../../../service/model/member/loginResponse.model';\nimport { DfpLoginRequestModel } from './../../../../service/model/member/dfpLoginRequest.model';\nimport { MemberService } from './../../../../service/member.service';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ShoppingCarQueryModel } from './../../../../service/model/shopping/shopping-car-query.model';\nimport { MemberCenterType } from './../../../../core/enums/member/member-center-type.enum';\nimport { MemberLoginType } from './../../../../core/enums/member/member-login-type.enum';\nimport { MemberPopupType } from './../../../../core/enums/member/member-popup-type.enum';\nimport { EmpLoginRequestModel } from './../../../../service/model/member/empLoginRequest.model';\nimport { PnrLoginRequestModel } from './../../../../service/model/member/pnrLoginRequest.model';\nimport { TktLoginRequestModel } from './../../../../service/model/member/tktLoginRequest.mode';\nimport { Console } from 'console';\n\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-pc-member-flight',\n templateUrl: './pc-member-flight.component.html',\n styleUrls: ['./pc-member-flight.component.css']\n})\nexport class PcMemberFlightComponent implements OnInit {\n memberLoginData: LoginResponseModel = null;\n memberFlightAry: LoginResponseItineraryModel[] = [];\n\n errorMsg: string[] = [];\n memberCenterTypeEnum = MemberCenterType;\n\n memberLoginTypeEnum = MemberLoginType;\n\n flightForm = new FormGroup({\n paxLocator: new FormControl('', [\n Validators.required\n ]),\n fltDepLclDate: new FormControl('')\n });\n\n constructor(\n private route: Router,\n public popupsvc: PopupService,\n public membersvc: MemberService,\n private shoppingCartsvc: ShoppingCartService,\n private datepipe: DatePipe,\n private translateService: TranslateService,\n public languagesvc: LanguageService,\n public baseDatasvc: BaseDataService,\n private alertsvc: AlertService\n ) {\n }\n\n ngOnInit(): void {\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n this.membersvc.closeLoginPop();\n }\n else {\n this.init();\n }\n\n this.membersvc.openFlightMethod.subscribe(() => {\n this.init();\n })\n }\n\n init(): void {\n this.flightForm.reset();\n this.membersvc.memberConIsOpen = false;\n this.memberLoginData = null;\n\n if (this.membersvc.openFlightReload) {\n this.getData();\n } else {\n if (this.baseDatasvc.memberData.loginData) {\n this.memberLoginData = this.baseDatasvc.memberData.loginData;\n this.memberFlightAry = this.baseDatasvc.memberData.loginData.itinerary;\n //console.log(this.baseDatasvc.memberData.userData.EMPID);\n }\n }\n }\n\n get paxLocator(): AbstractControl { return this.flightForm.get('paxLocator'); }\n get fltDepLclDate(): AbstractControl { return this.flightForm.get('fltDepLclDate'); }\n\n async getData(): Promise {\n this.memberLoginData = null;\n\n this.alertsvc.openLoading(true);\n //console.log(this.baseDatasvc.memberData);\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.DynastyMember) {\n const loginCondigion: DfpLoginRequestModel = {\n //2023-12-25有userData不一定有訂位\n DfpCardNumber: this.baseDatasvc.memberData.userData.dfpCardNumber\n //DfpCardNumber: this.baseDatasvc.memberData.loginData.dfpCardNumber\n };\n //console.log(this.baseDatasvc.memberData.userData.dfpCardNumber);\n //console.log(this.baseDatasvc.memberData.loginData.dfpCardNumber);\n (await this.membersvc.DfpLogin(loginCondigion)).subscribe(loginResult => {\n this.alertsvc.openLoading(false);\n\n if (loginResult.isOK) {\n if (!loginResult.data.itinerary || loginResult.data.itinerary.length === 0) {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n } else {\n this.memberLoginData = loginResult.data;\n this.memberFlightAry = loginResult.data.itinerary;\n this.formReset();\n }\n } else {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n }\n }, (error) => {\n this.alertsvc.openLoading(false);\n // this.alertsvc.openAlert('Server Error', false);\n });\n } else if (this.baseDatasvc.memberData.loginType === MemberLoginType.EmployID) {\n //console.log(this.baseDatasvc.memberData);\n const empLoginCondition: EmpLoginRequestModel = {\n //2023-12-25有userData不一定有訂位\n EmployID: this.baseDatasvc.memberData.userData.EMPID\n //EmployID: this.baseDatasvc.memberData.loginData.dfpCardNumber\n };\n //console.log(\"getData-->this.baseDatasvc.memberData.loginType === MemberLoginType.EmployID\");\n //console.log(empLoginCondition);\n\n (await this.membersvc.EmpLogin(empLoginCondition)).subscribe(empResult => {\n this.alertsvc.openLoading(false);\n //console.log(\"getData-->empResult\");\n //console.log(empResult);\n if (empResult.isOK) {\n if (!empResult.data.itinerary || empResult.data.itinerary.length === 0) {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n } else {\n //this.baseDatasvc.memberData.userData.EMPID;\n //console.log(\"員工登入\");\n //console.log(empResult.data);\n this.memberLoginData = empResult.data;\n this.memberFlightAry = empResult.data.itinerary;\n //console.log(\"getData-->memberLoginData\");\n //console.log(this.memberLoginData);\n //console.log(\"getData-->baseDatasvc.memberData\");\n //console.log(this.baseDatasvc.memberData);\n //console.log(\"getData-->baseDatasvc.memberData\");\n //console.log(this.baseDatasvc.memberData.userData);\n //console.log(this.baseDatasvc.memberData.userData.EMPID);\n //this.baseDatasvc.memberData.userData = {\n // GUID: \"\",\n //GROUP: \"\",\n //EMPID: this.baseDatasvc.memberData.loginData.dfpCardNumber\n //};\n //console.log(this.baseDatasvc.memberData.userData.EMPID);\n this.formReset();\n }\n } else {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n }\n });\n }\n else if (this.baseDatasvc.memberData.loginType === MemberLoginType.PnrLogin) {\n const pnrLoginCondition: PnrLoginRequestModel = {\n PaxLocator: this.baseDatasvc.memberData.loginData.PaxLocator,\n PaxFirstName: this.baseDatasvc.memberData.loginData.paxFirstName,\n PaxLastName: this.baseDatasvc.memberData.loginData.paxLastName\n };\n\n (await this.membersvc.PnrLogin(pnrLoginCondition)).subscribe(pnrResult => {\n if (!pnrResult.data.itinerary || pnrResult.data.itinerary.length === 0) {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n } else {\n this.memberLoginData = pnrResult.data;\n this.memberFlightAry = pnrResult.data.itinerary;\n this.formReset();\n }\n this.alertsvc.openLoading(false);\n }, (error) => { });\n }\n else if (this.baseDatasvc.memberData.loginType === MemberLoginType.TicketNumber) {\n const tktLoginCondition: TktLoginRequestModel = {\n TicketNumber: this.baseDatasvc.memberData.loginData.TicketNumber,\n PaxFirstName: this.baseDatasvc.memberData.loginData.paxFirstName,\n PaxLastName: this.baseDatasvc.memberData.loginData.paxLastName\n };\n\n (await this.membersvc.TktLogin(tktLoginCondition)).subscribe(tktResult => {\n if (!tktResult.data.itinerary || tktResult.data.itinerary.length === 0) {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n } else {\n this.memberLoginData = tktResult.data;\n this.memberFlightAry = tktResult.data.itinerary;\n this.formReset();\n }\n this.alertsvc.openLoading(false);\n }, (error) => { });\n }\n else {\n this.alertsvc.openLoading(false);\n this.memberLoginData = this.baseDatasvc.memberData.loginData;\n this.memberFlightAry = this.baseDatasvc.memberData.loginData.itinerary;\n }\n }\n\n formReset(): void {\n if (this.baseDatasvc.flightData) {\n const value = this.baseDatasvc.flightData.paxLocator + '/' + String(this.baseDatasvc.flightData.fltDepLclDate);\n\n this.flightForm.controls['paxLocator'].setValue(value);\n }\n }\n \n formSubmit(): void {\n\n this.errorMsg = [];\n if (this.flightForm.invalid) \n {\n\n if (this.flightForm.get('paxLocator').invalid) {\n this.flightForm.setErrors({ ...this.flightForm.errors, 'paxLocator': true });\n\n // this.errorMsg.push('請選擇行程');\n }\n\n this.membersvc.closeLoginPop();\n\n return;\n }\n\n const inputResult = this.flightForm.get('paxLocator').value;\n\n if (inputResult) {\n const inputResultAry = inputResult.split('/');\n const flightData = this.memberFlightAry.find(x => x.paxLocator === inputResultAry[0] &&\n String(x.fltDepLclDate) === inputResultAry[1] &&\n x.fltNumber == inputResultAry[2]);\n\n this.membersvc.addFlightData(flightData);\n this.membersvc.changeFlightData();\n\n this.shoppingCartsvc.shoppingGet().subscribe(shoppingGetResult => {\n }, (error) => { });\n }\n\n window.location.href = \"/\" + this.languagesvc.nowLangNo\n\n // this.membersvc.closeLoginPop();\n }\n\n later(): void {\n this.membersvc.closeLoginPop();\n this.shoppingCartsvc.pcShoppingCartIsopen = false;\n }\n\n convertToDay(data: LoginResponseItineraryModel): string {\n let returnStr = '';\n const minToDay = 1440;\n const minToHr = 60;\n\n if (!data.isOpen && data.timeToClose === 0 && data.timeToOpen === 0) {\n returnStr = this.translateService.instant('FlightChoosebottomNonOpen');\n\n return returnStr;\n }\n\n if (data.isOpen) {\n returnStr = this.translateService.instant('FlightChooseLeftTime');\n\n if (data.timeToClose > minToDay) {\n returnStr = returnStr +\n Math.floor(data.timeToClose / minToDay).toString() +\n this.translateService.instant('FlightChooseDays') +\n this.translateService.instant('FlightChooseLeft');\n } else if (data.timeToClose > minToHr) {\n returnStr = returnStr +\n Math.ceil(data.timeToClose / minToHr).toString() +\n this.translateService.instant('FlightChooseHours') +\n this.translateService.instant('FlightChooseLeft');\n } else {\n returnStr = returnStr +\n data.timeToClose.toString() +\n this.translateService.instant('FlightChooseMinutes') +\n this.translateService.instant('FlightChooseLeft');\n }\n } else {\n if (data.timeToOpen > minToDay) {\n returnStr = returnStr +\n Math.floor(data.timeToOpen / minToDay).toString() +\n this.translateService.instant('FlightChooseDays') +\n this.translateService.instant('FlightChooseToOpen');\n } else if (data.timeToOpen > minToHr) {\n returnStr = returnStr + Math.ceil(data.timeToOpen / minToHr).toString() +\n this.translateService.instant('FlightChooseHours') +\n this.translateService.instant('FlightChooseToOpen');\n } else {\n returnStr = returnStr + data.timeToOpen.toString() +\n this.translateService.instant('FlightChooseMinutes') +\n this.translateService.instant('FlightChooseToOpen');\n }\n }\n\n return returnStr;\n }\n\n goOrderList(flightData?: LoginResponseItineraryModel): void {\n //console.log(flightData);\n this.membersvc.closeLoginPop();\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.PnrLogin ||\n this.baseDatasvc.memberData.loginType === MemberLoginType.DynastyMember) {\n this.route.navigate([this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.Order]]);\n } else {\n if (flightData) {\n const shoppingCarNo = flightData.paxLocator +\n flightData.loadDate +\n String(flightData.itineraryRefNumber) +\n String(flightData.paxRefNumber);\n //console.log(shoppingCarNo);\n this.route.navigate([this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.Order]], {\n queryParams: {\n ShoppingCartNo: shoppingCarNo,\n FltDate: String(this.datepipe.transform(flightData.fltDepLclDate, 'yyyyMMdd'))\n }\n });\n } else {\n this.route.navigate([this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.Order]]);\n }\n }\n }\n}\n","\n
\n

{{\"FlightChooseTitleWording\" | translate}}

\n

{{\"FlightChangeTitleWording\" | translate}}

\n
\n\n
{{\"FlightChooseContentWording\" | translate}}
\n
{{\"FlightChangeContentWording\" | translate}}
\n
0\">\n
\n {{item}}\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{\"FlightChooseTableHeader_TheTableHeader\" | translate}}{{\"FlightChooseTableHeader_Flight\" | translate}}{{\"FlightChooseTableHeader_Trip\" | translate}}{{\"FlightChooseTableHeader_DepartureTime\" | translate}}{{\"FlightChooseTableHeader_BookingDeadline\" | translate}}{{\"FlightChooseTableHeader_Action\" | translate}}
{{item.paxLocator}}{{item.fltNumber}}\n
\n
\n \n {{item.fltDepStationCode}}\n
\n
\n
\n \n {{item.fltArvStationCode}}\n
\n
\n
{{item.fltDepLclDate | date:'yyyy/MM/dd HH:mm'}}\n
{{this.convertToDay(item)}}
\n \n
\n \n\n \n
\n
\n
\n

{{\"FlightChoosebottomWording\" | translate}}

\n \n
\n
\n

{{\"LoginDynatyMemberBottomWordingTitle\" | translate}}

\n \n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n \n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n \n \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n
\n \n \n \n
\n
\n
\n","import { ContactUsService } from './../../../../service/contact-us.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { OrderListService } from 'src/app/service/order-list.service';\nimport { LanguageService } from './../../../../service/language.service';\nimport { AlertService } from 'src/app/shared/alert/alert.service';\nimport { ShoppingCartService } from 'src/app/service/shopping-cart.service';\nimport { DatePipe } from '@angular/common';\nimport { DfpLoginRequestModel } from './../../../../service/model/member/dfpLoginRequest.model';\nimport { TktLoginRequestModel } from './../../../../service/model/member/tktLoginRequest.mode';\nimport { PnrLoginRequestModel } from './../../../../service/model/member/pnrLoginRequest.model';\n//import { GetDfpMemberInfoRequestModel } from './../../../../service/model/member/getDfpMemberInfoRequest.model';\nimport { CheckDfpIDRequestModel } from './../../../../service/model/member/checkDfpIDRequest.model';\nimport { Component, OnInit, Input, AfterViewInit, ViewChild, ViewEncapsulation, OnDestroy } from '@angular/core';\nimport { GeneralPopModel, PopupService } from '../../../../shared/popup/popup.service';\nimport { MemberService } from '../../../../service/member.service';\nimport { MemberLoginType } from '../../../../core/enums/member/member-login-type.enum';\nimport { MemberPopupType } from '../../../../core/enums/member/member-popup-type.enum';\nimport { AbstractControl, FormControl, FormGroup, NgModel, Validators } from '@angular/forms';\nimport { ShoppingCarQueryModel } from 'src/app/service/model/shopping/shopping-car-query.model';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\nimport { Console } from 'console';\n\n//2022-02-22\ninterface PnrloginQueryModel {\n pnr?: string;\n paxlastname?: string;\n paxfirstname?: string;\n}\n\ndeclare function excuteTurnstileFfp(lang):any;\ndeclare function excuteTurnstileTkt(lang):any;\n\n@Component({\n selector: 'app-pc-member-login',\n templateUrl: './pc-member-login.component.html',\n styleUrls: ['./pc-member-login.component.css'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class PcMemberLoginComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() memberLoginType: MemberLoginType;\n \n private captchaData: string;\n private captchaDataTkt: string;\n //CaptchaCode: string;\n //captchaCodeTkt: string;\n memberLoginTypeEnum = MemberLoginType;\n pwshow = false;\n isPnr = false;\n isTicket = false;\n isMemberCard = false;\n pnrloginQueryData: PnrloginQueryModel; //2022-02-22\n tktCfInit = false;\n ffpCfInit = false;\n\n errorMsg: string[] = [];\n\n memberLogInForm = new FormGroup({\n DfpCardNumber: new FormControl('', [\n Validators.required\n //Validators.maxLength(9)\n ]),\n DfpPassword: new FormControl('', [\n Validators.required\n // Validators.minLength(5),\n // Validators.maxLength(20)\n ]),\n CaptchaCodeFfp: new FormControl('', [])\n //CaptchaCode: new FormControl('', [\n// Validators.required\n //Validators.minLength(4),\n //Validators.maxLength(4)\n // ])\n });\n\n ticketLoginInForm = new FormGroup({\n Number: new FormControl('', [\n Validators.required\n //Validators.minLength(6)\n // Validators.maxLength(13)\n ]),\n FirstName: new FormControl('', [\n Validators.required\n ]),\n LastName: new FormControl('', [\n Validators.required\n ]),\n CaptchaCodeTkt: new FormControl('', [])\n //CaptchaCodeTkt: new FormControl('', [\n// Validators.required\n //Validators.minLength(5),\n //Validators.maxLength(20)\n //])\n });\n\n constructor(\n public router: Router,\n public popupsvc: PopupService,\n public membersvc: MemberService,\n private datepipe: DatePipe,\n private shoppingCartsvc: ShoppingCartService,\n private alertsvc: AlertService,\n public languagesvc: LanguageService,\n private orderListsvc: OrderListService,\n private route: ActivatedRoute, //2022-02-22\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.onChanges();\n this.resetCaptcha();\n //let node = document.createElement('script');\n //node.src = \"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit\";//Change to your js file\n //node.type = 'text/javascript';\n //document.getElementsByTagName('head')[0].appendChild(node);\n console.log(this.languagesvc.nowLangNo);\n }\n \n resetCaptcha(): void {\n //this.membersvc.getCaptcha().subscribe(result => {\n //if (result.isOK) {\n// this.captchaData = \"data:image/png;base64,\"+ result.data;\n //this.captchaDataTkt = \"data:image/png;base64,\"+ result.data;\n //console.log(this.captchaData);\n //}\n //});\n }\n\n ngOnDestroy(): void {\n \n }\n\n ngAfterViewInit(): void {\n //this.resetCaptcha();\n let _lang = 'en';\n if (this.languagesvc != null && this.languagesvc.nowLangNo != '')\n {\n _lang = this.languagesvc.nowLangNo;\n }\n else\n {\n if (location.toString().toLowerCase().indexOf(\"/tw\") > -1){_lang = 'tw';} else{_lang = 'en';}\n }\n if (this.membersvc.memberLoginType == this.memberLoginTypeEnum.DynastyMember)\n {\n //console.log(\"ngAfterViewInit-->DynastyMember\")\n //console.log(this.ffpCfInit)\n if (!this.ffpCfInit){\n let cfscript = document.createElement('script');\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_ffp', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.ffpCfInit = true;\n }\n }\n if (this.membersvc.memberLoginType == this.memberLoginTypeEnum.TicketNumber)\n {\n //console.log(\"ngAfterViewInit-->TicketNumber\")\n //console.log(this.tktCfInit)\n if (!this.tktCfInit){\n let cfscript = document.createElement('script');\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_tkt', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.tktCfInit = true;\n }\n }\n \n }\n\n changeMemberToFfp():boolean {\n //this.resetCaptcha();\n //console.log(\"changeMemberToFfp-->DynastyMember\")\n //console.log(this.ffpCfInit)\n let _lang = 'en';\n if (this.languagesvc != null && this.languagesvc.nowLangNo != '')\n {\n _lang = this.languagesvc.nowLangNo;\n }\n else\n {\n if (location.toString().toLowerCase().indexOf(\"/tw\") > -1){_lang = 'tw';} else{_lang = 'en';}\n }\n if (!this.ffpCfInit){\n let cfscript = document.createElement('script');\n //cfscript.text = \"$('#cf-turnstile_ffp').html($('#cf-turnstile').html())\";\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_ffp', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.ffpCfInit = true;\n }else\n {\n //console.log(\"excuteTurnstileFfp\");\n excuteTurnstileFfp(_lang);\n this.ffpCfInit = true;\n }\n return true;\n }\n\n changeMemberToTkt():boolean {\n //this.resetCaptcha();\n //console.log(\"changeMemberToFfp-->TicketNumber\")\n //console.log(this.tktCfInit)\n let _lang = 'en';\n if (this.languagesvc != null && this.languagesvc.nowLangNo != '')\n {\n _lang = this.languagesvc.nowLangNo;\n }\n else\n {\n if (location.toString().toLowerCase().indexOf(\"/tw\") > -1){_lang = 'tw';} else{_lang = 'en';}\n }\n if (!this.tktCfInit){\n let cfscript = document.createElement('script');\n cfscript.text = \"turnstile.ready(function(){turnstile.render('#cf-turnstile_tkt', {language:'\" + _lang +\"',retry:'never',callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});});\";\n if (!this.ffpCfInit && !this.tktCfInit){\n //cfscript.text += \"function excuteTurnstileFfp(){turnstile.reset('#cf-turnstile_ffp');turnstile.execute('#cf-turnstile_ffp', {callback: function(token) {$('#CaptchaCodeFfp').val(token).change();}});}\"+\n //\"function excuteTurnstileTkt(){turnstile.reset('#cf-turnstile_tkt');turnstile.execute('#cf-turnstile_tkt', {callback: function(token) {$('#CaptchaCodeTkt').val(token).change();}});}\";\n }\n document.getElementsByTagName('head')[0].appendChild(cfscript);\n this.tktCfInit = true;\n }\n else\n {\n //console.log(\"excuteTurnstileTkt\");\n excuteTurnstileTkt(_lang);\n this.tktCfInit = true;\n }\n return true;\n }\n get DfpCardNumber(): AbstractControl { return this.memberLogInForm.get('DfpCardNumber'); }\n get DfpPassword(): AbstractControl { return this.memberLogInForm.get('DfpPassword'); }\n get CaptchaCodeFfp(): AbstractControl { return this.memberLogInForm.get('CaptchaCodeFfp'); }\n\n get Number(): AbstractControl { return this.ticketLoginInForm.get('Number'); }\n get FirstName(): AbstractControl { return this.ticketLoginInForm.get('FirstName'); }\n get LastName(): AbstractControl { return this.ticketLoginInForm.get('LastName'); }\n get CaptchaCodeTkt(): AbstractControl { return this.ticketLoginInForm.get('CaptchaCodeTkt'); }\n\n async memberFormSubmit(): Promise {\n this.errorMsg = [];\n let captchacode = $('#CaptchaCodeFfp').text();\n if (this.memberLogInForm.invalid) {\n if (this.memberLogInForm.get('DfpCardNumber').invalid) {\n this.memberLogInForm.setErrors({ ...this.memberLogInForm.errors, 'DfpCardNumber': true });\n }\n\n if (this.memberLogInForm.get('DfpPassword').invalid) {\n this.memberLogInForm.setErrors({ ...this.memberLogInForm.errors, 'DfpPassword': true });\n }\n\n //if (this.memberLogInForm.get('CaptchaCode').invalid) {\n// this.memberLogInForm.setErrors({ ...this.memberLogInForm.errors, 'CaptchaCode': true });\n //}\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyCardOrPwd'));\n\n return;\n }\n\n const condition: CheckDfpIDRequestModel = {\n DfpCardNumber: this.DfpCardNumber.value,\n DfpPassword: this.DfpPassword.value,\n CaptchaCode: captchacode//his.CaptchaCodeFfp.value\n };\n\n this.alertsvc.openLoading(true);\n if (!this.membersvc.isCheckDfpIDAndName) {\n // 3.1 一般登入\n (await this.membersvc.CheckDfpID(condition)).subscribe(result => {\n if (!result.isOK) {\n this.resetCaptcha();\n this.errorMsg.push(result.message);\n this.alertsvc.openLoading(false);\n return;\n }\n //2024-07-14登入完畢導到航班頁面在呼叫\n //this.memberLogin(condition.DfpCardNumber);\n this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n this.membersvc.openFlightPopCon(false);\n }, (error) => {\n this.resetCaptcha();\n this.alertsvc.openLoading(false);\n this.alertsvc.openAlert('ServerError', false);\n });\n } else {\n // 3.5 特殊登入\n (await this.membersvc.CheckDfpIDAndName(condition)).subscribe(result => {\n if (!result.isOK) {\n this.resetCaptcha();\n this.errorMsg.push(result.message);\n this.alertsvc.openLoading(false);\n return;\n }\n //2024-07-14登入完畢導到航班頁面在呼叫\n //this.memberLogin(condition.DfpCardNumber);\n this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n this.membersvc.openFlightPopCon(false);\n }, (error) => {\n this.resetCaptcha();\n this.alertsvc.openLoading(false);\n this.alertsvc.openAlert('ServerError', false);\n });\n }\n }\n\n async memberLogin(dfpCardNumber: string): Promise {\n const loginCondigion: DfpLoginRequestModel = {\n DfpCardNumber: dfpCardNumber\n };\n (await this.membersvc.DfpLogin(loginCondigion)).subscribe(loginResult => {\n this.alertsvc.openLoading(false);\n\n if (loginResult.isOK) {\n //console.log(loginResult.isOK);\n //console.log(!loginResult.data.itinerary );\n //console.log(loginResult.data.itinerary.length);\n if (!loginResult.data.itinerary || loginResult.data.itinerary.length === 0) {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n } else {\n \n //if (this.router.url.includes('/tw/member/')) {\n if (this.router.url.includes('/member/')) {\n this.membersvc.memberPageReload();\n }\n //if (this.router.url.includes('/tw/member/Order')) {\n if (this.router.url.includes('/member/Order')) {\n this.orderListsvc.orderPageReload();\n }\n\n this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n this.membersvc.openFlightPopCon(false);\n }\n } else {\n this.resetCaptcha();\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n this.popupsvc.open(this.membersvc.memberPopupId, true);\n }\n }, (error) => {\n this.resetCaptcha();\n this.alertsvc.openLoading(false);\n this.alertsvc.openAlert('Server Error', false);\n });\n }\n\n async ticketFormSubmit(): Promise {\n this.errorMsg = [];\n let captchacode = $('#CaptchaCodeTkt').text();\n //console.log(\"CaptchaCodeTkt: \" + $('#CaptchaCodeTkt').val());\n //console.log(\"CaptchaCodeTkt: \" + $('#CaptchaCodeTkt').text());\n //console.log(\"CaptchaCodeTkt: \" + $('#CaptchaCodeTkt').text());\n if (this.ticketLoginInForm.invalid) {\n if (this.ticketLoginInForm.get('Number').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'Number': true });\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyPnrOrTicketNumber'));\n }\n\n if (this.ticketLoginInForm.get('FirstName').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'FirstName': true });\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyLastName'));\n }\n\n if (this.ticketLoginInForm.get('LastName').invalid) {\n this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'LastName': true });\n // this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyLastName'));\n }\n //if (this.ticketLoginInForm.get('CaptchaCodeTkt').invalid) {\n// this.ticketLoginInForm.setErrors({ ...this.ticketLoginInForm.errors, 'CaptchaCodeTkt': true });\n //}\n return;\n }\n\n const ticketNumber: string = this.ticketLoginInForm.get('Number').value;\n\n ticketNumber.replace(' ', '');\n\n //console.log('this.ticketLoginInForm:' + JSON.stringify(this.ticketLoginInForm.value));\n\n if (ticketNumber.length === 6 || ticketNumber.length === 13) {\n if (ticketNumber.length === 6) {\n const condition: PnrLoginRequestModel = {\n PaxLocator: this.Number.value,\n PaxFirstName: this.FirstName.value,\n PaxLastName: this.LastName.value,\n CaptchaCode: captchacode//this.CaptchaCodeTkt.value\n };\n this.alertsvc.openLoading(true);\n\n (await this.membersvc.PnrLogin(condition)).subscribe(result => {\n this.alertsvc.openLoading(false);\n\n if (result.isOK) {\n // this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n if (result.data.itinerary !== null || result.data.itinerary.length > 0) {\n this.popupsvc.closeAll();\n\n const popData: GeneralPopModel = {\n content: this.translateService.instant('OtherMemberLoginAlertContent'),\n fightButtonText: this.translateService.instant('OtherMemberLoginAlertSelectFlighButton'),\n loginButtonText: this.translateService.instant('OtherMemberLoginAlertSelectMemberLogin')\n };\n\n this.popupsvc.openGeralPop(popData);\n // this.membersvc.openFlightPopCon(true);\n } else {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n }\n } else {\n this.resetCaptcha();\n this.errorMsg.push(result.message);\n }\n }, (error) => {\n this.resetCaptcha();\n this.errorMsg.push(error);\n this.alertsvc.openLoading(false);\n });\n }\n\n if (ticketNumber.length === 13) {\n if (this.containSpecial(ticketNumber)) {\n this.errorMsg.push(this.translateService.instant('MemberLoginToolTicketError'));\n return;\n }\n\n const condition: TktLoginRequestModel = {\n TicketNumber: this.Number.value,\n PaxFirstName: this.FirstName.value,\n PaxLastName: this.LastName.value,\n CaptchaCode: captchacode//this.CaptchaCodeTkt.value\n };\n \n this.alertsvc.openLoading(true);\n\n (await this.membersvc.TktLogin(condition)).subscribe(result => {\n this.alertsvc.openLoading(false);\n\n if (result.isOK) {\n // this.alertsvc.openAlert(this.translateService.instant('LogInSuccessfully'), true);\n const popData: GeneralPopModel = {\n content: this.translateService.instant('MemberLoginAlertContent'),\n confirmButtonText: this.translateService.instant('MemberLoginAlertCloseButton'),\n loginButtonText: this.translateService.instant('MemberLoginAlertLoginButton')\n };\n\n this.popupsvc.openGeralPop(popData);\n\n if (result.data.itinerary !== null || result.data.itinerary.length > 0) {\n this.popupsvc.closeAll();\n\n const popData: GeneralPopModel = {\n content: this.translateService.instant('OtherMemberLoginAlertContent'),\n fightButtonText: this.translateService.instant('OtherMemberLoginAlertSelectFlighButton'),\n loginButtonText: this.translateService.instant('OtherMemberLoginAlertSelectMemberLogin')\n };\n\n this.popupsvc.openGeralPop(popData);\n // this.membersvc.openFlightPopCon(true);\n } else {\n this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n }\n } else {\n this.resetCaptcha();\n this.errorMsg.push(result.message);\n // this.membersvc.memberPopupType = MemberPopupType.NOFlight;\n }\n }, (error) => {\n this.resetCaptcha();\n });\n }\n\n return;\n }\n\n this.errorMsg.push(this.translateService.instant('ErrorMessageEmptyPnrOrTicketNumber'));\n\n return;\n }\n\n passwordShowHide(): void {\n this.pwshow = !this.pwshow;\n }\n\n containSpecial(str: string) {\n var specialChars = \"~·`!!@#$¥%^…&*()()—-_=+[]{}【】、|\\\\;:;:'\\\"“‘,./<>《》??,。\";\n var len = specialChars.length;\n for (var i = 0; i < len; i++) {\n if (str.indexOf(specialChars.substring(i, i + 1)) != -1) {\n return true;\n }\n }\n return false;\n }\n\n onChanges(): void {\n //2022-02-22\n if (location.toString().toLowerCase().indexOf(\"?pnr=\") > -1) {\n this.route.queryParams.subscribe(params => {\n this.pnrloginQueryData = params as PnrloginQueryModel;\n if (this.pnrloginQueryData.pnr !== undefined && this.pnrloginQueryData.pnr.length === 6) {\n //alert(this.pnrloginQueryData.pnr);\n this.Number.setValue(this.pnrloginQueryData.pnr);\n this.isPnr = true;\n this.isTicket = false;\n }\n });\n }\n this.ticketLoginInForm.valueChanges.subscribe(val => {\n const ticketInputValue = val.Number;\n if (ticketInputValue.length === 6) {\n this.isPnr = true;\n this.isTicket = false;\n } else if (ticketInputValue.length === 13) {\n this.isPnr = false;\n this.isTicket = true;\n } else {\n this.isPnr = false;\n this.isTicket = false;\n }\n });\n\n this.memberLogInForm.valueChanges.subscribe(val => {\n if (val.DfpCardNumber.length > 6) {\n this.isMemberCard = true;\n } else {\n this.isMemberCard = false;\n }\n });\n }\n}","\n
\n

\n
\n
0\">\n
\n {{item | unescapeHtml}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n\n \n\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n

\n\n
\n

{{\"LoginResevation/E-ticketNumberChangeWording\" | translate}}

\n \n \n
\n\n
\n

{{\"LoginDynatyMemberBottomWordingTitle\" | translate}}

\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n\n\n
\n

\n
\n
0\">\n
\n {{item}}\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n\n \n\n \n

{{\"MemberLoginToolNotAMemberYet\" | translate}}{{\"MemberLoginToolSignUp\" | translate}}

\n
\n\n \n

{{\"MemberLoginToolNotAMemberYet\" | translate}}{{\"MemberLoginToolSignUp\" | translate}}

\n
\n\n
\n

{{\"LoginDynastyMemberChangeWording\" | translate}}

\n \n \n
\n\n
\n

{{\"LoginDynatyMemberBottomWordingTitle\" | translate}}

\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n \n \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n","import { AlertService } from './../../../shared/alert/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { MemberCenterType } from './../../../core/enums/member/member-center-type.enum';\nimport { LanguageService } from './../../../service/language.service';\nimport { Component, OnInit, Input, HostListener } from '@angular/core';\nimport { GeneralPopModel, PopupService } from '../../../shared/popup/popup.service';\nimport { MemberService } from '../../../service/member.service';\nimport { MemberPopupType } from '../../../core/enums/member/member-popup-type.enum';\nimport { MemberLoginType } from '../../../core/enums/member/member-login-type.enum';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-pc-member',\n templateUrl: './pc-member.component.html',\n styleUrls: ['./pc-member.component.css']\n})\nexport class PcMemberComponent implements OnInit {\r\n wasInside = false;\n\n @Input() isOpen: boolean;\n\n popupId = 'member-popup';\n\n memberPopupTypeEnum = MemberPopupType;\n\n memberLoginTypeEnum = MemberLoginType;\n\n memberLoginType: MemberLoginType;\n\n memberCenterTypeEnum = MemberCenterType;\n\n constructor(\n private route: Router,\n public popupsvc: PopupService,\n public membersvc: MemberService,\n public languagesvc: LanguageService,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService,\n private alertsvc: AlertService\n ) { }\n\n @HostListener('click')\n clickInside(): void {\r\n this.wasInside = true;\n }\n\n @HostListener('document:click')\n clickout(): void {\r\n if (!this.wasInside) {\r\n this.membersvc.openPcMemberTool(false);\n }\n\n this.wasInside = false;\n }\n\n ngOnInit(): void {\r\n if (this.membersvc.subsVar === undefined) {\n this.membersvc.subsVar = this.membersvc.memberToolOpenFunction.subscribe(() => {\r\n this.clickInside();\n });\n }\n }\n\n openLogin(memberLoginType: MemberLoginType): void {\n // this.popupsvc.open(this.membersvc.memberPopupId);\n this.membersvc.openLoginPopCon(memberLoginType);\n }\n\n logout(): void {\n this.membersvc.LogOut(false);\n this.membersvc.closeLoginPop();\n // this.route.navigate([ this.languagesvc.nowLangNo + '/']);\n window.location.href = \"/\" + this.languagesvc.nowLangNo;\n\n // this.alertsvc.openAlert(this.translateService.instant('LogOutSuccessfully'), true);\n }\n\n toWishList(): void {\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData) &&\n this.baseDatasvc.memberData.loginType !== MemberLoginType.PnrLogin &&\n this.baseDatasvc.memberData.loginType !== MemberLoginType.TicketNumber) {\n this.route.navigate([this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.WishList]], {\n queryParams: {\n type: MemberCenterType[MemberCenterType.WishList]\n }\n });\n return;\n } else {\n const popData: GeneralPopModel = {\n title: '',\n content: this.translateService.instant('MemberWishListMemberLoginWording'),\n confirmButtonText: this.translateService.instant('MemberLoginAlertCloseButton'),\n loginButtonText: this.translateService.instant('MemberLoginAlertLoginButton')\n };\n\n this.popupsvc.openGeralPop(popData);\n // this.popupsvc.open(this.popupsvc.wishListCheckId, true);\n }\n }\n}\n","
\n
\n\n
\n \n\n
\n
\n

\n {{this.baseDatasvc.memberData.userData.eName.split(\"/\")[0] + \"/**\"}}\n \n

\n

\n {{\"MemberDynastyMember\" | translate}} | {{this.baseDatasvc.memberData.userData.dfpCardNumber}}\n

\n
\n
\n \n
\n
\n\n
\n
\n

\n \n {{this.baseDatasvc.memberData.loginData.paxLastName + \"/\" + this.baseDatasvc.memberData.loginData.paxFirstName}}\n \n

\n \n {{\"MemberEmployeeNumber\" | translate}}\n |\n \n {{this.baseDatasvc.memberData.loginData ? this.baseDatasvc.memberData.loginData.dfpCardNumber : \"\"}}\n \n
\n
\n
\n\n
\n
\n

\n {{this.baseDatasvc.memberData.loginData.paxLastName + \"/\" + this.baseDatasvc.memberData.loginData.paxFirstName}}\n

\n \n {{\"MemberReservationNumber\" | translate}}\n |\n {{this.baseDatasvc.memberData.loginData.PaxLocator}}\n \n
\n
\n
\n\n
\n
\n

\n {{this.baseDatasvc.memberData.loginData.paxLastName + \"/\" + this.baseDatasvc.memberData.loginData.paxFirstName}}\n

\n \n {{\"MemberE-TicketNumber\" | translate}}\n |\n {{this.baseDatasvc.memberData.loginData.TicketNumber}}\n \n
\n
\n
\n\n \n\n
\n

\n \n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n

\n
\n
\n\n \n \n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n \n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n \n

\n
\n
{{\"MemberLoginToolOr\" | translate}}
\n
\n \n
\n
\n
\n
\n\n\n\n
\n
\n\n \n\n \n \n \n\n \n
\n

{{\"FlghtNoneTitleWording\" | translate}}

\n
\n\n
{{\"FlghtNoneContentWording\" | translate}}
\n\n
\n \n {{\"FlghtNoneGoBuyTicket\" | translate}}\n
\n
\n
\n
\n
\n","export enum MenuStep {\n step1,\n step2,\n step3,\n tool\n}\n","import { Component, OnInit, HostListener } from '@angular/core';\nimport { MenuService } from './menu.service';\nimport { MenuDataModel } from '../../service/model/menu/menu.model';\nimport { LayoutService } from './../layout.service';\ndeclare const jQuery: any;\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.css']\n})\nexport class MenuComponent implements OnInit {\n\n menuDataList: MenuDataModel[];\n isMobile = false;\n\n constructor(public layoutsvc: LayoutService, public menusvc: MenuService) { }\n\n ngOnInit(): void {\n\n if (window.innerWidth <= 991) {\n\n this.isMobile = true;\n } else {\n\n this.isMobile = false;\n }\n\n this.getData(this.layoutsvc.isMobile);\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event): void {\n\n if (this.layoutsvc.windowWidth <= 991 &&\n this.isMobile === false) {\n\n this.isMobile = true;\n this.getData(this.layoutsvc.isMobile);\n } else if (this.layoutsvc.windowWidth > 991 &&\n this.isMobile === true) {\n\n this.isMobile = false;\n this.getData(this.layoutsvc.isMobile);\n }\n }\n\n getData(isMobile: boolean): void {\n\n this.menusvc.getData(isMobile).subscribe(result => {\n\n if (this.layoutsvc.isMobile) {\n this.layoutsvc.headerHeight = $('header').height();\n }else{\n this.layoutsvc.headerHeight = $('header').height() + 55;\n }\n\n if (result.Success) {\n\n this.menuDataList = result.Data;\n } else {\n\n }\n },\n (error) => {\n\n });\n }\n}\n","\n\n\n\n\n","import { map } from 'rxjs/operators';\nimport { element } from 'protractor';\nimport { MenuType } from './../../core/enums/menu/menu-type.enum';\nimport { LanguageService } from './../../service/language.service';\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { MenuDataModel } from '../../service/model/menu/menu.model';\nimport { ResultModel } from '../../service/model/result-model';\n\nimport { MenuStep } from './menu-step.enum';\n\nimport { ApiConfig } from '../../config/api-config';\nimport { DatePipe } from '@angular/common';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { MemberLoginType } from './../../core/enums/member/member-login-type.enum';\n\nexport enum MenuIdType {\n Category,\n SubCategory,\n BranchCategory,\n ProductFeature\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MenuService {\n\n menuDataList: MenuDataModel[];\n pcMenuIsOpen = false;\n memberLoginTypeEnum = MemberLoginType;\n\n menuStep: MenuStep;\n menuType: MenuType;\n\n mobileMenuIsopen = false;\n\n mobilePopupIsShow = false;\n\n constructor(\n private http: HttpClient,\n private languagesvc: LanguageService,\n private datepipe: DatePipe,\n private baseDatasvc: BaseDataService\n ) { }\n\n getData(isMobile: boolean): Observable> {\n\n let nowDate = this.datepipe.transform(new Date(), 'yyyy/MM/dd').toString();\n let MemberCardType = this.baseDatasvc.memberData ? (this.baseDatasvc.memberData.loginType == this.memberLoginTypeEnum.DynastyMember ? this.baseDatasvc.memberData.userData.dfpCardType : \"\") : \"\";\n\n if (this.baseDatasvc.flightData && this.baseDatasvc.flightData.loadDate) {\n nowDate = this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd').toString();\n }\n let apiUrl = ApiConfig.APIDomain + ApiConfig.API.Menus +\n '?lngNo=' + this.languagesvc.nowLangNo +\n '&isMobile=' + (isMobile ? 'true' : 'false') +\n '&flightDate=' + nowDate + \n '&MemberCardType=' + MemberCardType;\n\n //console.log(apiUrl);\n\n return this.http.get>(apiUrl).pipe(map(result => {\n return result;\n }));\n }\n\n openMobileMenu(step?: MenuStep): void {\n document.getElementsByTagName('body')[0].classList.add('overflowHidden');\n document.getElementsByTagName('html')[0].classList.add('overflowHidden');\n this.menuStep = step !== undefined ? step : MenuStep.step1;\n this.mobileMenuIsopen = true;\n }\n\n closeMobileMenu(): void {\n document.getElementsByTagName('body')[0].classList.remove('overflowHidden');\n document.getElementsByTagName('html')[0].classList.remove('overflowHidden');\n this.menuStep = MenuStep.step1;\n this.mobileMenuIsopen = false;\n }\n\n closePcMenu(): void {\n\n jQuery('.sky-navbar-con-box').removeClass('show');\n jQuery('.sky-cover-bg').height(0);\n jQuery('.sky-navbar-bg').height(0);\n }\n\n getCategoryName(menuDataAry: MenuDataModel[], id: string, menuIdType: MenuIdType): string {\n\n let resultName = '';\n\n switch (menuIdType) {\n\n case MenuIdType.Category: {\n\n resultName = menuDataAry.find(x => x.Id === Number(id)).CategoryName;\n\n break;\n }\n case MenuIdType.SubCategory: {\n\n menuDataAry.forEach(categoryEl => {\n\n categoryEl.SubCategories.forEach(subCategoryEl => {\n\n if (subCategoryEl.Id === Number(id)) {\n\n resultName = subCategoryEl.SubCategoryName;\n }\n });\n });\n\n break;\n }\n case MenuIdType.BranchCategory: {\n\n menuDataAry.forEach(categoryEl => {\n\n categoryEl.SubCategories.forEach(subCategoryEl => {\n\n subCategoryEl.BranchCategories.forEach(branchCategoryEl => {\n\n if (branchCategoryEl.Id === Number(id)) {\n\n resultName = branchCategoryEl.BranchCategoryName;\n }\n });\n });\n });\n break;\n }\n case MenuIdType.ProductFeature: {\n\n menuDataAry.forEach(categoryEl => {\n\n categoryEl.ProductFeature.forEach(productFeatureEl => {\n\n if (productFeatureEl.Id === Number(id)) {\n\n resultName = productFeatureEl.ProductFeatureName;\n }\n });\n });\n break;\n }\n\n default:\n break;\n }\n\n return resultName;\n }\n}\n","import { BaseDataService } from 'src/app/service/base-data.service';\nimport { MemberLoginType } from './../../../core/enums/member/member-login-type.enum';\nimport { CategoryType } from './../../../core/enums/server/category-type.enum';\nimport { AlertService } from './../../../shared/alert/alert.service';\nimport { MemberCenterType } from './../../../core/enums/member/member-center-type.enum';\nimport { MenuType } from './../../../core/enums/menu/menu-type.enum';\nimport { LanguageService } from './../../../service/language.service';\nimport { LayoutService } from './../../layout.service';\nimport { Component, OnInit, Input, ElementRef, HostListener } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { trigger, transition, animate, style, state } from '@angular/animations';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MenuService } from '../../../layout/menu/menu.service';\n\nimport { MenuStep } from '../menu-step.enum';\nimport { MenuDataModel, SubCategory } from '../../../service/model/menu/menu.model';\nimport { MemberService } from '../../../service/member.service';\nimport { LanguageModel } from 'src/app/service/model/language/language.model';\nimport { CheckEmpIDRequestModel } from 'src/app/service/model/member/check-empID-request.model';\n\n@Component({\n selector: 'app-mobile-menu',\n templateUrl: './mobile-menu.component.html',\n styleUrls: ['./mobile-menu.component.css'],\n animations: [\n trigger('slideInOut', [\n state('open', style({\n transform: 'translateX(0%)'\n })),\n state('closed', style({\n transform: 'translateX(100%)'\n })),\n transition('closed => open', [\n animate('0.3s linear')\n ]),\n transition('open => closed', [\n animate('0.3s linear')\n ])\n ])\n ]\n})\n\nexport class MobileMenuComponent implements OnInit {\n\n private element: any;\n windowHeight: number;\n menuStepEnum = MenuStep;\n\n isRoot = true;\n\n @Input() menuDataList: MenuDataModel[];\n\n menuData: MenuDataModel;\n menuCategoryData: MenuDataModel;\n menuTypeEnum = MenuType;\n menuType: MenuType;\n memberCenterTypeEnum = MemberCenterType;\n languageAry: LanguageModel[] = [];\n nowLanguageName = '';\n categoryTypeEnum = CategoryType;\n loginTypeEnum = MemberLoginType;\n\n constructor(\n private route: Router,\n public layoutsvc: LayoutService,\n public menusvc: MenuService,\n public membersvc: MemberService,\n public languagesvc: LanguageService,\n private el: ElementRef,\n private alertsvc: AlertService,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService,\n ) {\n\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n\n document.getElementById('mobile_menu').appendChild(this.element);\n\n this.windowHeight = window.outerHeight;\n\n this.getLanguageData();\n //console.log(this.baseDatasvc.memberData.loginType);\n //console.log(this.loginTypeEnum.DynastyMember);\n\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event): void {\n\n this.windowHeight = window.innerHeight;\n }\n\n changePage(step: MenuStep, id: number, menuType: MenuType): void {\n this.menusvc.menuType = menuType;\n this.menusvc.menuStep = step;\n\n switch (step) {\n case (MenuStep.step2): {\n if (id !== null) {\n this.menuData = this.menuDataList.find(x => x.Id === id);\n }\n break;\n }\n case (MenuStep.step3): {\n if (id !== null) {\n this.menuCategoryData = this.menuData.MobileCategories.find(x => x.Id === id);\n }\n break;\n }\n }\n\n if (menuType === MenuType.Member) {\n this.membersvc.memberLoginType = null;\n }\n }\n backPage(nowStep: MenuStep): void {\n\n switch (nowStep) {\n case (MenuStep.step2): {\n this.menusvc.menuStep = MenuStep.step1;\n break;\n }\n\n case (MenuStep.step3): {\n this.menusvc.menuStep = MenuStep.step2;\n break;\n }\n\n default: {\n this.menusvc.menuStep = MenuStep.step1;\n }\n }\n }\n closeMenuEvent($event): void {\n this.menusvc.closeMobileMenu();\n }\n logOut(): void {\n this.membersvc.LogOut(false);\n this.menusvc.closeMobileMenu();\n // this.route.navigate([ this.languagesvc.nowLangNo + '/']);\n window.location.href = \"/\" + this.languagesvc.nowLangNo;\n\n // this.alertsvc.openAlert(this.translateService.instant('LogOutSuccessfully'), true);\n }\n getLanguageData(): void {\n this.languagesvc.getData().subscribe(result => {\n if (result.Success) {\n this.languageAry = result.Data;\n\n this.nowLanguageName = this.languageAry.find(x => x.LanguageNo === this.languagesvc.nowLangNo).LanguageName;\n }\n },\n (error) => {\n\n });\n }\n empLogin(): void {\n\n this.alertsvc.openLoading(true);\n\n const condition: CheckEmpIDRequestModel = {};\n\n this.membersvc.CheckEmpID(condition).subscribe(result => {\n if (result.isOK) \n {\n var validateUrl = new RegExp(/^((((https?):\\/\\/))(%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:|:blank:]])?$/);\n var url = result.data.URL;\n if (url.match(validateUrl)) \n {\n window.location.href = url;\n } else {\n \n }\n }\n });\n }\n\n toWishList(): void {\n\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.DynastyMember) {\n\n this.route.navigate([ this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.WishList]]);\n\n return;\n }\n }\n\n this.menusvc.closeMobileMenu();\n }\n}\n","
\n\n
\n
\n
\n \n
\n \n
\n
\n \n \"\"\n \n
\n
\n
\n
\n
\n\n \n\n
\n \n \n \n \n
\n
\n
\n

{{this.menuData.CategoryName}}

\n
\n
\n \n
\n
\n \n \n \n
\n\n \n
\n
\n
\n \n

{{this.menuData.CategoryName}}

\n
\n
\n \n
\n
\n\n \n
\n
\n
\n

{{this.menuData.CategoryName}}

\n
\n
\n \n
\n
\n\n \n
\n
\n
\n

{{\"MenuBrandCollection\" | translate}}

\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n output2\n
\n
\n\n \n\n \n
\n","import { element } from 'protractor';\nimport { Banner } from './../../../../service/model/menu/menu.model';\nimport { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-pc-menu-banner',\n templateUrl: './pc-menu-banner.component.html',\n styleUrls: ['./pc-menu-banner.component.css']\n})\nexport class PcMenuBannerComponent implements OnInit {\n\n bannerOptions: any;\n pager = '';\n\n @Input() bannerAry: Banner[] = [];\n constructor() { }\n\n ngOnInit(): void {\n\n this.bannerOptions = { // 設定 Owl Carousel Options\n items: 1,\n dots: true,\n nav: true,\n loop: true,\n autoHeight: true,\n autoplay: true,\n autoplayTimeout: 5000,\n autoplayHoverPause: true,\n navText: [\n '',\n ''\n ],\n onDragged : this.pageChange,\n onChanged : this.pageChange\n };\n\n this.pager = '01/' + '0' + this.bannerAry.length.toString();\n }\n\n pageChange(event): void {\n\n this.pager = `0` + (event.item.index + 1).toString() + `/0` + event.item.count + ``;\n\n const parentNode = event.target.closest('.sky-navbar-img');\n\n const pagerTitle = parentNode.getElementsByClassName('float-right');\n\n const dotNode = parentNode.getElementsByClassName('owl-dot');\n\n this.pager = `01` + `/0` + event.item.count + ``;\n\n for (let index = 0; index < dotNode.length; index++) {\n\n const element = dotNode[index];\n\n if (element.classList.contains('active')) {\n\n this.pager = `0` + (index + 1).toString() + `/0` + event.item.count + ``;\n }\n }\n\n pagerTitle[0].innerHTML = this.pager;\n }\n\n}\n","
\n

{{this.pager}}

\n
\n\n \n\n \n
\n","import { LanguageService } from './../../../../service/language.service';\nimport { Component, OnInit, AfterViewInit, Input, ViewChild } from '@angular/core';\nimport { BrandDataModel } from '../../../../service/model/brand/brand.model';\nimport { NgModel } from '@angular/forms';\n\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'app-pc-menu-brand-search',\n templateUrl: './pc-menu-brand-search.component.html',\n styleUrls: ['./pc-menu-brand-search.component.css']\n})\nexport class PcMenuBrandSearchComponent implements OnInit, AfterViewInit {\n\n public keyword = '';\n\n @ViewChild('tKeyword') tKeyword: NgModel;\n\n @Input() public brandsDataAry: BrandDataModel[];\n\n public brandsData: BrandDataModel[];\n\n constructor(\n public languagesvc: LanguageService\n ) { }\n\n ngOnInit(): void {\n this.brandsData = this.brandsDataAry;\n }\n\n ngAfterViewInit(): void {\n\n this.tKeyword.valueChanges\n .pipe(\n debounceTime(500)\n )\n .subscribe(k => {\n\n const kw: string = k;\n\n this.brandsData = this.brandsDataAry;\n\n if (kw.length > 0) {\n\n this.brandsData = this.brandsData.filter(x => {\n\n return x.BrandName.includes(k);\n });\n }\n });\n }\n}\n","\n
\n \n
\n","import { SearchService } from 'src/app/layout/search/search.service';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { MemberService } from './../../../service/member.service';\nimport { ShoppingCartService } from 'src/app/service/shopping-cart.service';\nimport { LanguageService } from './../../../service/language.service';\nimport { ProductFeatureModel } from './../../../service/model/product-feature/product-feature.model';\nimport { ProductFeatureConditionModel } from './../../../service/model/product-feature/product-feature-condition.model';\nimport { ProductFeatureService } from './../../../service/product-feature.service';\nimport { LayoutService } from './../../layout.service';\nimport { Component, OnInit, Input, HostListener } from '@angular/core';\nimport { CategoryType } from '../../../core/enums/server/category-type.enum';\nimport { MenuDataModel } from '../../../service/model/menu/menu.model';\nimport { BrandService } from './../../../service/brand.service';\nimport { MenuService } from '../../../layout/menu/menu.service';\nimport { MemberLoginType } from 'src/app/core/enums/member/member-login-type.enum';\ndeclare const jQuery: any;\n\n@Component({\n selector: 'app-pc-menu',\n templateUrl: './pc-menu.component.html',\n styleUrls: ['./pc-menu.component.css']\n})\nexport class PcMenuComponent implements OnInit {\n\n wasInside = false;\n\n @Input() menuDataList: MenuDataModel[];\n\n categoryType = CategoryType;\n menuMaxHeight = 490;\n menuMinHeight = 490;\n productFeatureAry: ProductFeatureModel[] = [];\n loginTypeEnum = MemberLoginType;\n\n rightBannerOptions: any;\n\n constructor(\n private menusvc: MenuService,\n public layoutsvc: LayoutService,\n public brandsvc: BrandService,\n public languagesvc: LanguageService,\n private shoppingCartsvc: ShoppingCartService,\n public membersvc: MemberService,\n public baseDatasvc: BaseDataService,\n private searchsvc: SearchService\n ) { }\n\n ngOnInit(): void {\n\n this.rightBannerOptions = { // 設定 Owl Carousel Options\n items: 1,\n dots: false,\n nav: true,\n loop: true,\n autoHeight: true,\n navText: [\n '',\n ''\n ],\n };\n }\n\n @HostListener('click')\n clickInside(): void {\n\n this.wasInside = true;\n }\n\n @HostListener('document:click')\n clickout(): void {\n\n if (!this.wasInside) {\n\n this.menusvc.closePcMenu();\n }\n\n this.wasInside = false;\n }\n\n menu(isOpen: boolean): void {\n if (isOpen) {\n const coverBgY = 55;\n const menuMarginTop = jQuery('.sky-navbar').offset().top;\n const coverBgHeight = this.layoutsvc.windowHeight;\n const bodyHeight = jQuery('body').height();\n jQuery('.sky-cover-bg').height(bodyHeight);\n this.layoutsvc.headerToolIsOpen = true;\n } else {\n jQuery('.sky-navbar-con-box').removeClass('show');\n jQuery('.sky-cover-bg').height(0);\n jQuery('.sky-navbar-bg').height(0);\n this.layoutsvc.headerToolIsOpen = false;\n }\n }\n\n openMenu(el): void {\n jQuery('.sky-navbar-con-box').removeClass('show');\n const maxHeight = 436;\n const minHeight = 436;\n const subMenu = el;\n const subMenuCon = el.find('.sub-container');\n subMenu.addClass('show');\n // subMenuCon.hasClass('short-con') ? minHeight : maxHeight\n jQuery('.sky-navbar-bg').height(maxHeight);\n jQuery('.sky-cover-bg').addClass('show');\n this.menu(true);\n }\n\n closeMenu(): void {\n this.menu(false);\n const subMenu = jQuery('.sky-navbar-con-box');\n subMenu.removeClass('show');\n jQuery('.sky-cover-bg').removeClass('show');\n }\n\n clickMenu($event): void {\n const subMenu = jQuery($event.target).parent('li').find('.sky-navbar-con-box');\n\n if (subMenu.hasClass('show')) {\n subMenu.removeClass('show');\n jQuery('.sky-cover-bg').removeClass('show');\n } else {\n this.openMenu(subMenu);\n }\n }\n}\n","
\n \n
\n
\n","import { ProductService } from './../../../service/product.service';\nimport { ProductPriceType } from './../../../core/enums/product/product-price-type.enum';\nimport { Router } from '@angular/router';\nimport { LayoutService } from './../../layout.service';\nimport { Component, OnInit, Input, ElementRef, HostListener, ViewChild, AfterViewInit } from '@angular/core';\nimport { trigger, transition, animate, style, state } from '@angular/animations';\n\nimport { SearchStepEnum } from './../search-step-enum.enum';\nimport { SearchService } from '../search.service';\nimport { BrandDataModel } from 'src/app/service/model/brand/brand.model';\nimport { NgModel } from '@angular/forms';\nimport { ProductFeatureModel } from 'src/app/service/model/product-feature/product-feature.model';\nimport { MenuDataModel } from 'src/app/service/model/menu/menu.model';\nimport { LanguageService } from 'src/app/service/language.service';\nimport { ProductFeatureService } from 'src/app/service/product-feature.service';\nimport { MenuService } from '../../menu/menu.service';\nimport { ProductFeatureConditionModel } from 'src/app/service/model/product-feature/product-feature-condition.model';\nimport { CategoryType } from 'src/app/core/enums/server/category-type.enum';\nimport { debounceTime } from 'rxjs/operators';\nimport { ProductModel } from 'src/app/service/model/product/product.model';\nimport { ProductConditionModel } from 'src/app/service/model/product/product-condition.model';\nimport { ProductType } from 'src/app/core/enums/product/product-type.enum';\n\nexport enum searchValueTypeEnum {\n Categorie,\n SubCategorie,\n BranchCategorie,\n ProductFeature,\n Brand,\n priceType\n}\n\n@Component({\n selector: 'app-mobile-search',\n templateUrl: './mobile-search.component.html',\n styleUrls: ['./mobile-search.component.css'],\n animations: [\n trigger('slideInOut', [\n state('open', style({\n transform: 'translateX(0%)'\n })),\n state('closed', style({\n transform: 'translateX(100%)'\n })),\n transition('closed => open', [\n animate('0.3s linear')\n ]),\n transition('open => closed', [\n animate('0.3s linear')\n ])\n ])\n ]\n})\nexport class MobileSearchComponent implements OnInit, AfterViewInit {\n\n private element: any;\n windowHeight: number;\n searchStepEnum = SearchStepEnum;\n @Input() brandDataAry: BrandDataModel[] = [];\n\n keyword = '';\n @ViewChild('tKey') tKey: NgModel;\n\n productKey = '';\n @ViewChild('tproductKey') tproductKey: NgModel;\n\n productFeatureAry: ProductFeatureModel[] = [];\n searchValueType = searchValueTypeEnum;\n brandsData: BrandDataModel[];\n CategorieAry: MenuDataModel[];\n\n categorieIds: number[] = [];\n subCategorieIds: number[] = [];\n branchCategorieIds: number[] = [];\n brandIds: number[] = [];\n productFeatureIds: number[] = [];\n priceTypes: number[] = [];\n\n searchResultData: ProductModel[] = [];\n\n searchConIsOpen = false;\n\n productPriceTypeEnum = ProductPriceType;\n\n constructor(\n private route: Router,\n public layoutsvc: LayoutService,\n private el: ElementRef,\n public searchsvc: SearchService,\n public languagesvc: LanguageService,\n private productFeaturesvc: ProductFeatureService,\n private menusvc: MenuService,\n private productsevc: ProductService\n ) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n\n document.getElementById('mobile_search').appendChild(this.element);\n\n this.windowHeight = window.outerHeight;\n\n window.addEventListener('resize', () => {\n\n this.windowHeight = window.outerHeight;\n });\n\n this.getProductFeature();\n this.getCatalogList();\n }\n ngAfterViewInit(): void {\n\n this.tproductKey.valueChanges.pipe(debounceTime(500)).subscribe(keyword => {\n\n // this.keyword = '';\n\n if (keyword.length > 0) {\n\n this.productKey = keyword;\n this.productSearch(keyword);\n }\n });\n }\n\n productSearch(key: string): void {\n\n this.searchConIsOpen = false;\n\n const condition: ProductConditionModel = {\n PageNumber: 1,\n PageSize: 5\n };\n\n if (this.checkProductNoVal(key)) {\n\n condition.ProductNo = key;\n }else{\n\n condition.KeyWord = key;\n }\n\n // condition.ProductTypes = [ProductType.General];\n\n this.productsevc.getProduct(condition).subscribe(result => {\n this.searchResultData = [];\n\n if (result.Success) {\n\n if (result.Data.AllDataCount > 0 && key.length > 0) {\n this.searchConIsOpen = true;\n }\n\n this.searchResultData = result.Data.Datas;\n }\n });\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event): void {\n\n this.windowHeight = window.innerHeight;\n }\n\n changePage(searchStep: SearchStepEnum): void {\n this.searchsvc.searchStep = searchStep;\n }\n backPage(searchStep: SearchStepEnum): void {\n switch (searchStep) {\n case (this.searchStepEnum.Step2): {\n this.searchsvc.searchStep = this.searchStepEnum.Step1;\n break;\n }\n case (this.searchStepEnum.Step3): {\n this.searchsvc.searchStep = this.searchStepEnum.Step2;\n break;\n }\n default: {\n this.searchsvc.searchStep = this.searchStepEnum.Step1;\n }\n }\n }\n closeSearch(): void {\n\n this.searchConIsOpen = false;\n }\n getProductFeature(): void {\n\n const condition: ProductFeatureConditionModel = { PageSize: 1000 };\n\n this.productFeaturesvc.getData(condition).subscribe(result => {\n\n if (result !== undefined && result.Data.Datas !== undefined) {\n\n this.productFeatureAry = result.Data.Datas;\n }\n },\n (error) => {\n\n });\n }\n getCatalogList(): void {\n\n this.menusvc.getData(false).subscribe(result => {\n if (result.Success) {\n this.CategorieAry = result.Data.filter(x => x.CategoryType === CategoryType.Type1);\n }\n }, (error) => { });\n }\n valueChange($event, valueType: searchValueTypeEnum, valueId: number): void {\n\n const checkStatus: boolean = $event.target.checked;\n\n switch (valueType) {\n\n case searchValueTypeEnum.Categorie: {\n\n const parentnode = $event.target.closest('.primary_category');\n const subinputnodes = Array.prototype.slice.call(parentnode.getElementsByClassName('subcategories')[0].getElementsByClassName('subcategoriesCheckbox'));\n\n if (checkStatus === true) {\n\n this.categorieIds.push(valueId);\n } else {\n\n this.categorieIds = this.categorieIds.filter(id => id !== valueId);\n subinputnodes.forEach(element => {\n\n const subValueId = Number(element.getAttribute('data-valueId'));\n\n element.checked = false;\n this.subCategorieIds = this.subCategorieIds.filter(id => id !== subValueId);\n });\n }\n\n\n break;\n }\n\n case searchValueTypeEnum.SubCategorie: {\n\n if (checkStatus === true) {\n\n this.subCategorieIds.push(valueId);\n } else {\n\n this.subCategorieIds = this.subCategorieIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.BranchCategorie: {\n\n if (checkStatus === true) {\n\n this.branchCategorieIds.push(valueId);\n } else {\n\n this.branchCategorieIds = this.branchCategorieIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.Brand: {\n\n if (checkStatus === true) {\n\n this.brandIds.push(valueId);\n } else {\n\n this.brandIds = this.brandIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.ProductFeature: {\n\n if (checkStatus === true) {\n\n this.productFeatureIds.push(valueId);\n } else {\n\n this.productFeatureIds = this.productFeatureIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.priceType: {\n\n if (checkStatus === true) {\n\n this.priceTypes.push(valueId);\n } else {\n\n this.priceTypes = this.priceTypes.filter(id => id !== valueId);\n }\n break;\n }\n\n default: {\n break;\n }\n }\n\n }\n search(): void {\n this.searchsvc.closeMobileSearch();\n this.route.navigate([ this.languagesvc.nowLangNo + '/searchResult'],\n { queryParams: {\n keyword: this.productKey,\n categorieIds: this.categorieIds.toString(),\n subCategorieIds: this.subCategorieIds.toString(),\n brandIds: this.brandIds.toString(),\n productFeatureIds: this.productFeatureIds.toString(),\n priceTypes: this.priceTypes.toString()\n } });\n }\n cancelSearch(): void {\n this.categorieIds = [];\n this.subCategorieIds = [];\n this.branchCategorieIds = [];\n this.brandIds = [];\n this.productFeatureIds = [];\n this.priceTypes = [];\n\n const searchContainer = document.getElementsByClassName('sky-search-item-mb')[0];\n\n const checkboxs = Array.prototype.slice.call(document.getElementsByClassName('search_check_box'));\n\n checkboxs.forEach(element => {\n\n element.checked = false;\n });\n\n const filterItems = Array.prototype.slice.call(document.getElementsByClassName('filterItem'));\n\n filterItems.forEach(element => {\n\n element.setAttribute('aria-expanded', false);\n element.classList.remove('collapsed');\n element.classList.add('collapsed');\n });\n\n const collapses = Array.prototype.slice.call(document.getElementsByClassName('collapse'));\n\n collapses.forEach(element => {\n\n element.classList.remove('show');\n });\n }\n checkProductNoVal(str: string): boolean {\n\n const regExp = /^[a-zA-Z]{2}\\d{4}$/;\n\n if (regExp.test(str)) {\n\n return true;\n }\n\n return false;\n }\n}\n","
\n
\n
\n
\n
\n \n \n \n \n {{\"MobileAdvancedSearch\" | translate}}\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n

{{\"SearchFilterCategory\" | translate}}

\n
\n
\n\n
\n \n \n
\n
\n

{{\"SearchFilterCategory\" | translate}}

\n
\n
\n \n
\n
\n

{{\"SearchFilterFeatures\" | translate}}

\n
\n
\n \n
\n
\n

{{\"SearchFilterPrice\" | translate}}

\n
\n
\n \n
\n
\n\n
\n \n \n \n
\n\n \n\n
\n \n \n
\n
\n\n
\n","import { ProductPriceType, ProductPriceTypeDisplay } from './../../../core/enums/product/product-price-type.enum';\nimport { ProductService } from './../../../service/product.service';\nimport { LanguageService } from './../../../service/language.service';\nimport { ProductFeature, ProductModel } from './../../../service/model/product/product.model';\nimport { MenuService } from './../../menu/menu.service';\nimport { ProductFeatureModel } from './../../../service/model/product-feature/product-feature.model';\nimport { Component, OnInit, AfterViewInit, Input, ViewChild, HostListener } from '@angular/core';\nimport { debounceTime } from 'rxjs/operators';\nimport { NgModel } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { SearchService } from '../search.service';\nimport { BrandDataModel } from 'src/app/service/model/brand/brand.model';\nimport { ProductFeatureService } from 'src/app/service/product-feature.service';\nimport { ProductFeatureConditionModel } from 'src/app/service/model/product-feature/product-feature-condition.model';\nimport { MenuDataModel } from 'src/app/service/model/menu/menu.model';\nimport { CategoryType } from 'src/app/core/enums/server/category-type.enum';\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { ProductConditionModel } from 'src/app/service/model/product/product-condition.model';\nimport { ProductType } from 'src/app/core/enums/product/product-type.enum';\n\nexport enum searchValueTypeEnum {\n Categorie,\n SubCategorie,\n BranchCategorie,\n ProductFeature,\n Brand,\n priceType\n}\n\n@Component({\n selector: 'app-pc-search',\n templateUrl: './pc-search.component.html',\n styleUrls: ['./pc-search.component.css']\n})\nexport class PcSearchComponent implements OnInit, AfterViewInit {\n\n wasInside = false;\n\n keyword = '';\n @ViewChild('tKey') tKey: NgModel;\n\n productKey = '';\n @ViewChild('tproductKey') tproductKey: NgModel;\n\n @Input() brandDataAry: BrandDataModel[] = [];\n productFeatureAry: ProductFeatureModel[] = [];\n searchValueType = searchValueTypeEnum;\n brandsData: BrandDataModel[];\n CategorieAry: MenuDataModel[];\n\n categorieIds: number[] = [];\n subCategorieIds: number[] = [];\n branchCategorieIds: number[] = [];\n brandIds: number[] = [];\n productFeatureIds: number[] = [];\n priceTypes: number[] = [];\n\n searchResultData: ProductModel[] = [];\n\n searchConIsOpen = false;\n\n productPriceTypeEnum = ProductPriceType;\n\n constructor(\n private route: Router,\n public searchsvc: SearchService,\n public languagesvc: LanguageService,\n private productFeaturesvc: ProductFeatureService,\n private menusvc: MenuService,\n private productsevc: ProductService\n ) { }\n\n ngOnInit(): void {\n\n this.searchsvc.openPcSearchMethod.subscribe(() => {\n this.clickInside();\n });\n\n this.getProductFeature();\n this.getCatalogList();\n }\n\n @HostListener('click')\n clickInside(): void {\n\n this.wasInside = true;\n }\n\n @HostListener('document:click')\n clickout(): void {\n\n if (this.searchsvc.pcSearchIsopen) {\n\n if (!this.wasInside) {\n\n this.closeSearch();\n }\n\n this.wasInside = false;\n }\n }\n\n ngAfterViewInit(): void {\n\n this.tKey.valueChanges\n .pipe(\n debounceTime(500)\n )\n .subscribe(k => {\n\n this.brandsData = this.brandDataAry;\n\n const kw: string = k;\n\n if (kw.length > 0) {\n\n this.brandsData = this.brandDataAry.filter(x => {\n\n return x.BrandName.toLowerCase().includes(k.toLowerCase());\n });\n }\n });\n\n this.tproductKey.valueChanges.pipe(debounceTime(500)).subscribe(keyword => {\n\n // this.keyword = '';\n\n if (keyword.length > 0) {\n\n this.productKey = keyword;\n this.productSearch(keyword);\n }\n });\n }\n\n productSearch(key: string): void {\n\n this.searchConIsOpen = false;\n\n const condition: ProductConditionModel = {\n PageNumber: 1,\n PageSize: 5\n };\n\n if (this.checkProductNoVal(key)) {\n\n condition.ProductNo = key;\n }else{\n\n condition.KeyWord = key;\n }\n\n // condition.ProductTypes = [ProductType.General];\n\n this.productsevc.getProduct(condition).subscribe(result => {\n this.searchResultData = [];\n\n if (result.Success) {\n\n if (result.Data.AllDataCount > 0 && key.length > 0) {\n this.searchConIsOpen = true;\n }\n\n this.searchResultData = result.Data.Datas;\n }\n });\n }\n\n closeSearch(): void {\n\n this.searchsvc.pcSearchIsopen = false;\n }\n\n getProductFeature(): void {\n\n const condition: ProductFeatureConditionModel = { PageSize: 1000 };\n\n this.productFeaturesvc.getData(condition).subscribe(result => {\n\n if (result !== undefined && result.Data.Datas !== undefined) {\n\n this.productFeatureAry = result.Data.Datas;\n }\n },\n (error) => {\n\n });\n }\n getCatalogList(): void {\n\n this.menusvc.getData(false).subscribe(result => {\n\n if (result.Success) {\n\n this.CategorieAry = result.Data.filter(x => x.CategoryType === CategoryType.Type1);\n }\n }, (error) => { });\n }\n valueChange($event, valueType: searchValueTypeEnum, valueId: number): void {\n\n const checkStatus: boolean = $event.target.checked;\n\n switch (valueType) {\n\n case searchValueTypeEnum.Categorie: {\n\n const parentnode = $event.target.closest('.sky-item');\n const subinputnodes = Array.prototype.slice.call(parentnode.getElementsByClassName('subcategories')[0].getElementsByClassName('subcategoriesCheckbox'));\n\n if (checkStatus === true) {\n\n this.categorieIds.push(valueId);\n } else {\n\n this.categorieIds = this.categorieIds.filter(id => id !== valueId);\n subinputnodes.forEach(element => {\n\n const subValueId = Number(element.getAttribute('data-valueId'));\n\n element.checked = false;\n this.subCategorieIds = this.subCategorieIds.filter(id => id !== subValueId);\n });\n }\n\n\n break;\n }\n\n case searchValueTypeEnum.SubCategorie: {\n\n if (checkStatus === true) {\n\n this.subCategorieIds.push(valueId);\n } else {\n\n this.subCategorieIds = this.subCategorieIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.BranchCategorie: {\n\n if (checkStatus === true) {\n\n this.branchCategorieIds.push(valueId);\n } else {\n\n this.branchCategorieIds = this.branchCategorieIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.Brand: {\n\n if (checkStatus === true) {\n\n this.brandIds.push(valueId);\n } else {\n\n this.brandIds = this.brandIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.ProductFeature: {\n\n if (checkStatus === true) {\n\n this.productFeatureIds.push(valueId);\n } else {\n\n this.productFeatureIds = this.productFeatureIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.priceType: {\n\n if (checkStatus === true) {\n\n this.priceTypes.push(valueId);\n } else {\n\n this.priceTypes = this.priceTypes.filter(id => id !== valueId);\n }\n break;\n }\n\n default: {\n break;\n }\n }\n\n }\n search(): void {\n\n this.route.navigate([this.languagesvc.nowLangNo + '/searchResult'],\n {\n queryParams: {\n keyword: this.productKey,\n categorieIds: this.categorieIds.toString(),\n subCategorieIds: this.subCategorieIds.toString(),\n brandIds: this.brandIds.toString(),\n productFeatureIds: this.productFeatureIds.toString(),\n priceTypes: this.priceTypes.toString()\n }\n });\n }\n cancelSearch(): void {\n this.categorieIds = [];\n this.subCategorieIds = [];\n this.branchCategorieIds = [];\n this.brandIds = [];\n this.productFeatureIds = [];\n this.priceTypes = [];\n this.keyword = '';\n this.productKey = '';\n\n const checkboxs = Array.prototype.slice.call(document.getElementsByClassName('search_check_box'));\n\n checkboxs.forEach(element => {\n element.checked = false;\n });\n\n\n const collapses = Array.prototype.slice.call(document.getElementsByClassName('collapse'));\n\n collapses.forEach(element => {\n element.classList.remove('show');\n });\n\n this.searchsvc.pcSearchIsopen = false;\n }\n checkProductNoVal(str: string): boolean {\n const regExp = /^[a-zA-Z]{2}\\d{4}$/;\n\n if (regExp.test(str)) {\n\n return true;\n }\n\n return false;\n }\n}\n","
\n
\n
\n \n
\n
0\">\n
\n

{{\"SearchProductKeyWord\" | translate}}

\n \n
\n \n \n
\n
\n
\n\n
\n\n
\n
\n

{{\"SearchFilterCategory\" | translate}}

\n
\n
\n
    \n
  • \n
    \n \n
    \n
    \n
    \n
      \n
    • \n \n
    • \n
    \n
    \n
  • \n
\n
\n
\n
\n
\n

{{\"SearchFilterBrands\" | translate}}

\n
\n
    \n
  • \n
    \n \n
    \n
  • \n
  • \n \n
  • \n
\n
\n
\n
\n

{{\"SearchFilterFeatures\" | translate}}

\n
\n
    \n
  • \n \n
  • \n
\n
\n
\n
\n

{{\"SearchFilterPrice\" | translate}}

\n
\n
    \n
  • \n \n
  • \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","export enum SearchStepEnum {\n Step1,\n Step2,\n Step3\n}\n","import { BrandService } from './../../service/brand.service';\nimport { LayoutService } from './../layout.service';\nimport { Component, OnInit } from '@angular/core';\n\nimport { SearchService } from './search.service';\nimport { BrandDataModel } from 'src/app/service/model/brand/brand.model';\n\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.css']\n})\nexport class SearchComponent implements OnInit {\n\n windowWidth = 0;\n isMobile = false;\n brandDataAry: BrandDataModel[] = [];\n constructor(\n public searchsvc: SearchService,\n public layoutsvc: LayoutService,\n public brandsvc: BrandService\n ) {\n\n this.windowWidth = document.body.clientWidth;\n\n if (this.windowWidth <= 991) {\n this.isMobile = true;\n }\n\n window.addEventListener('resize', () => {\n this.windowWidth = document.body.clientWidth;\n\n if (this.windowWidth <= 991 && this.isMobile === false) {\n this.isMobile = true;\n } else if (this.windowWidth > 991 && this.isMobile === true) {\n this.isMobile = false;\n }\n });\n }\n\n ngOnInit(): void {\n\n this.brandDataAry = this.brandsvc.brandsData;\n }\n}\n","\n\n\n\n","import { LayoutService } from 'src/app/layout/layout.service';\nimport { Subject, Subscription } from 'rxjs';\nimport { Injectable, EventEmitter } from '@angular/core';\nimport { SearchStepEnum } from './search-step-enum.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SearchService {\n\n mobileSearchIsopen = false;\n pcSearchIsopen = false;\n searchStep: SearchStepEnum;\n\n private openPcSearchMethodCall = new Subject();\n openPcSearchMethod = this.openPcSearchMethodCall.asObservable();\n\n constructor(\n private layoutsvc: LayoutService\n ) { }\n\n openMobileSearch(): void {\n this.searchStep = SearchStepEnum.Step1;\n this.mobileSearchIsopen = true;\n document.getElementsByTagName('body')[0].classList.add('overflowHidden');\n document.getElementsByTagName('html')[0].classList.add('overflowHidden');\n }\n\n closeMobileSearch(): void {\n this.mobileSearchIsopen = false;\n document.getElementsByTagName('body')[0].classList.remove('overflowHidden');\n document.getElementsByTagName('html')[0].classList.remove('overflowHidden');\n }\n\n openPcSearch(isOpen: boolean): void {\n if (isOpen) {\n this.pcSearchIsopen = true;\n this.openPcSearchMethodCall.next();\n // this.layoutsvc.headerToolIsOpen = true;\n }else{\n this.pcSearchIsopen = false;\n // this.layoutsvc.headerToolIsOpen = false;\n }\n }\n}\n","import { MemberLoginType } from 'src/app/core/enums/member/member-login-type.enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { LanguageService } from './../../../../service/language.service';\nimport { MemberService } from './../../../../service/member.service';\nimport { MenuService } from './../../../menu/menu.service';\nimport { Router } from '@angular/router';\nimport { Component, OnInit } from '@angular/core';\nimport { ShoppingCartService } from '../../../../service/shopping-cart.service';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { LoginResponseItineraryModel, LoginResponseModel } from './../../../../service/model/member/loginResponse.model';\nimport { MemberCenterType } from 'src/app/core/enums/member/member-center-type.enum';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-mobile-shopping-cart-flight',\n templateUrl: './mobile-shopping-cart-flight.component.html',\n styleUrls: ['./mobile-shopping-cart-flight.component.css']\n})\nexport class MobileShoppingCartFlightComponent implements OnInit {\n\n memberFlightData: LoginResponseModel = null;\n // memberFlightAry: LoginResponseItineraryModel[] = [];\n errorMsg: string[] = [];\n\n memberLoginTypeEnum = MemberLoginType;\n\n flightForm = new FormGroup({\n paxLocator: new FormControl('', [\n Validators.required\n ])\n });\n\n constructor(\n private route: Router,\n public shoppingCartsvc: ShoppingCartService,\n private menusvc: MenuService,\n public membersvc: MemberService,\n private languagesvc: LanguageService,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService,\n private datepipe: DatePipe\n ) { }\n\n ngOnInit(): void {\n this.getData();\n }\n\n get paxLocator(): AbstractControl { return this.flightForm.get('paxLocator'); }\n\n getData(): void {\n\n\n }\n\n formSubmit(): void {\n\n if (this.flightForm.invalid) {\n\n if (this.flightForm.get('paxLocator').invalid) {\n\n this.flightForm.setErrors({ ...this.flightForm.errors, 'paxLocator': true });\n\n // this.errorMsg.push('請選擇行程');\n }\n\n this.shoppingCartsvc.closeMobleShoppingCart();\n\n return;\n }\n\n const inputResult = this.flightForm.get('paxLocator').value;\n \n if (inputResult) {\n const inputResultAry = inputResult.split('/');\n const flightData = this.baseDatasvc.memberData.loginData.itinerary.find(x => x.paxLocator === inputResultAry[0] && \n String(x.fltDepLclDate) === inputResultAry[1] && \n x.fltNumber == inputResultAry[2]);\n //console.log(flightData);\n this.membersvc.addFlightData(flightData);\n\n this.membersvc.changeFlightData();\n\n this.shoppingCartsvc.shoppingGet().subscribe(shoppingGetResult => {\n\n }, (error) => {});\n //2024-12-09\n this.shoppingCartsvc.closeMobleShoppingCart();\n //window.location.href = \"/\" + this.languagesvc.nowLangNo\n }\n }\n\n later(): void {\n\n this.shoppingCartsvc.closeMobleShoppingCart();\n }\n\n confirm(): void {\n this.shoppingCartsvc.closeMobleShoppingCart();\n this.route.navigate([this.languagesvc.nowLangNo + 'shoppingCart']);\n }\n\n convertToDay(data: LoginResponseItineraryModel): string {\n\n let returnStr = '';\n const minToDay = 1440;\n const minToHr = 60;\n\n if (!data.isOpen && data.timeToClose === 0 && data.timeToOpen === 0) {\n\n returnStr = this.translateService.instant('FlightChoosebottomNonOpen');\n\n return returnStr;\n }\n\n if (data.isOpen) {\n\n returnStr = this.translateService.instant('FlightChooseLeftTime');\n\n if (data.timeToClose > minToDay) {\n\n returnStr = returnStr +\n Math.floor(data.timeToClose / minToDay).toString() +\n this.translateService.instant('FlightChooseDays') +\n this.translateService.instant('FlightChooseLeft');\n\n } else if (data.timeToClose > minToHr) {\n\n returnStr = returnStr +\n Math.ceil(data.timeToClose / minToHr).toString() +\n this.translateService.instant('FlightChooseHours') +\n this.translateService.instant('FlightChooseLeft');\n } else {\n\n returnStr = returnStr +\n data.timeToClose.toString() +\n this.translateService.instant('FlightChooseMinutes') +\n this.translateService.instant('FlightChooseLeft');\n }\n\n } else {\n\n if (data.timeToOpen > minToDay) {\n\n returnStr = returnStr +\n Math.floor(data.timeToOpen / minToDay).toString() +\n this.translateService.instant('FlightChooseDays') +\n this.translateService.instant('FlightChooseToOpen');\n } else if (data.timeToOpen > minToHr) {\n\n returnStr = returnStr + Math.ceil(data.timeToOpen / minToHr).toString() +\n this.translateService.instant('FlightChooseHours') +\n this.translateService.instant('FlightChooseToOpen');\n } else {\n\n returnStr = returnStr + data.timeToOpen.toString() +\n this.translateService.instant('FlightChooseMinutes') +\n this.translateService.instant('FlightChooseToOpen');\n }\n }\n\n return returnStr;\n }\n\n goOrderList(flightData?: LoginResponseItineraryModel): void {\n this.shoppingCartsvc.closeMobleShoppingCart();\n if (flightData) {\n const shoppingCarNo = flightData.paxLocator +\n flightData.loadDate +\n String(flightData.itineraryRefNumber) +\n String(flightData.paxRefNumber);\n\n this.route.navigate([this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.Order]],{\n queryParams: {\n ShoppingCartNo: shoppingCarNo,\n FltDate: String(this.datepipe.transform(flightData.fltDepLclDate, 'yyyyMMdd'))\n }\n });\n }else{\n this.route.navigate([this.languagesvc.nowLangNo + '/member/' + MemberCenterType[MemberCenterType.Order]]);\n }\n }\n\n browseFirst(): void {\n this.shoppingCartsvc.closeMobleShoppingCart();\n this.route.navigate([this.languagesvc.nowLangNo + '/']);\n }\n}\n","
0)\">\n
\n
\n
\n

{{\"FlightChooseTitleWording\" | translate}}

\n

{{\"FlightChangeTitleWording\" | translate}}

\n
\n\n
\n {{\"FlightChooseContentWording\" | translate}}
\n
\n {{\"FlightChangeContentWording\" | translate}}
\n\n
0\">\n
\n {{item}}\n
\n
\n\n
    \n
  • \n \n
  • \n
\n
\n
\n\n
\n

{{\"FlightChoosebottomWording\" | translate}}

\n \n
\n\n
\n

{{\"LoginDynatyMemberBottomWordingTitle\" | translate}}

\n \n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n \n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n \n \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n\n
\n \n \n \n
\n
\n\n
\n
\n\n \n
\n

{{\"FlghtNoneContentWording\" | translate}}

\n
\n \n\n {{\"FlghtNoneGoBuyTicket\" | translate}}\n \n
\n
\n","import { Component, OnInit, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { ShoppingCartService } from '../../../service/shopping-cart.service';\nimport { LayoutService } from '../../layout.service';\n\n@Component({\n selector: 'app-mobile-shopping-cart',\n templateUrl: './mobile-shopping-cart.component.html',\n styleUrls: ['./mobile-shopping-cart.component.css']\n})\nexport class MobileShoppingCartComponent implements OnInit {\n\n private element: any;\n constructor(\n public layoutsvc: LayoutService,\n private el: ElementRef,\n public shoppingcartsvc: ShoppingCartService\n ) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n document.getElementById('mobile_shooping_cart').appendChild(this.element);\n }\n\n}\n","\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n \n
\n\n","import { ProductService } from 'src/app/service/product.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ProductType } from './../../../core/enums/product/product-type.enum';\nimport { WishListService } from './../../../service/wish-list.service';\nimport { ShoppingCartStep } from './../../../core/enums/shopping-cart/shopping-cart-step.enum';\nimport { LanguageService } from './../../../service/language.service';\nimport { AlertService } from './../../../shared/alert/alert.service';\nimport { error, element } from 'protractor';\nimport { MemberPopupType } from './../../../core/enums/member/member-popup-type.enum';\nimport { GeneralPopModel, PopupService } from './../../../shared/popup/popup.service';\nimport { MemberLoginType } from './../../../core/enums/member/member-login-type.enum';\nimport { MemberService } from './../../../service/member.service';\nimport { Component, OnInit, HostListener } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ShoppingCartService } from '../../../service/shopping-cart.service';\nimport { ShoppingCarItemModel } from 'src/app/service/model/shopping/shopping-car-item.model';\nimport { ShoppingCarQueryModel } from 'src/app/service/model/shopping/shopping-car-query.model';\nimport { DatePipe } from '@angular/common';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { ShoppingCarErrorCode } from 'src/app/core/enums/shopping-car-error-code.enum';\nimport { DfpLoginRequestModel } from 'src/app/service/model/member/dfpLoginRequest.model';\nimport { ShoppingCarMainModel } from 'src/app/service/model/shopping/shopping-car-main.model';\nimport { ExChangeRequestModel } from 'src/app/service/model/member/exChangeRequest.model';\nimport { EmpLoginRequestModel } from 'src/app/service/model/member/empLoginRequest.model';\nimport { PnrLoginRequestModel } from 'src/app/service/model/member/pnrLoginRequest.model';\nimport { TktLoginRequestModel } from 'src/app/service/model/member/tktLoginRequest.mode';\n\ndeclare const jQuery: any;\n\n@Component({\n selector: 'app-pc-shopping-cart',\n templateUrl: './pc-shopping-cart.component.html',\n styleUrls: ['./pc-shopping-cart.component.css']\n})\nexport class PcShoppingCartComponent implements OnInit {\n wasInside = false;\n\n memberPopupTypeEnum = MemberPopupType;\n memberLoginTypeEnum = MemberLoginType;\n memberLoginType: MemberLoginType;\n shoppingCarData?: ShoppingCarMainModel;\n isDone = false;\n\n detailTwPriceAry = [];\n memberTwPriceAry = [];\n\n constructor(\n private route: Router,\n public shoppingcartsvc: ShoppingCartService,\n public popupsvc: PopupService,\n public membersvc: MemberService,\n private alertsvc: AlertService,\n private datepipe: DatePipe,\n public languagesvc: LanguageService,\n public wishListsvc: WishListService,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService,\n private productsvc: ProductService\n ) {\n this.membersvc.memberPageReloadMethod.subscribe(async () => {\n if (this.baseDatasvc.flightData) {\n this.shoppingCarData = null;\n this.getShoppingCarData();\n }\n });\n this.shoppingcartsvc.shoppingCartOpenMethod.subscribe(() => {\n //console.log('shoppingCartOpenMethod');\n this.clickInside();\n this.getShoppingCarData();\n });\n // this.shoppingcartsvc.shoppingCartPageReloadMethod.subscribe(() => {\n // this.shoppingCarData = null;\n // this.getShoppingCarData();\n // });\n }\n\n ngOnInit(): void {\n }\n\n @HostListener('click')\n clickInside(): void {\n this.wasInside = true;\n }\n\n @HostListener('document:click')\n clickout(): void {\n if (!this.wasInside) {\n this.shoppingcartsvc.openPcShoppingCart(false);\n }\n this.wasInside = false;\n }\n\n goToCart(): void {\n this.shoppingcartsvc.pcShoppingCartIsopen = false;\n this.route.navigate([this.languagesvc.nowLangNo + '/shoppingCart', ShoppingCartStep[ShoppingCartStep.step1]]);\n }\n\n openLogin(id: string, memberLoginType: MemberLoginType): void {\n // this.popupsvc.open(id);\n this.membersvc.openLoginPopCon(memberLoginType);\n this.shoppingcartsvc.tooglePcShoppingCart();\n }\n\n openFlightSelect(): void {\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n this.membersvc.openFlightPopCon(true);\n } else {\n this.openLogin(this.membersvc.memberPopupId, MemberLoginType.DynastyMember);\n }\n\n this.shoppingcartsvc.pcShoppingCartIsopen = false;\n }\n\n async getShoppingCarData(): Promise {\n this.isDone = false;\n\n if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData) && this.baseDatasvc.memberData.loginData) {\n if (this.baseDatasvc.flightData !== null) {\n this.shoppingcartsvc.shoppingGet().subscribe(result => {\n this.isDone = true;\n\n if (result.Success) {\n this.shoppingCarData = result.Data;\n\n if (this.languagesvc.nowLangNo === 'tw') {\n if (result.Data.Details && result.Data.Details.length > 0) {\n const detailPriceAry = result.Data.Details.map(x => {\n let detailPrice = x.ProductPrice * x.Count;\n\n // if (x.IsSpecialProduct) {\n // detailPrice = x.FinalPrice;\n // }else{\n // detailPrice = x.ProductPrice * x.Count;\n // }\n return detailPrice.toString();\n });\n\n const exChangeconditionDetail: ExChangeRequestModel = {\n USDPrice: detailPriceAry\n };\n\n this.productsvc.ExChange(exChangeconditionDetail).subscribe(exChangeDetailResult => {\n if (exChangeDetailResult.isOK) {\n this.detailTwPriceAry = exChangeDetailResult.data.map(x => {\n return x.find(x => x.exCurrency === 'TWD').exPrice.toString();\n });\n }\n });\n }\n\n if (result.Data.Members && result.Data.Members.length > 0) {\n const memberPriceAry = result.Data.Members.map(x => {\n return x.FinalPrice.toString();\n });\n\n const exChangeconditionMember: ExChangeRequestModel = {\n USDPrice: memberPriceAry\n };\n\n this.productsvc.ExChange(exChangeconditionMember).subscribe(exChangeMemberResult => {\n if (exChangeMemberResult.isOK) {\n this.memberTwPriceAry = exChangeMemberResult.data.map(x => {\n return x.find(x => x.exCurrency === 'TWD').exPrice.toString();\n });\n }\n });\n }\n }\n }\n }, (error) => {\n this.isDone = true;\n this.alertsvc.openAlert('Server Error', false);\n });\n } else {\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.DynastyMember) {\n const loginCondigion: DfpLoginRequestModel = {\n DfpCardNumber: this.baseDatasvc.memberData.userData.dfpCardNumber\n };\n\n (await this.membersvc.DfpLogin(loginCondigion)).subscribe(loginResult => { }, (error) => { });\n }\n\n this.isDone = true;\n }\n } else {\n this.isDone = true;\n }\n }\n\n removeFromCart(productNo: string, productType: ProductType, count: number): void {\n const popData: GeneralPopModel = {\n title: this.translateService.instant('shoppingCartAlertLimitRemoveProductTitle'),\n content: this.translateService.instant('shoppingCartAlertLimitRemoveProductContent'),\n confirmButtonText: this.translateService.instant('shoppingCartAlertLimitRemoveProductConfirm'),\n removeProductConfirmText: this.translateService.instant('shoppingCartAlertLimitRemoveProductRemove'),\n productData: {\n popRemoveProductNo: productNo,\n popRemoveProductType: productType,\n popRemoveCount: count,\n isShoppingCart: false\n }\n };\n\n this.popupsvc.openGeralPop(popData);\n }\n\n removeAll(): void {\n const popData: GeneralPopModel = {\n title: this.translateService.instant('shoppingCartAlertLimitRemoveProductTitle'),\n content: this.translateService.instant('shoppingCartAlertLimitRemoveProductContent'),\n confirmButtonText: this.translateService.instant('shoppingCartAlertLimitRemoveProductConfirm'),\n removeAllProductConfirmText: this.translateService.instant('shoppingCartAlertButtonRemove')\n }\n\n this.popupsvc.openGeralPop(popData);\n\n // this.shoppingcartsvc.shoppingCartRemoveAll().subscribe(result => {\n // if (result.Success) {\n // this.getShoppingCarData();\n // }\n // });\n }\n\n async add(productNo: string, productType: ProductType, count: number, maxCount: number): Promise {\n (await this.shoppingcartsvc.shoppingAdd(productNo, productType)).subscribe(result => {\n if (result.Success) {\n this.getShoppingCarData();\n }\n });\n }\n\n remove(productNo: string, count: number): void {\n if (count > 1) {\n this.shoppingcartsvc.shoppingRemove(productNo, 1).subscribe(result => {\n if (result.Success) {\n this.getShoppingCarData();\n } else {\n this.alertsvc.openAlert(result.Message, false);\n }\n });\n }\n }\n\n mutipleAddToWishList(): void {\n const noList: string[] = [];\n\n if (this.shoppingCarData &&\n this.shoppingCarData.Details.length > 0) {\n this.shoppingCarData.Details.forEach(element => {\n if (element.IsOneBuyOneFree === false &&\n element.IsSpecialProduct === false) {\n noList.push(element.ProductNo);\n }\n });\n }\n\n if (this.shoppingCarData &&\n this.shoppingCarData.Members.length > 0) {\n this.shoppingCarData.Members.forEach(element => {\n if (element.IsOneBuyOneFree === false &&\n element.IsSpecialProduct === false) {\n noList.push(element.ProductNo);\n }\n });\n }\n\n this.wishListsvc.mutipleCreate(noList);\n }\n}\n","\n
\n\n \n
\n
\n
\n
{{\"ShoppingCartLoginNotice\" | translate}}
\n
\n
\n
\n \n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n \n

\n

\n {{\"MemberLoginToolNotAMemberYet\" | translate}}\n \n \n {{\"MemberLoginToolSignUp\" | translate}}\n \n \n

\n\n
\n
or
\n
\n \n
\n
\n
\n\n \n
\n \n \n \n
\n
\n

{{\"ShoppingCartToolFlightdelivery\" | translate}}

\n

\n {{this.baseDatasvc.flightData.fltCarrier}}{{this.baseDatasvc.flightData.fltNumber}}\n ({{this.baseDatasvc.flightData.fltDepStationCode}} -\n {{this.baseDatasvc.flightData.fltArvStationCode}})\n {{this.baseDatasvc.flightData.fltDepLclDate | date:'yyyy/MM/dd HH:mm'}}\n

\n
\n \n
\n
\n \n \n
\n
\n
{{\"ShoppingCartToolChooseAndStart\" | translate}}
\n
\n
\n
\n
\n

\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
{{this.baseDatasvc.flightErrorMsg}}
\n
\n \n
{{\"ShoppingCartToolNoFilghtWording\" | translate}}
\n
\n
\n
\n
\n
\n

{{\"ShoppingCartToolArrangeATrip\" | translate}}

\n \n
\n
\n
\n \n \n \n \n
\n
\n

{{\"ShoppingCartToolHaveNoProducts\" | translate}}

\n \n
\n
\n
\n \n 0) ||\n (this.shoppingCarData.Members && this.shoppingCarData.Members.length > 0))\">\n
\n
\n

{{\"ShoppingCartToolWording\" | translate}}

\n
\n \n \n
\n
\n
\n
\n
    \n \n \n
  • \n
    \n
    \n \n
    \n
    \n

    {{item.ProductNo}}

    \n

    {{item.ProductName}}

    \n
    \n \n
    {{item.Count}}
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    \n \n USD {{item.ProductPrice * item.Count}}\n 0 && this.detailTwPriceAry[i]\">\n / TWD {{this.detailTwPriceAry[i]}}\n \n

    \n
    \n
    \n
  • \n
    \n \n
  • \n
    \n
    \n \n
    \n
    \n

    {{item.ProductNo}}

    \n

    {{item.ProductName}}

    \n
    \n \n
    {{item.Count}}
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    \n USD {{item.FinalPrice}}\n 0 && this.memberTwPriceAry[i]\">\n / TWD {{this.memberTwPriceAry[i]}}\n \n

    \n
    \n
    \n
  • \n
    \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n

{{\"ShoppingCartHasOrder\" | translate}}

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n","import { LayoutService } from '../layout.service';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-shopping-cart',\n templateUrl: './shopping-cart.component.html',\n styleUrls: ['./shopping-cart.component.css']\n})\nexport class ShoppingCartComponent implements OnInit {\n\n constructor(public layoutsvc: LayoutService) { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n\n\n","import { ProductType } from './../../../core/enums/product/product-type.enum';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { DatePipe } from '@angular/common';\nimport { ShoppingCartService } from './../../../service/shopping-cart.service';\nimport { AlertService } from './../../../shared/alert/alert.service';\nimport { MemberService } from './../../../service/member.service';\nimport { Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { ShoppingCarItemModel } from 'src/app/service/model/shopping/shopping-car-item.model';\nimport { ShoppingCarDetailModel } from 'src/app/service/model/shopping/shopping-car-main.model';\nimport { ShoppingCarQueryModel } from 'src/app/service/model/shopping/shopping-car-query.model';\nimport { NgModel } from '@angular/forms';\n\n@Component({\n selector: 'app-shopping-row',\n templateUrl: './shopping-row.component.html',\n styleUrls: ['./shopping-row.component.css']\n})\nexport class ShoppingRowComponent implements OnInit {\n\n @Input() productData: ShoppingCarDetailModel;\n\n public count = 0;\n @ViewChild('tCount') tCount: NgModel;\n\n constructor(\n private membersvc: MemberService,\n private alertsvc: AlertService,\n private shoppingcartsvc: ShoppingCartService,\n private datepipe: DatePipe,\n public baseDatasvc: BaseDataService\n ) {\n\n }\n\n ngOnInit(): void {\n this.count = this.productData.Count;\n }\n\n removeFromCart(productNo: string, productType: ProductType, count: number): void {\n\n this.shoppingcartsvc.shoppingCartRemoveFromCart(productNo, productType, count, true);\n }\n\n getShoppingCarData(): void {\n\n this.shoppingcartsvc.shoppingGet().subscribe(result => {\n\n }, (error) => {});\n }\n\n add(): void {\n\n this.count++;\n }\n\n remove(): void {\n\n if (this.count > 1) {\n this.count--;\n }\n }\n}\n","
  • \n
    \n
    \n
    \n

    {{productData.ProductNo}}

    \n

    {{productData.ProductName}}

    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    USD {{productData.ProductPrice}}

    \n

    USD {{productData.ProductPrice}}

    \n
    \n
    \n
  • \n","import { MemberOrderDownloadComponent } from './member/member-order/member-order-download/member-order-download.component';\nimport { LanguageService } from './../service/language.service';\nimport { ShoppingCartModule } from './shopping-cart/shopping-cart.module';\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule, UrlSegment } from '@angular/router';\nimport { LayoutComponent } from '../layout/layout.component';\n\nexport function languageMatch(url: UrlSegment[]) {\n\n return url.length > 0 ? ({consumed: url}) : null;\n}\n\nexport function productMatch(url: UrlSegment[]) {\n\n return url.length > 0 && url[1].path === 'product' ? ({consumed: url}) : null;\n}\n\nexport function newsMatch(url: UrlSegment[]) {\n\n return url.length > 0 && url[1].path === 'news' ? ({consumed: url}) : null;\n}\n\nconst routes: Routes = [\n {\n path: ':lingua',\n component: LayoutComponent,\n children: [\n { path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule) },\n { path: 'home', redirectTo: '', pathMatch: 'full' },\n { path: 'product', loadChildren: () => import('./product/product.module').then(m => m.ProductModule) },\n { path: 'shoppingCart', loadChildren: () => import('./shopping-cart/shopping-cart.module').then(m => m.ShoppingCartModule) },\n { path: 'searchResult', loadChildren: () => import('./search-result/search-result.module').then(m => m.SearchResultModule) },\n { path: 'purchaseNotes', loadChildren: () => import('./purchase-notes/purchase-notes.module').then(m => m.PurchaseNotesModule) },\n { path: 'member', loadChildren: () => import('./member/member.module').then(m => m.MemberModule) },\n { path: 'news', loadChildren: () => import('./news/news.module').then(m => m.NewsModule) },\n { path: 'features', loadChildren: () => import('./features/features.module').then(m => m.FeaturesModule) },\n { path: 'contactUs', loadChildren: () => import('./contact-us/contact-us.module').then(m => m.ContactUsModule) },\n { path: 'commonProblems', loadChildren: () => import('./common-problems/common-problems.module').then(m => m.CommonProblemsModule) },\n { path: 'all brands', loadChildren: () => import('./brand/brand.module').then(m => m.BrandModule) },\n { path: 'brands pavilion', loadChildren: () => import('./brand-pavilion/brand-pavilion.module').then(m => m.BrandPavilionModule) },\n { path: 'activity', loadChildren: () => import('./activity/activity.module').then(m => m.ActivityModule) }\n ]\n // loadChildren: () => import('./customers/customers.module').then(m => m.CustomersModule)\n },\n // Not found\n { path: '', redirectTo: '/tw', pathMatch: 'full' },\n { path: '**', redirectTo: '/tw' }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n onSameUrlNavigation: 'reload',\n enableTracing: false,\n initialNavigation: 'enabled'\n})],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule {\n constructor() {}\n}\n\n\n","import { LocalStorageService } from './local-storage.service';\nimport { ShoppingCarMainModel } from 'src/app/service/model/shopping/shopping-car-main.model';\nimport { ShoppingCartService } from 'src/app/service/shopping-cart.service';\nimport { Injectable } from '@angular/core';\nimport { MemberLoginData } from './member.service';\nimport { LoginResponseItineraryModel } from './model/member/loginResponse.model';\nimport { LocalStorageType } from '../core/enums/localStorage/local-storage-type.enum';\nimport { MenuDataModel } from './model/menu/menu.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BaseDataService {\n\n public shoppingCarData?: ShoppingCarMainModel = null;\n\n public shoppingCarCount = 0;\n\n public memberData?: MemberLoginData =\n this.localStoragesvc.getByName(LocalStorageType.member) !== undefined ?\n this.localStoragesvc.getByName(LocalStorageType.member) :\n null;\n\n public flightData?: LoginResponseItineraryModel = this.localStoragesvc.getByName(LocalStorageType.FlightData) !== undefined ?\n this.localStoragesvc.getByName(LocalStorageType.FlightData) :\n null;\n\n public appid?: string = this.localStoragesvc.getByName(LocalStorageType.AppId) != undefined ?\n this.localStoragesvc.getByName(LocalStorageType.AppId) :\n null;\n\n public flightErrorMsg?: string;\n\n constructor(\n private localStoragesvc: LocalStorageService\n ) { }\n\n SaveAppId(appId: string)\n {\n this.localStoragesvc.remove(LocalStorageType.AppId);\n this.localStoragesvc.add(LocalStorageType.AppId, appId);\n this.appid = appId;\n }\n\n}\n","import { LanguageService } from './language.service';\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { ResultModel } from './../service/model/result-model';\nimport { BrandBanner, BrandDataModel } from './../service/model/brand/brand.model';\nimport { ApiConfig } from '../config/api-config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrandService {\n\n public brandsData: BrandDataModel[] = null;\n\n constructor(\n private http: HttpClient,\n private languagesvc: LanguageService\n ) {\n\n this.getBrandsData();\n\n }\n\n getData(): Observable> {\n\n return this.http.get>(\n ApiConfig.APIDomain + ApiConfig.API.Brand.Brands + '?lngNo=' + this.languagesvc.nowLangNo);\n }\n\n getBrandsData(): void {\n\n this.http.get>(\n ApiConfig.APIDomain + ApiConfig.API.Brand.Brands + '?lngNo=' + this.languagesvc.nowLangNo\n )\n .subscribe(result => {\n\n if (result.Success) {\n this.brandsData = result.Data;\n }\n\n\n },\n (error) => {\n\n });\n\n }\n}\n\n","import { CryptoService } from './crypto.service';\nimport { Injectable } from '@angular/core';\n\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CookieService {\n\n COOKIE_CONSENT = 'COOKIE_CONSENT';\n\n isConsented = true;\n\n constructor(private cryptosvc: CryptoService) { }\n\n // 存入 Cookie\n setCookie(cookieName: string, value: any, expireDays: number, path: string = ''): void {\n\n const d = new Date();\n\n d.setTime(d.getTime() + expireDays * 24 * 60 * 60 * 1000);\n\n const expires = `expires=${d.toUTCString()}`;\n\n const cpath = path ? `; path=${path}` : '';\n\n const encryptValue = this.cryptosvc.encryptData(value);\n\n document.cookie = `${cookieName}=${encryptValue}; ${expires}${cpath}`;\n }\n\n // 刪除 Cookie by Name\n removeCookie(cookieName): void {\n\n this.setCookie(cookieName, '', -1);\n }\n\n // 取 Cookie By Name\n getCookieByName(cookieName: string): T {\n\n const cookies = document.cookie.split(';');\n\n const cookieObj = {};\n\n let cookie;\n\n for (let i = 0, l = cookies.length; i < l; ++i) {\n\n cookie = jQuery.trim(cookies[i]);\n cookie = cookie.split('=');\n\n const name = cookie[0];\n const value = cookie[1];\n\n if (cookieName === name) {\n\n const decryptValue = this.cryptosvc.decryptData(value);\n\n\n\n try {\n\n return decryptValue as T;\n } catch {\n\n return null;\n }\n }\n }\n\n return null;\n }\n\n setConsent(isConsent: boolean, e: any): void {\n //20241128修改為cookie保留一天\n this.setCookie(this.COOKIE_CONSENT, isConsent, 1);\n\n this.isConsented = true;\n\n e.preventDefault();\n }\n\n checkConsent(): void {\n const result = this.getCookieByName(this.COOKIE_CONSENT);\n\n if (result !== true || result === null) {\n\n this.isConsented = false;\n }\n }\n}\n","import { IpServiceService } from './ip-service.service';\n//import { GemaltoBulkDecryptRequestModel } from './model/member/gemaltoBulkDecryptRequest.model';\n//import { GemaltoBulkEncryptRequestModel } from './model/member/gemaltoBulkEncryptRequest.model';\nimport { ApiConfig } from './../config/api-config';\nimport { EShoppingApiResultModel } from './model/member/eShoppingApiResult.model';\nimport { Observable } from 'rxjs';\nimport { GetMileageRequestModel } from './model/member/getMileageRequest.model';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { FrontendLoginType } from '../core/enums/jwt/FrontendLogin-type.enum';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CryptoService {\n\n encryptSecretKey = 'F^Q7i!uSJaX2ltaYv&KW';\n memberClientIp = '1.0.0.1';\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n constructor(\n private http: HttpClient,\n private ipsvc: IpServiceService\n ) { }\n\n /// AES 加密\n encryptData(data): string {\n\n try {\n\n return CryptoJS.AES.encrypt(JSON.stringify(data), this.encryptSecretKey).toString();\n } catch (e) {\n\n }\n }\n\n /// AES 解密\n decryptData(data): any {\n\n if (data){\n\n try {\n\n const bytes = CryptoJS.AES.decrypt(data, this.encryptSecretKey);\n\n if (bytes.toString()) {\n\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n }\n\n return data;\n } catch (e) {\n\n }\n }\n }\n\n// /// 5.1 個資加密\n// async GemaltoBulkEncrypt(condition: GemaltoBulkEncryptRequestModel): Promise>> {\n//\n// // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n// // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n// var _headers = new HttpHeaders({'Content-Type': 'application/json',\n// 'Authorization' : 'Bearer ' + this.encryptData(FrontendLoginType.NONE + ',' +\n// '' + ',' +\n// new Date().getTime())});\n// let Options = {\n// headers: _headers\n// };\n// return this.http.post>(\n// (ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.GemaltoBulkEncrypt), condition, Options);\n// }\n//\n// /// 5.2 個資解密\n// async GemaltoBulkDecrypt(condition: GemaltoBulkDecryptRequestModel): Promise>> {\n//\n// // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n// // condition.clientIP = userIp ? userIp.ip : this.memberClientIp;\n// var _headers = new HttpHeaders({'Content-Type': 'application/json',\n// 'Authorization' : 'Bearer ' + this.encryptData(FrontendLoginType.NONE + ',' +\n// '' + ',' +\n// new Date().getTime())});\n// let Options = {\n// headers: _headers\n// };\n// return this.http.post>(\n// (ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.GemaltoBulkDecrypt), condition, Options);\n// }\n}\n","import { Injectable, ErrorHandler, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorService {\n\n constructor(private injector: Injector) { }\n\n handleError(error: any): void {\n const router = this.injector.get(Router);\n if (Error instanceof HttpErrorResponse) {\n\n }\n else {\n console.error(error);\n }\n\n // return error page\n // router.navigate(['error']);\n }\n}\n","import { LanguageService } from './language.service';\nimport { TopNewsModel } from './model/top-news/top-news.model';\nimport { ResultModel } from './model/result-model';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHandler, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { ApiConfig } from '../config/api-config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HeaderService {\r\n constructor(\n private http: HttpClient,\n private languagesvc: LanguageService\n ) { }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IpServiceService {\n\n constructor(private http:HttpClient) { }\n\n public getIPAddress()\n {\n return this.http.get(\"http://api.ipify.org/?format=json\");\n }\n}\n","import { element } from 'protractor';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { ApiConfig } from './../config/api-config';\nimport { LanguageModel } from './model/language/language.model';\nimport { ResultModel } from './model/result-model';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\nimport { now } from 'jquery';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LanguageService {\n\n public languageAry: LanguageModel[] = [];\n nowLangNo = 'tw';\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private transiatesvc: TranslateService\n ) {\n\n const urlAry = this.router.url.split('/').map(String);\n this.nowLangNo = urlAry[1].slice(0, 2);\n this.transiatesvc.use(this.nowLangNo);\n this.getData();\n }\n\n getData(): Observable>{\n\n return this.http.get>(ApiConfig.APIDomain + ApiConfig.API.Languages).pipe(map(result => {\n\n if (result.Success) {\n\n this.languageAry = result.Data;\n }\n\n return result;\n }));\n }\n\n changeLanguage(langNo: string): void {\n\n\n const url: Observable = this.activatedRoute.url.pipe(map(segments => segments.join('')));\n\n const urlAry = this.router.url.split('/');\n\n let newUrl = '';\n\n urlAry[1] = langNo;\n\n urlAry.forEach(element => {\n\n if (element.length > 0) {\n\n newUrl = newUrl + '/' + element;\n }\n });\n\n window.location.href = newUrl;\n }\n}\n","import { CryptoService } from './crypto.service';\nimport { LocalStorageType } from '../core/enums/localStorage/local-storage-type.enum';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n\n constructor(private cryptosvc: CryptoService) { }\n\n add(localStorageType: LocalStorageType, setvalue: any): void {\n\n const key = LocalStorageType[localStorageType];\n\n const value = this.cryptosvc.encryptData(setvalue);\n\n localStorage.setItem(key, value);\n }\n\n remove(localStorageType: LocalStorageType): void {\n\n const key = LocalStorageType[localStorageType];\n\n localStorage.removeItem(key);\n }\n\n getByName(localStorageType: LocalStorageType): T {\n\n const key = LocalStorageType[localStorageType];\n\n const value = localStorage.getItem(key);\n\n const result = this.cryptosvc.decryptData(value);\n\n return result as T;\n }\n}\n","import { ApiConfig } from './../config/api-config';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ResultModel } from './model/result-model';\r\nimport { jwtResponseModel } from './model/jwt/jwtResponse.model';\r\nimport { jwtPayloadmodel } from './model/jwt/jwtPayload.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\r\nimport { CryptoService } from './crypto.service';\r\n\r\n//import * as CryptoJS from 'crypto-js';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class loginService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private cryptosvc: CryptoService\r\n ) { }\r\n async JwtLogin(condition: jwtPayloadmodel):Promise> {\r\n //const encryptValue = this.cryptosvc.encryptData(condition);\r\n const _loginData = \"account=\" + this.cryptosvc.encryptData(\"cishop\" + new Date().getTime().toString()) + \"&password=&payload=\" + this.cryptosvc.encryptData(JSON.stringify(condition));\r\n const apiUrl = ApiConfig.APIDomain + '/Login';\r\n const _headers = new HttpHeaders({'Content-Type': 'application/x-www-form-urlencoded'});\r\n let Options = {\r\n headers: _headers\r\n };\r\n\r\n return this.http.post(apiUrl, _loginData, Options).pipe(map(result => {\r\n return result.Data;\r\n }));\r\n }\r\n}\r\n","import { OrderListService } from 'src/app/service/order-list.service';\nimport { IpServiceService } from './ip-service.service';\nimport { CheckDfpIDAndNameResponseModel } from './model/member/CheckDfpIDAndNameResponse.model';\nimport { CheckDfpIDAndNameRequestModel } from './model/member/CheckDfpIDAndNameRequest.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AlertService } from './../shared/alert/alert.service';\nimport { BaseDataService } from './base-data.service';\nimport { GetLoginByGuidResponseModel } from './model/member/get-login-by-guid-response.model';\nimport { GetLoginByGuidRequestModel } from './model/member/get-login-by-guid-request.model';\nimport { CheckEmpIDResponseModel } from './model/member/check-empID-response.model';\nimport { CheckEmpIDRequestModel } from './model/member/check-empID-request.model';\nimport { MemberCenterType } from './../core/enums/member/member-center-type.enum';\nimport { PopupService } from './../shared/popup/popup.service';\nimport { LocalStorageType } from './../core/enums/localStorage/local-storage-type.enum';\nimport { LocalStorageService } from './local-storage.service';\nimport { GetAwardListResponseModel } from './model/member/getAwardListResponse.model';\nimport { GetAwardListRequestModel } from './model/member/getAwardListRequest.model';\nimport { GetDfpMemberInfoResponseModel } from './model/member/getDfpMemberInfoResponse.model';\n//import { GetDfpMemberInfoRequestModel } from './model/member/getDfpMemberInfoRequest.model';\nimport { GetMileageResponseModel } from './model/member/getMileageResponse.model';\nimport { GetMileageRequestModel } from './model/member/getMileageRequest.model';\nimport { CheckDfpIDRequestModel } from './model/member/checkDfpIDRequest.model';\nimport { ExChangeResponseModel } from './model/member/exChangeResponse.model';\nimport { ExChangeRequestModel } from './model/member/exChangeRequest.model';\nimport { TktLoginRequestModel } from './model/member/tktLoginRequest.mode';\nimport { PnrLoginRequestModel } from './model/member/pnrLoginRequest.model';\nimport { EmpLoginRequestModel } from './model/member/empLoginRequest.model';\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LoginResponseItineraryModel, LoginResponseModel } from './model/member/loginResponse.model';\nimport { EShoppingApiResultModel } from './model/member/eShoppingApiResult.model';\nimport { DfpLoginRequestModel } from './model/member/dfpLoginRequest.model';\nimport { ApiConfig } from './../config/api-config';\nimport { LanguageService } from './language.service';\nimport { Injectable, enableProdMode, EventEmitter, ANALYZE_FOR_ENTRY_COMPONENTS } from '@angular/core';\nimport { MemberPopupType } from '../core/enums/member/member-popup-type.enum';\nimport { MemberLoginType } from '../core/enums/member/member-login-type.enum';\nimport { DatePipe } from '@angular/common';\nimport { ShoppingCarQueryModel } from './model/shopping/shopping-car-query.model';\nimport { LayoutService } from '../layout/layout.service';\nimport { loginService } from 'src/app/service/login.Service';\nimport { jwtPayloadmodel } from './model/jwt/jwtPayload.model';\nimport { FrontendLoginType } from '../core/enums/jwt/FrontendLogin-type.enum';\nimport { ResultModel } from './model/result-model';\nimport { CryptoService } from './crypto.service';\n\nexport interface MemberLoginData {\n loginType?: MemberLoginType; /// 登入類別\n loginData?: LoginResponseModel; /// 登入資料\n userData?: GetDfpMemberInfoResponseModel; /// 使用者資訊\n loginTime?: Date;\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MemberService {\n isLoginSubject = new BehaviorSubject(this.hasUserData());\n memberConIsOpen = false;\n memberLoginType: MemberLoginType;\n memberPopupType: MemberPopupType;\n //memberPnr = '';\n //memberPaxName = '';\n memberPopupId = 'member-popup';\n memberClientIp = '1.0.0.1';\n empGuid = '';\n\n callBackURL = ApiConfig.Domain + this.languagesvc.nowLangNo + '/emploginResult';\n errorURL = ApiConfig.Domain + this.languagesvc.nowLangNo + '/emploginResult';\n\n // callBackURL = 'http://localhost:4200/' + this.languagesvc.nowLangNo + '/emploginResult';\n // errorURL = 'http://localhost:4200/' + this.languagesvc.nowLangNo + '/emploginResult';\n\n invokeFirstComponentFunction = new EventEmitter();\n memberToolOpenFunction = new EventEmitter();\n subsVar: Subscription;\n\n private memberPageReloadMethodCall = new Subject();\n memberPageReloadMethod = this.memberPageReloadMethodCall.asObservable();\n\n private openFlightMethodCall = new Subject();\n openFlightMethod = this.openFlightMethodCall.asObservable();\n\n private changeFlightMethodCall = new Subject();\n changeFlightMethod = this.changeFlightMethodCall.asObservable();\n\n openFlightReload = false;\n isCheckDfpIDAndName = false;\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n constructor(\n private cryptosvc: CryptoService,\n private http: HttpClient,\n private languagesvc: LanguageService,\n private localStoragesvc: LocalStorageService,\n private popupsvc: PopupService,\n private datepipe: DatePipe,\n private baseDatasvc: BaseDataService,\n private alertsvc: AlertService,\n private layoutsvc: LayoutService,\n private translateService: TranslateService,\n private ipsvc: IpServiceService,\n private orderListsvc: OrderListService,\n private loginService: loginService\n\n ) {\n }\n\n openLoginPopCon(memberLoginType?: MemberLoginType, isCheckDfpIDAndName?: boolean): void {\n this.popupsvc.closeAll();\n\n this.popupsvc.open(this.memberPopupId);\n this.memberConIsOpen = false;\n this.memberLoginType = memberLoginType !== undefined ? memberLoginType : MemberLoginType.DynastyMember;\n this.memberPopupType = MemberPopupType.Login;\n this.isCheckDfpIDAndName = isCheckDfpIDAndName ? isCheckDfpIDAndName : false;\n }\n\n closeLoginPop(): void {\n this.popupsvc.close(this.memberPopupId);\n }\n\n openFlightPopCon(isReload: boolean): void {\n //2022-09-30預設不reload\n //2023-02-24調整為reload\n isReload = true;\n if (isReload) {\n this.openFlightReload = isReload;\n this.openFlightMethodCall.next();\n }\n this.memberConIsOpen = false;\n this.memberPopupType = MemberPopupType.SelectFlight;\n this.popupsvc.closeAll();\n this.popupsvc.open(this.memberPopupId);\n }\n\n openPcMemberTool(isOpen: boolean): void {\n if (isOpen) {\n this.memberConIsOpen = true;\n this.memberToolOpenFunction.emit();\n } else {\n this.memberConIsOpen = false;\n }\n }\n\n /// 產生購物車代號\n generateShoppingCarNo(): string {\n let shoppingCarNo = '';\n if (this.baseDatasvc.flightData) {\n shoppingCarNo = this.baseDatasvc.flightData.paxLocator +\n this.baseDatasvc.flightData.loadDate +\n String(this.baseDatasvc.flightData.itineraryRefNumber) +\n String(this.baseDatasvc.flightData.paxRefNumber);\n }\n return shoppingCarNo;\n }\n\n generateShoppingCarNoByData(data: LoginResponseItineraryModel): string {\n let shoppingCarNo = '';\n\n if (data !== null) {\n shoppingCarNo = data.paxLocator +\n data.loadDate +\n String(data.itineraryRefNumber) +\n String(data.paxRefNumber);\n }\n\n return shoppingCarNo;\n }\n\n /// Member Id 登出\n LogOut(isShowAlert: boolean): void {\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.EmployID) {\n }\n\n this.baseDatasvc.shoppingCarData = null;\n this.baseDatasvc.shoppingCarCount = 0;\n this.baseDatasvc.memberData = null;\n this.localStoragesvc.remove(LocalStorageType.member);\n this.baseDatasvc.flightData = null;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n this.isLoginSubject.next(null);\n\n if (isShowAlert) {\n this.alertsvc.openAlert(this.translateService.instant('LogOutSuccessfully'), true);\n }\n }\n\n /// 判斷是否有存會員資料\n hasUserData(): boolean {\n return !!this.localStoragesvc.getByName(LocalStorageType.member);\n }\n\n /// 存入航班資訊\n addFlightData(data: LoginResponseItineraryModel): void {\n //console.log(data);\n this.localStoragesvc.add(LocalStorageType.FlightData, data);\n this.baseDatasvc.flightData = data;\n //console.log(this.baseDatasvc.flightData);\n }\n\n /// 刪除航班資訊\n removeFlightData(): void {\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n this.baseDatasvc.flightData = null;\n }\n\n /// 1.1 使用會員ID取得訂位資訊\n async DfpLogin(condition: DfpLoginRequestModel): Promise>> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.DfpLogin;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.DFP + ',' +\n condition.DfpCardNumber + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n if (this.baseDatasvc.appid) {\n condition.AppId = this.baseDatasvc.appid;\n }\n condition.LngNo = this.languagesvc.nowLangNo;\n\n this.baseDatasvc.flightErrorMsg = '';\n\n return this.http.post>((apiUrl), condition, Options).pipe(map(result => {\n if (result.isOK) {\n if (result.data !== null) {\n if (this.baseDatasvc.flightData !== null && this.baseDatasvc.flightData !== undefined) {\n const newFlightData = result.data.itinerary.find(x => x.paxLocator === this.baseDatasvc.flightData.paxLocator &&\n x.fltDepLclDate === this.baseDatasvc.flightData.fltDepLclDate);\n if (newFlightData !== null && newFlightData !== undefined) {\n this.baseDatasvc.flightData = newFlightData;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n } else {\n this.baseDatasvc.flightData = null;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n }\n }\n \n this.baseDatasvc.memberData.loginData = result.data;\n this.localStoragesvc.add(LocalStorageType.member, this.baseDatasvc.memberData);\n\n this.isLoginSubject.next(true);\n this.memberPageReloadMethodCall.next();\n this.orderListsvc.orderPageReload();\n } else {\n this.baseDatasvc.flightErrorMsg = result.message;\n }\n }\n\n return result;\n }));\n }\n\n /// 1.2 使用員工ID取得訂位資訊\n async EmpLogin(condition: EmpLoginRequestModel): Promise>> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.EmpLogin;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.EMP + ',' +\n condition.EmployID + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n\n if (this.baseDatasvc.appid) {\n condition.AppId = this.baseDatasvc.appid;\n }\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options).pipe(map(result => {\n //console.log(result);\n\n if (result.isOK) {\n if (result.data !== null) {\n const memberData: MemberLoginData = {\n loginType: MemberLoginType.EmployID,\n userData: {\n GUID: condition.GUID,\n GROUP: condition.GROUP,\n EMPID: condition.EMPID,\n dfpCardType: \"EMP\"\n },\n loginTime: result.dataTime\n };\n\n this.baseDatasvc.memberData = memberData;\n this.localStoragesvc.add(LocalStorageType.member, memberData);\n\n if (this.baseDatasvc.flightData !== null && this.baseDatasvc.flightData !== undefined) {\n const newFlightData = result.data.itinerary.find(x => x.paxLocator === this.baseDatasvc.flightData.paxLocator &&\n x.fltDepLclDate === this.baseDatasvc.flightData.fltDepLclDate);\n if (newFlightData !== null && newFlightData !== undefined) {\n this.baseDatasvc.flightData = newFlightData;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n } else {\n this.baseDatasvc.flightData = null;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n }\n }\n\n this.baseDatasvc.memberData.loginData = result.data;\n //2022-08-15\n this.localStoragesvc.add(LocalStorageType.member, this.baseDatasvc.memberData);\n this.isLoginSubject.next(true);\n this.memberPageReloadMethodCall.next();\n this.orderListsvc.orderPageReload();\n }\n }\n\n return result;\n }));\n }\n\n /// 1.3 使用訂位代號取得訂位資訊\n async PnrLogin(condition: PnrLoginRequestModel): Promise>> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.PnrLogin;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.PNR + ',' +\n condition.PaxLocator + ',' +\n new Date().getTime())});\n\n let Options = {\n headers: _headers\n };\n\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n if (this.baseDatasvc.appid) {\n condition.AppId = this.baseDatasvc.appid;\n }\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options).pipe(map(result => {\n if (result.isOK) {\n if (result.data !== null) {\n // this.LogOut(false);\n\n if (this.baseDatasvc.flightData !== null && this.baseDatasvc.flightData !== undefined) {\n const newFlightData = result.data.itinerary.find(x => x.paxLocator === this.baseDatasvc.flightData.paxLocator &&\n x.fltDepLclDate === this.baseDatasvc.flightData.fltDepLclDate);\n if (newFlightData !== null && newFlightData !== undefined) {\n this.baseDatasvc.flightData = newFlightData;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n } else {\n this.baseDatasvc.flightData = null;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n }\n }\n\n this.baseDatasvc.shoppingCarData = null;\n this.baseDatasvc.memberData = null;\n this.localStoragesvc.remove(LocalStorageType.member);\n\n result.data.PaxLocator = condition.PaxLocator;\n\n const memberData: MemberLoginData = {\n loginType: MemberLoginType.PnrLogin,\n loginData: result.data,\n loginTime: result.dataTime\n };\n\n this.baseDatasvc.memberData = memberData;\n this.localStoragesvc.add(LocalStorageType.member, memberData);\n this.isLoginSubject.next(true);\n this.memberPageReloadMethodCall.next();\n this.orderListsvc.orderPageReload();\n }\n }\n\n return result;\n }));\n }\n\n /// 1.4 使用機票號碼取得訂位資訊\n async TktLogin(condition: TktLoginRequestModel): Promise>> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.TktLogin;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.TKT + ',' +\n condition.TicketNumber + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n if (this.baseDatasvc.appid) {\n condition.AppId = this.baseDatasvc.appid;\n }\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>(\n (apiUrl), condition, Options).pipe(map(result => {\n if (result.isOK) {\n if (result.data !== null) {\n // this.LogOut(false);\n\n if (this.baseDatasvc.flightData !== null && this.baseDatasvc.flightData !== undefined) {\n const newFlightData = result.data.itinerary.find(x => x.paxLocator === this.baseDatasvc.flightData.paxLocator &&\n x.fltDepLclDate === this.baseDatasvc.flightData.fltDepLclDate);\n if (newFlightData !== null && newFlightData !== undefined) {\n this.baseDatasvc.flightData = newFlightData;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n } else {\n this.baseDatasvc.flightData = null;\n this.localStoragesvc.remove(LocalStorageType.FlightData);\n }\n }\n\n this.baseDatasvc.shoppingCarData = null;\n this.baseDatasvc.memberData = null;\n this.localStoragesvc.remove(LocalStorageType.member);\n\n result.data.TicketNumber = condition.TicketNumber;\n\n const memberData: MemberLoginData = {\n loginType: MemberLoginType.TicketNumber,\n loginData: result.data,\n loginTime: result.dataTime\n };\n\n this.baseDatasvc.memberData = memberData;\n this.localStoragesvc.add(LocalStorageType.member, memberData);\n\n this.isLoginSubject.next(true);\n this.memberPageReloadMethodCall.next();\n this.orderListsvc.orderPageReload();\n }\n }\n\n return result;\n }));\n }\n\n /// 3.1 會員登入驗證\n async CheckDfpID(condition: CheckDfpIDRequestModel): Promise>> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.CheckDfpID;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.DFP + ',' + //登入方式為會員登入\n condition.DfpCardNumber + ',' + //驗證卡號\n new Date().getTime())}); //驗證時間\n let Options = {\n headers: _headers\n };\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options).pipe(map(result => {\n if (result.isOK) {\n// const memberInfoCondition: GetDfpMemberInfoRequestModel = {\n// DfpCardNumber: condition.DfpCardNumber,\n// ClientIP: this.memberClientIp\n// };\n this.baseDatasvc.memberData = null;\n this.localStoragesvc.remove(LocalStorageType.member);\n\n const memberData: MemberLoginData = {\n loginType: MemberLoginType.DynastyMember,\n userData: result.data,\n loginTime: result.dataTime\n };\n this.baseDatasvc.memberData = memberData;\n this.localStoragesvc.add(LocalStorageType.member, memberData);\n\n this.isLoginSubject.next(true);\n }\n //this.localStoragesvc.remove(LocalStorageType.tokenid);\n return result;\n }));\n }\n\n /// 3.2 查詢哩程\n async GetMileage(condition: GetMileageRequestModel): Promise>> {\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.GetMileage;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.DFP + ',' +\n condition.DfpCardNumber + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n condition.LngNo = this.languagesvc.nowLangNo;\n return this.http.post>((apiUrl), condition, Options);\n }\n\n /// 3.3 取得會員資料\n// async GetDfpMemberInfo(condition: GetDfpMemberInfoRequestModel): Promise>> {\n// // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n// var _headers = new HttpHeaders({'Content-Type': 'application/json',\n// 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(new Date().getTime())});\n//\n// const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.GetDfpMemberInfo;\n//\n// let Options = {\n// headers: _headers\n// };\n//\n// return this.http.post>((apiUrl), condition, Options)\n// .pipe(map(result => {\n// if (result.isOK) {\n// const memberData: MemberLoginData = {\n// loginType: MemberLoginType.DynastyMember,\n// userData: result.data,\n// loginTime: result.dataTime\n// };\n//\n// this.baseDatasvc.memberData = memberData;\n// this.localStoragesvc.add(LocalStorageType.member, memberData);\n// this.isLoginSubject.next(true);\n//\n// return result;\n// }\n// }));\n// }\n\n\n /// 3.4 取得獎項清單\n async GetAwardList(condition: GetAwardListRequestModel): Promise>> {\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.GetAwardList;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.DFP + ',' +\n condition.DfpCardNumber + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options);\n }\n\n /// 6.1 取得登入頁 URL\n CheckEmpID(condition?: CheckEmpIDRequestModel): Observable> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.CheckEmpID;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.EMP + ',' +\n '' + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n\n condition.Callback_URL = this.callBackURL;\n condition.Error_URL = this.errorURL;\n condition.ClientIP = this.memberClientIp;\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options);\n }\n\n /// 6.2 取得登入結果\n GetLoginByGuid(condition: GetLoginByGuidRequestModel): Observable> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.GetLoginByGuid;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.EMP + ',' +\n '' + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n\n condition.ClientIP = this.memberClientIp;\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options).pipe(map(result => {\n if (result.isOK) {\n // const memberData: MemberLoginData = {\n // loginType: MemberLoginType.EmployID,\n // userData: {\n // GUID: result.data.GUID,\n // GROUP: result.data.GROUP,\n // EMPID: result.data.EMPID\n // },\n // loginTime: result.dataTime\n // };\n\n // this.baseDatasvc.memberData = memberData;\n // this.localStoragesvc.add(LocalStorageType.member, memberData);\n // this.isLoginSubject.next(true);\n }\n\n return result;\n }));\n }\n \n /// 檢查使用者是否過期\n checkMemberIsLogin(memberData?: MemberLoginData): boolean {\n if (memberData !== null) {\n //console.log(memberData);\n\n if (memberData.loginTime === undefined) {\n this.LogOut(true);\n return false;\n }\n\n const nowTime = new Date();\n const loginDate = new Date(memberData.loginTime);\n const timeOutDate = new Date(new Date().setHours(loginDate.getHours() + 3));\n\n if (nowTime >= timeOutDate) {\n this.LogOut(true);\n return false;\n }\n\n return true;\n }\n\n return false;\n }\n\n /// 3.5\n async CheckDfpIDAndName(condition: CheckDfpIDAndNameRequestModel): Promise>> {\n // const userIp = await this.ipsvc.getIPAddress().toPromise() as any;\n // condition.ClientIP = userIp ? userIp.ip : this.memberClientIp;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.DFP + ',' +\n condition.DfpCardNumber + ',' +\n new Date().getTime())});\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.CheckDfpIDAndName;\n\n let Options = {\n headers: _headers\n };\n\n condition.PaxName = this.baseDatasvc.memberData.loginData.paxLastName + '/' + this.baseDatasvc.memberData.loginData.paxFirstName;\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>((apiUrl), condition, Options).pipe(map(result => {\n if (result.isOK) {\n // const memberInfoCondition: GetDfpMemberInfoRequestModel = {\n // DfpCardNumber: condition.DfpCardNumber,\n // ClientIP: this.memberClientIp\n // };\n\n this.baseDatasvc.memberData = null;\n this.localStoragesvc.remove(LocalStorageType.member);\n\n const memberData: MemberLoginData = {\n loginType: MemberLoginType.DynastyMember,\n userData: result.data,\n loginTime: result.dataTime\n };\n \n this.baseDatasvc.memberData = memberData;\n this.localStoragesvc.add(LocalStorageType.member, memberData);\n\n this.isLoginSubject.next(true);\n }\n //this.localStoragesvc.remove(LocalStorageType.tokenid);\n return result;\n }));\n }\n\n /// 我的帳戶重整\n memberPageReload(): void {\n this.memberPageReloadMethodCall.next();\n }\n\n /// 變更航班\n changeFlightData(): void {\n this.changeFlightMethodCall.next();\n }\n\n getCaptcha(): Observable> {\n \n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.NONE + ',' +\n \"\" + ',' +\n new Date().getTime())});\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.CaptchaUrl + '?' + Date.now();\n\n let Options = {\n headers: _headers\n };\n\n\n return this.http.get>(apiUrl, Options).pipe(map(result => {\n return result;\n }));\n }\n}\n","import { ApiConfig } from './../config/api-config';\nimport { ResultModel } from './model/result-model';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/service/language.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable, EventEmitter } from '@angular/core';\nimport { OrderQueryModel } from './model/order/order-query.model';\nimport { OrderMainModel } from './model/order/order-main.model';\nimport { CancelOrderModel } from './model/order/cancel-order.model';\nimport { CryptoService } from './crypto.service';\nimport { FrontendLoginType } from '../core/enums/jwt/FrontendLogin-type.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderListService {\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n private orderPageReloadMethodCall = new Subject();\n orderPageReloadMethod = this.orderPageReloadMethodCall.asObservable();\n\n constructor(\n private cryptosvc: CryptoService,\n private http: HttpClient,\n private languagesvc: LanguageService\n ) { }\n\n /// 取得訂單列表\n getOrderList(condition: OrderQueryModel): Observable> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.OrderList;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.NONE + ',' +\n '' + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n condition.LngNo = this.languagesvc.nowLangNo;\n return this.http.post>(apiUrl, condition, Options);\n }\n\n /// 取得訂單\n getOrder(condition: OrderQueryModel): Observable> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Order + '?orderNumber=' + condition.OrderNumber;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.NONE + ',' +\n condition.OrderNumber + ',' +\n new Date().getTime())});\n\n\n let Options = {\n headers: _headers\n };\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>(apiUrl, null, Options);\n }\n\n /// 取消訂單\n cancelOrder(condition: CancelOrderModel): Observable> {\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.CancelOrder;\n var _headers = new HttpHeaders({'Content-Type': 'application/json',\n 'Authorization' : 'Bearer ' + this.cryptosvc.encryptData(FrontendLoginType.NONE + ',' +\n condition.FltDate + condition.OrderNumber + ',' +\n new Date().getTime())});\n let Options = {\n headers: _headers\n };\n condition.LngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>(apiUrl, condition, Options);\n }\n\n orderPageReload(): void {\n this.orderPageReloadMethodCall.next();\n }\n}\n","import { ApiConfig } from './../config/api-config';\nimport { ProductFeatureResultModel } from './model/product-feature/product-feature.model';\nimport { ResultModel } from './model/result-model';\nimport { Observable } from 'rxjs';\nimport { ProductFeatureConditionModel } from './model/product-feature/product-feature-condition.model';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { LanguageService } from './language.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductFeatureService {\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n constructor(\n private http: HttpClient,\n private languagesvc: LanguageService\n ) { }\n\n getData(condition: ProductFeatureConditionModel): Observable> {\n\n condition.lngNo = this.languagesvc.nowLangNo;\n\n return this.http.post>(\n (ApiConfig.APIDomain + ApiConfig.API.ProductFeature), condition, this.httpOptions);\n }\n}\n","import { BaseDataService } from './base-data.service';\nimport { map } from 'rxjs/operators';\nimport { FrontendRecommendProductsCondition } from './model/product/frontend-recommend-products-condition.model';\nimport { ExChangeResponseModel } from './model/member/exChangeResponse.model';\nimport { EShoppingApiResultModel } from './model/member/eShoppingApiResult.model';\nimport { ExChangeRequestModel } from './model/member/exChangeRequest.model';\nimport { LanguageService } from './language.service';\nimport { Injectable, Pipe } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\n\nimport { ResultModel } from './../service/model/result-model';\nimport { ProductConditionModel } from '../service/model/product/product-condition.model';\nimport { ProductResultModel, ProductModel } from '../service/model/product/product.model';\n\nimport { ApiConfig } from '../config/api-config';\nimport { DatePipe } from '@angular/common';\nimport { MemberLoginType } from '../core/enums/member/member-login-type.enum';\nimport { ProductType } from '../core/enums/product/product-type.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductService {\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n constructor(\n private http: HttpClient,\n private languagesvc: LanguageService,\n private datepipe: DatePipe,\n private baseDatasvc: BaseDataService,\n ) { }\n\n getProduct(condition: ProductConditionModel): Observable> {\n\n let nowDate = this.datepipe.transform(new Date(), 'yyyy/MM/dd').toString();\n\n if (this.baseDatasvc.flightData && this.baseDatasvc.flightData.loadDate) {\n nowDate = this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd').toString();\n }\n\n if (this.baseDatasvc.flightData) {\n condition.LoadStation = this.baseDatasvc.flightData.loadStation;\n condition.Flight = this.baseDatasvc.flightData.fltCarrier + this.baseDatasvc.flightData.fltNumber;\n condition.FltSector = this.baseDatasvc.flightData.fltDepStationCode + this.baseDatasvc.flightData.fltArvStationCode;\n }\n\n condition.LngNo = condition.LngNo === undefined ? this.languagesvc.nowLangNo : condition.LngNo;\n condition.FlightDate = nowDate;\n\n condition.ProductTypes = [ProductType.General];\n\n if (this.baseDatasvc.memberData) {\n switch (this.baseDatasvc.memberData.loginType) {\n case MemberLoginType.DynastyMember:\n condition.DfpMemberNo = this.baseDatasvc.memberData.userData.dfpCardNumber;\n condition.ProductTypes.push(ProductType.Member);\n break;\n case MemberLoginType.EmployID:\n condition.EmpNo = this.baseDatasvc.memberData.userData.EMPID;\n break;\n default:\n break;\n }\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Products;\n\n //console.log(condition);\n\n return this.http.post>(apiUrl, condition, this.httpOptions).pipe(map(result => {\n\n return result;\n }));\n }\n\n /// 2.1 商品金額幣別轉換\n ExChange(condition: ExChangeRequestModel): Observable> {\n\n if (this.baseDatasvc.flightData && this.baseDatasvc.flightData.loadDate) {\n condition.FltDate = this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyyMMdd').toString();\n }else\n {\n //2023-03-14調整\n if (condition.FltDate && condition.FltDate != \"\")\n {\n condition.FltDate = this.datepipe.transform(condition.FltDate, 'yyyyMMdd');\n }\n else\n {\n condition.FltDate = \"\";\n }\n }\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.eShoppingApi.ExChange;\n\n return this.http.post>((apiUrl), condition, this.httpOptions);\n }\n\n /// 推薦商品\n recommendProducts(condition: FrontendRecommendProductsCondition): Observable> {\n\n condition.LngNo = condition.LngNo === undefined ? this.languagesvc.nowLangNo : condition.LngNo;\n\n if (this.baseDatasvc.flightData) {\n condition.Flight = this.baseDatasvc.flightData.fltCarrier + this.baseDatasvc.flightData.fltNumber;\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.ProductRecommends;\n\n return this.http.post>(apiUrl, condition, this.httpOptions);\n }\n}\n","import { element } from 'protractor';\nimport { MemberLoginType } from './../core/enums/member/member-login-type.enum';\nimport { LocalStorageType } from './../core/enums/localStorage/local-storage-type.enum';\nimport { ProductService } from 'src/app/service/product.service';\nimport { ThrowStmt } from '@angular/compiler';\nimport { ShoppingCarErrorCode } from './../core/enums/shopping-car-error-code.enum';\nimport { data } from 'jquery';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GeneralPopModel, PopupService } from 'src/app/shared/popup/popup.service';\nimport { AlertService } from './../shared/alert/alert.service';\nimport { ProductType } from './../core/enums/product/product-type.enum';\nimport { MemberService } from 'src/app/service/member.service';\nimport { BaseDataService } from './base-data.service';\nimport { ShoppingCarCompleteModel } from './model/shopping/shopping-car-complete.model';\nimport { LanguageService } from './language.service';\nimport { ShoppingCartComponent } from './../layout/shopping-cart/shopping-cart.component';\nimport { ShoppingCarMainModel } from './model/shopping/shopping-car-main.model';\nimport { ShoppingCarQueryModel } from './model/shopping/shopping-car-query.model';\nimport { ShoppingCarExceptionLogModel } from './model/shopping/shopping-car-ExceptionLog.model';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ResultModel, ResultNoDataModel } from './model/result-model';\nimport { ShoppingCarItemModel } from './model/shopping/shopping-car-item.model';\nimport { Observable, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Injectable, EventEmitter } from '@angular/core';\nimport { ApiConfig } from '../config/api-config';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { LocalStorageService } from './local-storage.service';\nimport { ShoppingCartStep } from '../core/enums/shopping-cart/shopping-cart-step.enum';\n\nexport interface ShoppingCartAddModel {\n ProductNo: string;\n ProductType: ProductType;\n Count?: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartService {\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n public mobileShoppingCartIsopen = false;\n public pcShoppingCartIsopen = false;\n public shoppingCarData?: ShoppingCarMainModel = null;\n public shoppingCartStep = this.localStoragesvc.getByName(LocalStorageType.shoppingCartStep) !== undefined ?\n this.localStoragesvc.getByName(LocalStorageType.shoppingCartStep) :\n ShoppingCartStep.step1;\n\n callBackURL = ApiConfig.Domain + this.languagesvc.nowLangNo + '/shoppingCart/step4';\n errorURL = ApiConfig.Domain + this.languagesvc.nowLangNo + '/shoppingCart/failed';\n\n couponCode?: string;\n couponAmount?: number;\n\n private shoppingCartPageReloadMethodCall = new Subject();\n shoppingCartPageReloadMethod = this.shoppingCartPageReloadMethodCall.asObservable();\n\n private shoppingCartOpenMethodCall = new Subject();\n shoppingCartOpenMethod = this.shoppingCartOpenMethodCall.asObservable();\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private membersvc: MemberService,\n private languagesvc: LanguageService,\n private baseDatasvc: BaseDataService,\n private datepipe: DatePipe,\n private alertsvc: AlertService,\n private popupsvc: PopupService,\n private translateService: TranslateService,\n private productsvc: ProductService,\n private localStoragesvc: LocalStorageService\n ) {\n }\n\n openMobleShoppingCart(): void {\n this.mobileShoppingCartIsopen = true;\n document.getElementsByTagName('body')[0].classList.add('overflowHidden');\n document.getElementsByTagName('html')[0].classList.add('overflowHidden');\n }\n\n closeMobleShoppingCart(): void {\n this.mobileShoppingCartIsopen = false;\n document.getElementsByTagName('body')[0].classList.remove('overflowHidden');\n document.getElementsByTagName('html')[0].classList.remove('overflowHidden');\n }\n\n tooglePcShoppingCart(): void {\n this.pcShoppingCartIsopen = !this.pcShoppingCartIsopen;\n }\n\n openPcShoppingCart(isOpen: boolean): void {\n //console.log('openShoppingCart:' + isOpen);\n\n if (isOpen) {\n this.pcShoppingCartIsopen = true;\n this.shoppingCartOpenMethodCall.next();\n } else {\n this.pcShoppingCartIsopen = false;\n }\n }\n\n /// 加入購物車\n async shoppingAdd(productNo: string, productType: ProductType, count?: number): Promise>> {\n const popData: GeneralPopModel = {};\n\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n // this.alertsvc.openAlert('請先登入會員', false);\n\n this.membersvc.openLoginPopCon(MemberLoginType.DynastyMember, false);\n\n return;\n }\n\n if (!this.baseDatasvc.flightData) {\n popData.title = this.translateService.instant('shoppingCartAlertChooseFlightTitle');\n popData.content = this.translateService.instant('shoppingCartAlertChooseFlightContent');\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonCancel');\n popData.fightButtonText = this.translateService.instant('shoppingCartAlertChooseFlightChooseFlight');\n\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n\n // if (productType === ProductType.AddPurchase) {\n // console.log(this.baseDatasvc.shoppingCarData);\n\n // if (this.baseDatasvc.shoppingCarData.Details.length === 0) {\n // popData.title = this.translateService.instant('shoppingCartAlertCantAddTitle');\n // popData.content = this.translateService.instant('shoppingCartAlertCantAddContent');\n // popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonConfirm');\n\n // this.popupsvc.openGeralPop(popData);\n\n // return;\n // }\n // }\n\n let addCount = count ? count : 1;\n\n const result = await this.shoppingGet().toPromise();\n\n if (!result.Success) {\n /// 取得購物車失敗\n }\n //alert(result);\n var detailProduct = result.Data.Details.find(x => x.ProductNo === productNo);\n\n if (detailProduct && detailProduct !== undefined) {\n addCount = addCount + detailProduct.Count;\n\n if (addCount > detailProduct.MaxCount) {\n //購物車+增加數量 > 可預訂數量\n //console.log(result.Message);\n //const alertContent = this.translateService.instant('shoppingCartAlertLimitReachedContent1') + detailProduct.ProductNo + this.translateService.instant('shoppingCartAlertLimitReachedContent2') + detailProduct.MaxCount + this.translateService.instant('shoppingCartAlertLimitReachedContent3');\n const alertContent = this.translateService.instant('shoppingCartAlertLimitReachedContent1') + detailProduct.ProductNo + this.translateService.instant('shoppingCartAlertLimitReachedContent2');\n const popData: GeneralPopModel = {\n title: this.translateService.instant('shoppingCartAlertLimitReachedTitle'),\n content: alertContent,\n confirmButtonText: this.translateService.instant('shoppingCartAlertLimitReachedConfirm'),\n };\n //2023-01-10\n //預訂數量>最大可預訂數量, 扣掉多餘的購物車\n if (detailProduct.Count > detailProduct.MaxCount) {\n this.shoppingRemove(productNo, detailProduct.Count - detailProduct.MaxCount).subscribe(result => {\n if (result.Success) {\n //this.alertsvc.openAlert('已移除商品', true);\n } else {\n //this.alertsvc.openAlert(result.Message, false);\n }\n });\n }\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n }\n\n var memberProduct = result.Data.Members.find(x => x.ProductNo === productNo);\n\n //console.log(productNo);\n //console.log(result.Data.Members);\n //console.log(memberProduct);\n\n if (memberProduct && memberProduct !== undefined) {\n addCount = addCount + memberProduct.Count;\n\n if (addCount > memberProduct.MaxCount) {\n //console.log(result.Message);\n //const alertContent = this.translateService.instant('shoppingCartAlertLimitReachedContent1') + detailProduct.ProductNo + this.translateService.instant('shoppingCartAlertLimitReachedContent2') + detailProduct.MaxCount + this.translateService.instant('shoppingCartAlertLimitReachedContent3');\n const alertContent = this.translateService.instant('shoppingCartAlertLimitReachedContent1') + detailProduct.ProductNo + this.translateService.instant('shoppingCartAlertLimitReachedContent2');\n\n const popData: GeneralPopModel = {\n title: this.translateService.instant('shoppingCartAlertLimitReachedTitle'),\n content: alertContent,\n confirmButtonText: this.translateService.instant('shoppingCartAlertLimitReachedConfirm'),\n };\n //2023-01-10\n //預訂數量>最大可預訂數量, 扣掉多餘的購物車\n if (memberProduct.Count > memberProduct.MaxCount) {\n this.shoppingRemove(productNo, memberProduct.Count - memberProduct.MaxCount).subscribe(result => {\n if (result.Success) {\n //this.alertsvc.openAlert('已移除商品', true);\n } else {\n //this.alertsvc.openAlert(result.Message, false);\n }\n });\n }\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n }\n\n const condition: ShoppingCarItemModel = {\n ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n LoadStation: this.baseDatasvc.flightData.loadStation,\n ProductNo: productNo,\n Count: count ? count : 1,\n MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n FlightDate: String(this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd'))\n };\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Add;\n\n return this.http.post>(apiUrl, condition, this.httpOptions).pipe(map(result => {\n if (result.Success) {\n this.shoppingGet().subscribe(result => { });\n } else {\n switch (result.Data) {\n case ShoppingCarErrorCode.OutOfStock:\n {\n popData.title = this.translateService.instant('shoppingCartAlertOutOfStockTitle');\n popData.content = this.translateService.instant('shoppingCartAlertOutOfStockContent');;\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertOutOfStockConfirm');\n\n this.popupsvc.openGeralPop(popData);\n\n break;\n }\n\n case ShoppingCarErrorCode.NotProduct:\n {\n break;\n }\n\n case ShoppingCarErrorCode.NotAnyProductItem:\n {\n popData.title = this.translateService.instant('shoppingCartAlertCantAddTitle');\n popData.content = this.translateService.instant('shoppingCartAlertCantAddContent');;\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonConfirm');\n\n this.popupsvc.openGeralPop(popData);\n\n break;\n }\n\n default:\n break;\n }\n }\n\n return result;\n }));\n }\n\n async shoppingAddMutiple(orderNumber: string): Promise>> {\n const popData: GeneralPopModel = {};\n\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n this.alertsvc.openAlert('請先登入會員', false);\n return;\n }\n\n if (!this.baseDatasvc.flightData) {\n popData.title = this.translateService.instant('shoppingCartAlertChooseFlightTitle');\n popData.content = this.translateService.instant('shoppingCartAlertChooseFlightContent');\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonCancel');\n popData.fightButtonText = this.translateService.instant('shoppingCartAlertChooseFlightChooseFlight');\n\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n\n const condition: ShoppingCarItemModel = {\n ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n LoadStation: this.baseDatasvc.flightData.loadStation,\n MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n FlightDate: String(this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd')),\n OrderNumber: orderNumber\n };\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Add;\n\n return this.http.post>(apiUrl, condition, this.httpOptions).pipe(map(result => {\n if (result.Success) {\n this.shoppingGet().subscribe(result => { });\n } else {\n switch (result.Data) {\n case ShoppingCarErrorCode.OutOfStock:\n {\n popData.title = this.translateService.instant('shoppingCartAlertOutOfStockTitle');\n popData.content = this.translateService.instant('shoppingCartAlertOutOfStockContent');;\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertOutOfStockConfirm');\n\n this.popupsvc.openGeralPop(popData);\n\n break;\n }\n\n case ShoppingCarErrorCode.NotProduct:\n {\n break;\n }\n\n case ShoppingCarErrorCode.NotAnyProductItem:\n {\n popData.title = this.translateService.instant('shoppingCartAlertCantAddTitle');\n popData.content = this.translateService.instant('shoppingCartAlertCantAddContent');;\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonConfirm');\n\n this.popupsvc.openGeralPop(popData);\n\n break;\n }\n\n default:\n break;\n }\n }\n\n return result;\n }));\n }\n\n // async shoppingAddMutiple(products: ShoppingCartAddModel[]): Promise {\n // const popData: GeneralPopModel = {};\n\n // if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n // this.alertsvc.openAlert('請先登入會員', false);\n // return;\n // }\n\n // if (!this.baseDatasvc.flightData) {\n // popData.title = this.translateService.instant('shoppingCartAlertChooseFlightTitle');\n // popData.content = this.translateService.instant('shoppingCartAlertChooseFlightContent');\n // popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonCancel');\n // popData.fightButtonText = this.translateService.instant('shoppingCartAlertChooseFlightChooseFlight');\n\n // this.popupsvc.openGeralPop(popData);\n\n // return;\n // }\n\n // const getCartResult = await this.shoppingGet().toPromise();\n // const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Add;\n\n // if (!getCartResult.Success) {\n // /// 取得購物車失敗\n // }\n\n // products.forEach(async element => {\n // let addCount = element.Count ? element.Count : 1;\n\n // var detailProduct = getCartResult.Data.Details.find(x => x.ProductNo === element.ProductNo);\n\n // if (detailProduct || detailProduct !== undefined) {\n // addCount = addCount + detailProduct.Count;\n\n // if (addCount > detailProduct.MaxCount) {\n // return;\n // }\n // }\n\n // var memberProduct = getCartResult.Data.Members.find(x => x.ProductNo === element.ProductNo);\n\n // if (memberProduct || memberProduct !== undefined) {\n // addCount = addCount + memberProduct.Count;\n\n // if (addCount > detailProduct.MaxCount) {\n // return;\n // }\n // }\n\n // const condition: ShoppingCarItemModel = {\n // ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n // LoadStation: this.baseDatasvc.flightData.loadStation,\n // ProductNo: element.ProductNo,\n // Count: addCount,\n // MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n // FlightDate: this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd').toString()\n // };\n\n // var addResult = await this.http.post>(apiUrl, condition, this.httpOptions).toPromise();\n\n // console.log(addResult);\n // });\n\n // const result: ResultNoDataModel = {\n // Success: true,\n // Message: '' as null\n // }\n\n // return result;\n // }\n\n /// 移除購物車項目\n shoppingRemove(productNo: string, count: number): Observable {\n const popData: GeneralPopModel = {};\n\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n this.alertsvc.openAlert('請先登入會員', false);\n return;\n }\n\n if (!this.baseDatasvc.flightData) {\n popData.title = this.translateService.instant('shoppingCartAlertChooseFlightTitle');\n popData.content = this.translateService.instant('shoppingCartAlertChooseFlightContent');\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonCancel');\n popData.fightButtonText = this.translateService.instant('shoppingCartAlertChooseFlightChooseFlight');\n\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n\n const condition: ShoppingCarItemModel = {\n ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n LoadStation: this.baseDatasvc.flightData.loadStation,\n ProductNo: productNo,\n Count: count,\n MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n FlightDate: String(this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd'))\n };\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Remove;\n\n return this.http.post((apiUrl), condition, this.httpOptions).pipe(map(result => {\n if (result.Success) {\n this.shoppingGet().subscribe(result => { });\n }\n\n return result;\n }));\n }\n\n /// 取得購物車\n shoppingGet(coupon?: string): Observable> {\n const condition: ShoppingCarQueryModel = {\n LngNo: this.languagesvc.nowLangNo,\n ShoppingNo: this.membersvc.generateShoppingCarNo(),\n MemberCardNo: this.baseDatasvc.memberData.userData ? this.baseDatasvc.memberData.userData.dfpCardType : this.baseDatasvc.memberData.loginData.dfpCardType\n };\n\n if (coupon) {\n condition.Coupon = coupon;\n }\n\n if (this.baseDatasvc.flightData) {\n condition.LoadStation = this.baseDatasvc.flightData.loadStation;\n }\n \n if (this.baseDatasvc.flightData && this.baseDatasvc.flightData.fltDepLclDate)\n {\n condition.FlightDate = String(this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd'));\n } \n\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.DynastyMember) {\n condition.DfpMemberNo = this.baseDatasvc.memberData.userData.dfpCardNumber;\n }\n\n if (this.baseDatasvc.memberData.loginType === MemberLoginType.EmployID) {\n condition.EmpNo = this.baseDatasvc.memberData.userData.EMPID;\n }\n\n //console.log(condition);\n //console.log(this.baseDatasvc.memberData.loginType);\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Get;\n\n return this.http.post>((apiUrl), condition, this.httpOptions).pipe(map(result => {\n //console.log(result);\n\n if (result.Success) {\n this.baseDatasvc.shoppingCarData = result.Data;\n this.baseDatasvc.shoppingCarCount = result.Data.Details.length + result.Data.Members.length;\n\n if (coupon) {\n if (result.Data.IsCoupon) {\n this.couponCode = coupon;\n this.couponCode = result.Data.CouponNumber;\n this.couponAmount = result.Data.CouponAmount;\n }\n } else {\n this.couponCode = null;\n }\n }\n return result;\n }));\n }\n\n /// 購物車完成\n shoppingComplete(condition: ShoppingCarCompleteModel): Observable> {\n\n //2023-01-10完成訂單前檢查購物車\n let stockChange = false;\n this.shoppingGet().subscribe(result => {\n if (result.Success) {\n //調整庫存\n if (result.Data.Details && result.Data.Details !== undefined) {\n result.Data.Details.forEach(detailData => {\n if (detailData.Count > detailData.MaxCount) {\n this.shoppingRemove(detailData.ProductNo, detailData.Count - detailData.MaxCount).subscribe(result => {\n if (result.Success) {\n if (!stockChange) { stockChange = true;}\n //this.alertsvc.openAlert('已移除商品', true);\n } else {\n //this.alertsvc.openAlert(result.Message, false);\n }\n });\n }\n });\n }\n //預訂數量>最大可預訂數量, 扣掉多餘的購物車\n //調整庫存\n if (result.Data.Members && result.Data.Members !== undefined) {\n result.Data.Members.forEach(detailData => {\n if (detailData.Count > detailData.MaxCount) {\n this.shoppingRemove(detailData.ProductNo, detailData.Count - detailData.MaxCount).subscribe(result => {\n if (result.Success) {\n if (!stockChange) { stockChange = true; }\n //this.alertsvc.openAlert('已移除商品', true);\n } else {\n //this.alertsvc.openAlert(result.Message, false);\n }\n });\n }\n });\n }\n }\n });\n //if (stockChange){}\n condition.CallbackURL = this.callBackURL;\n condition.ErrorURL = this.errorURL;\n condition.LngNo = this.languagesvc.nowLangNo;\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Complete;\n\n return this.http.post>((apiUrl), condition, this.httpOptions).pipe(map(result => {\n return result;\n }));\n }\n\n /// 確認付款狀態\n shoppingCheckOrder(guid: string): Observable> {\n const condition = {\n Guid: guid,\n LngNo: this.languagesvc.nowLangNo\n };\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.CheckOrder;\n\n return this.http.post>((apiUrl), condition, this.httpOptions).pipe(map(result => {\n return result;\n }));\n }\n\n /// 刪除商品判斷\n /// 判斷是否是加購商品\n /// 如果是則判斷購物車內是否有一班商品\n shoppingCartRemoveFromCart(productNo: string, productType: ProductType, count: number, isShoppingCart: boolean): void {\n const popData: GeneralPopModel = {};\n\n if ((productType === ProductType.General || productType === ProductType.Member) &&\n this.baseDatasvc.shoppingCarData.Details.filter(x => x.ProductType === ProductType.AddPurchase).length >= 1) {\n let shoppingCartProductCount = 0;\n\n if (this.baseDatasvc.shoppingCarData.Details) {\n shoppingCartProductCount = shoppingCartProductCount + this.baseDatasvc.shoppingCarData.Details.filter(x => x.ProductType === ProductType.General).length;\n }\n\n if (this.baseDatasvc.shoppingCarData.Members) {\n shoppingCartProductCount = shoppingCartProductCount + this.baseDatasvc.shoppingCarData.Members.length;\n }\n\n if (shoppingCartProductCount == 1) {\n popData.title = this.translateService.instant('shoppingCartAlertRemoveTitle');\n popData.content = this.translateService.instant('shoppingCartAlertRemoveContent');\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonCancel');\n popData.removeAllProductConfirmText = this.translateService.instant('shoppingCartAlertButtonRemove');\n\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n }\n\n this.shoppingRemove(productNo, count).subscribe(result => {\n if (result.Success) {\n this.alertsvc.openAlert('已移除商品', true);\n\n if (isShoppingCart) {\n this.shoppingCartPageReloadMethodCall.next();\n }\n } else {\n this.alertsvc.openAlert(result.Message, false);\n }\n });\n }\n\n /// 刪除所有 detail 商品\n shoppingCartRemoveAllDetails(): void {\n this.popupsvc.closeAll();\n\n this.baseDatasvc.shoppingCarData.Details.forEach(detailData => {\n const condition: ShoppingCarItemModel = {\n ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n LoadStation: this.baseDatasvc.flightData.loadStation,\n ProductNo: detailData.ProductNo,\n Count: detailData.Count,\n MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n FlightDate: String(this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd'))\n };\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Remove;\n\n this.http.post((apiUrl), condition, this.httpOptions).subscribe(result => {\n if (result.Success) {\n this.shoppingGet().subscribe(result => { });\n }\n });\n });\n }\n\n /// 刪除所有購物車商品\n shoppingCartRemoveAll(): Observable> {\n const popData: GeneralPopModel = {};\n\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData)) {\n this.alertsvc.openAlert('請先登入會員', false);\n return;\n }\n\n if (!this.baseDatasvc.flightData) {\n popData.title = this.translateService.instant('shoppingCartAlertChooseFlightTitle');\n popData.content = this.translateService.instant('shoppingCartAlertChooseFlightContent');\n popData.confirmButtonText = this.translateService.instant('shoppingCartAlertButtonCancel');\n popData.fightButtonText = this.translateService.instant('shoppingCartAlertChooseFlightChooseFlight');\n\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.RemoveAll + '?shoppingCarNo=' + this.membersvc.generateShoppingCarNo();\n\n return this.http.get>(apiUrl).pipe(map(result => {\n if (result.Success) {\n this.baseDatasvc.shoppingCarData = null;\n this.shoppingGet().subscribe();\n }\n\n return result;\n }));\n\n // this.baseDatasvc.shoppingCarData.Details.forEach(detailData => {\n // console.log(detailData);\n\n // const condition: ShoppingCarItemModel = {\n // ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n // LoadStation: this.baseDatasvc.flightData.loadStation,\n // ProductNo: detailData.ProductNo,\n // Count: detailData.Count,\n // MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n // FlightDate: this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd').toString()\n // };\n\n //\n\n // const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Remove;\n\n // this.http.post((apiUrl), condition, this.httpOptions).subscribe(result => {\n //\n\n // if (result.Success) {\n // this.shoppingGet().subscribe(result => { });\n // }\n // });\n // });\n\n // this.baseDatasvc.shoppingCarData.Members.forEach(memberData => {\n // console.log(memberData);\n\n // const condition: ShoppingCarItemModel = {\n // ShoppingCarNo: this.membersvc.generateShoppingCarNo(),\n // LoadStation: this.baseDatasvc.flightData.loadStation,\n // ProductNo: memberData.ProductNo,\n // Count: memberData.Count,\n // MemberCardNo: this.baseDatasvc.memberData.loginData.dfpCardType,\n // FlightDate: this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd').toString()\n // };\n\n //\n\n // const apiUrl = ApiConfig.APIDomain + ApiConfig.API.Shopping.Remove;\n\n // this.http.post((apiUrl), condition, this.httpOptions).subscribe(result => {\n //\n\n // if (result.Success) {\n // this.shoppingGet().subscribe(result => { });\n // }\n // });\n // });\n }\n \n shoppingCartExceptionLog(condition: ShoppingCarExceptionLogModel) {\n //2023-11-07新增結帳錯誤log\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.ExceptionLog;\n this.http.post(apiUrl, condition, this.httpOptions);\n }\n\n changeShoppingCartStep(step: ShoppingCartStep): void {\n this.localStoragesvc.remove(LocalStorageType.shoppingCartStep);\n this.localStoragesvc.add(LocalStorageType.shoppingCartStep, step);\n this.shoppingCartStep = step;\n }\n}\n","import { BaseDataService } from './base-data.service';\nimport { TopNewsConditionModel } from './model/top-news/top-news-condition.model';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHandler, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { LanguageService } from './language.service';\nimport { TopNewsModel, TopNewsResultModel } from './model/top-news/top-news.model';\nimport { ResultModel } from './model/result-model';\n\nimport { ApiConfig } from '../config/api-config';\nimport { DatePipe } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TopNewsService {\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n constructor(\n private http: HttpClient,\n private languagesvc: LanguageService,\n private datepipe: DatePipe,\n private baseDatasvc: BaseDataService\n ) { }\n\n getData(condition: TopNewsConditionModel): Observable> {\n\n condition.lngNo = this.languagesvc.nowLangNo;\n let nowDate = this.datepipe.transform(new Date(), 'yyyy/MM/dd').toString();\n\n if (this.baseDatasvc.flightData && this.baseDatasvc.flightData.loadDate) {\n nowDate = this.datepipe.transform(this.baseDatasvc.flightData.fltDepLclDate, 'yyyy/MM/dd').toString();\n }\n condition.FltDate = nowDate;\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.TopNews;\n\n return this.http.post>(apiUrl, condition, this.httpOptions);\n }\n}\n","import { ApiConfig } from './../config/api-config';\nimport { IsKeepMsg } from './../core/enums/wish-list/is-keep-msg.enum';\nimport { FrontendProductKeepModel } from './model/wish-list/frontend-product-keep.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { DatePipe } from '@angular/common';\nimport { ShoppingCartService } from 'src/app/service/shopping-cart.service';\nimport { ProductType } from './../core/enums/product/product-type.enum';\nimport { MemberLoginType } from './../core/enums/member/member-login-type.enum';\nimport { GeneralPopModel, PopupService } from './../shared/popup/popup.service';\nimport { AlertService } from './../shared/alert/alert.service';\nimport { MemberService } from './member.service';\nimport { LocalStorageService } from './local-storage.service';\nimport { Injectable } from '@angular/core';\nimport { WishListModel } from './model/wish-list/wish-list.model';\nimport { LocalStorageType } from '../core/enums/localStorage/local-storage-type.enum';\nimport { element } from 'protractor';\nimport { map, retry } from 'rxjs/operators';\nimport { ShoppingCarQueryModel } from './model/shopping/shopping-car-query.model';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ResultModel } from './model/result-model';\nimport { R3FactoryDelegateType } from '@angular/compiler/src/render3/r3_factory';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class WishListService {\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n private wishListRemoveMethodCall = new Subject();\n wishListRemoveMethod = this.wishListRemoveMethodCall.asObservable();\n\n private wishListAddMethodCall = new Subject();\n wishListAddMethod = this.wishListAddMethodCall.asObservable();\n\n wishProductAddArray = [];\n wishProductRemoveArray = [];\n\n constructor(\n private http: HttpClient,\n private membersvc: MemberService,\n private localStoragesvc: LocalStorageService,\n private shoppingCartsvc: ShoppingCartService,\n private alertsvc: AlertService,\n private popupsvc: PopupService,\n private datepipe: DatePipe,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService\n ) { }\n\n addToWishList(productNo: string, productType: ProductType, isKeep: boolean): void {\n\n var isKeep = this.isInWishList(productNo, isKeep);\n\n if (!this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData) ||\n this.baseDatasvc.memberData.loginType !== undefined &&\n (this.baseDatasvc.memberData.loginType === MemberLoginType.PnrLogin ||\n this.baseDatasvc.memberData.loginType === MemberLoginType.TicketNumber)) {\n\n const popData: GeneralPopModel = {\n title: this.translateService.instant('AlertWishListAddTitle'),\n content: this.translateService.instant('AlertWishListAddContent'),\n confirmButtonText: this.translateService.instant('AlertWishListAddButtonLater'),\n loginButtonText: this.translateService.instant('AlertWishListAddButtonLogin')\n };\n\n this.popupsvc.openGeralPop(popData);\n\n return;\n }\n\n // this.create(productNo);\n if (!isKeep) {\n this.productKeepAdd(productNo);\n } else {\n this.ProductKeepRemove(productNo);\n }\n }\n\n create(productNo: string): void {\n\n const newRow: WishListModel = {\n MemberNo: this.baseDatasvc.memberData.loginData.dfpCardNumber,\n ProdyctNo: productNo,\n CreateTime: new Date()\n };\n\n let wishListAry = this.localStoragesvc.getByName(LocalStorageType.WishList);\n\n if (wishListAry === undefined) {\n const newWishAry: WishListModel[] = [newRow];\n this.localStoragesvc.add(LocalStorageType.WishList, newWishAry);\n } else {\n\n if (wishListAry.filter(x => x.MemberNo === this.baseDatasvc.memberData.loginData.dfpCardNumber &&\n x.ProdyctNo === productNo).length > 0) {\n\n const exsitRow = wishListAry.filter(x => x.MemberNo === this.baseDatasvc.memberData.loginData.dfpCardNumber &&\n x.ProdyctNo === productNo);\n\n exsitRow.forEach(element => {\n\n const nowItem = element as WishListModel;\n\n wishListAry = wishListAry.filter(x => x !== nowItem);\n });\n\n this.alertsvc.openAlert(this.translateService.instant('RemoveWishList'), true);\n } else {\n\n wishListAry.push(newRow);\n this.alertsvc.openAlert(this.translateService.instant('AddWishList'), true);\n }\n\n this.localStoragesvc.remove(LocalStorageType.WishList);\n this.localStoragesvc.add(LocalStorageType.WishList, wishListAry);\n }\n }\n\n mutipleCreate(productNoAry: string[]): void {\n\n let doneCount = 0;\n\n productNoAry.forEach(async element => {\n\n const condition: FrontendProductKeepModel = {\n ProductNo: element\n };\n\n switch (this.baseDatasvc.memberData.loginType) {\n case MemberLoginType.DynastyMember:\n condition.DfpMemberNo = this.baseDatasvc.memberData.userData.dfpCardNumber;\n break;\n case MemberLoginType.EmployID:\n condition.EmpNo = this.baseDatasvc.memberData.userData.EMPID;\n break;\n case MemberLoginType.PnrLogin:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n case MemberLoginType.TicketNumber:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n default:\n break;\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.ProductKeepAdd\n const result = await this.http.post>(apiUrl, condition, this.httpOptions).toPromise();\n doneCount++;\n\n if (productNoAry.length === doneCount) {\n this.wishListAddMethodCall.next();\n this.alertsvc.openAlert(this.translateService.instant('AddWishList'), true);\n }\n });\n\n // const wishListAry = this.localStoragesvc.getByName(LocalStorageType.WishList);\n\n // const addRowAry: WishListModel[] = [];\n\n // const dfpCardNo = this.baseDatasvc.memberData.loginData ?\n // this.baseDatasvc.memberData.loginData.dfpCardNumber :\n // this.baseDatasvc.memberData.userData.dfpCardNumber;\n\n // productNoAry.forEach(element => {\n\n // const newRow: WishListModel = {\n // MemberNo: dfpCardNo,\n // ProdyctNo: element,\n // CreateTime: new Date()\n // };\n\n // addRowAry.push(newRow);\n\n // });\n\n // if (wishListAry === undefined) {\n\n // const newWishAry: WishListModel[] = [];\n\n // addRowAry.forEach(element => {\n\n // newWishAry.push(element);\n // });\n\n // this.localStoragesvc.add(LocalStorageType.WishList, newWishAry);\n // } else {\n\n // addRowAry.forEach(element => {\n\n // if (wishListAry.filter(x => x.MemberNo === dfpCardNo &&\n // x.ProdyctNo === element.ProdyctNo).length === 0) {\n\n // wishListAry.push(element);\n // }\n // });\n\n // this.localStoragesvc.remove(LocalStorageType.WishList);\n // this.localStoragesvc.add(LocalStorageType.WishList, wishListAry);\n\n // this.alertsvc.openAlert('已加入願望清單', true);\n // }\n }\n\n removeAll(productNoAry: string[]): void {\n\n let doneCount = 0;\n\n productNoAry.forEach(async element => {\n\n const condition: FrontendProductKeepModel = {\n ProductNo: element\n };\n\n switch (this.baseDatasvc.memberData.loginType) {\n case MemberLoginType.DynastyMember:\n condition.DfpMemberNo = this.baseDatasvc.memberData.userData.dfpCardNumber;\n break;\n case MemberLoginType.EmployID:\n condition.EmpNo = this.baseDatasvc.memberData.userData.EMPID;\n break;\n case MemberLoginType.PnrLogin:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n case MemberLoginType.TicketNumber:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n default:\n break;\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.ProductKeepRemove\n const result = await this.http.post>(apiUrl, condition, this.httpOptions).toPromise();\n doneCount++;\n\n if (productNoAry.length === doneCount) {\n this.wishListRemoveMethodCall.next();\n }\n });\n }\n\n getWishListAry(memberNo: string): WishListModel[] {\n\n const wishListAry = this.localStoragesvc.getByName(LocalStorageType.WishList);\n\n let returnAry: WishListModel[] = [];\n\n if (wishListAry !== undefined && this.membersvc.isLoginSubject.value) {\n\n const dfpCardNo = this.baseDatasvc.memberData.loginData ?\n this.baseDatasvc.memberData.loginData.dfpCardNumber :\n this.baseDatasvc.memberData.userData.dfpCardNumber;\n\n const userWishListAry = wishListAry.filter(x => x.MemberNo === dfpCardNo);\n\n if (userWishListAry.length > 0) {\n\n returnAry = userWishListAry;\n\n return returnAry;\n }\n }\n\n return returnAry;\n }\n\n isInWishList(productNo: string, isKeep: boolean): boolean {\n\n let isInWishList = isKeep;\n\n if (this.wishProductAddArray.length > 0) {\n const userWishListAry = this.wishProductAddArray.filter(x => x === productNo);\n if (userWishListAry.length > 0) {\n isInWishList = true;\n }\n }\n\n if (this.wishProductRemoveArray.length > 0) {\n const userWishListAry = this.wishProductRemoveArray.filter(x => x === productNo);\n if (userWishListAry.length > 0) {\n isInWishList = false;\n }\n }\n\n return isInWishList;\n\n // if (this.membersvc.checkMemberIsLogin(this.baseDatasvc.memberData) && this.baseDatasvc.memberData !== undefined) {\n\n // if (this.baseDatasvc.memberData.loginType === MemberLoginType.DynastyMember) {\n\n // const wishListAry = this.localStoragesvc.getByName(LocalStorageType.WishList);\n\n // if (wishListAry !== undefined && this.membersvc.isLoginSubject.value) {\n\n // const dfpCardNo = this.baseDatasvc.memberData.loginData ?\n // this.baseDatasvc.memberData.loginData.dfpCardNumber :\n // this.baseDatasvc.memberData.userData.dfpCardNumber;\n\n // const userWishListAry = wishListAry.filter(x => x.MemberNo === dfpCardNo && x.ProdyctNo === productNo);\n\n // if (userWishListAry.length > 0) {\n\n // return true;\n // }\n // }\n // }\n // }\n\n // return false;\n }\n\n productKeepAdd(productNo: string): void {\n\n const condition: FrontendProductKeepModel = {\n ProductNo: productNo\n };\n\n switch (this.baseDatasvc.memberData.loginType) {\n case MemberLoginType.DynastyMember:\n condition.DfpMemberNo = this.baseDatasvc.memberData.userData.dfpCardNumber;\n break;\n case MemberLoginType.EmployID:\n condition.EmpNo = this.baseDatasvc.memberData.userData.EMPID;\n break;\n case MemberLoginType.PnrLogin:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n case MemberLoginType.TicketNumber:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n default:\n break;\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.ProductKeepAdd\n\n this.http.post>(apiUrl, condition, this.httpOptions).pipe(map(result => {\n\n if (result.Success) {\n this.wishProductAddArray.push(productNo);\n this.wishProductRemoveArray = this.wishProductRemoveArray.filter(x => x !== productNo);\n this.wishListAddMethodCall.next();\n this.alertsvc.openAlert(this.translateService.instant('AddWishList'), true);\n }\n\n return result;\n })).subscribe();\n }\n\n ProductKeepRemove(productNo: string): void {\n const condition: FrontendProductKeepModel = {\n ProductNo: productNo\n };\n\n switch (this.baseDatasvc.memberData.loginType) {\n case MemberLoginType.DynastyMember:\n condition.DfpMemberNo = this.baseDatasvc.memberData.userData.dfpCardNumber;\n break;\n case MemberLoginType.EmployID:\n condition.EmpNo = this.baseDatasvc.memberData.userData.EMPID;\n break;\n case MemberLoginType.PnrLogin:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n case MemberLoginType.TicketNumber:\n condition.ShoppingCarNo = this.membersvc.generateShoppingCarNo();\n break;\n default:\n break;\n }\n\n const apiUrl = ApiConfig.APIDomain + ApiConfig.API.ProductKeepRemove\n\n this.http.post>(apiUrl, condition, this.httpOptions).pipe(map(result => {\n if (result.Success) {\n this.wishProductRemoveArray.push(productNo);\n this.wishProductAddArray = this.wishProductAddArray.filter(x => x !== productNo);\n this.wishListRemoveMethodCall.next(productNo);\n this.alertsvc.openAlert(this.translateService.instant('RemoveWishList'), true);\n }\n })).subscribe();\n }\n}\n","import { AlertService } from './alert.service';\nimport { Component, OnInit, OnDestroy, Input, ElementRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AlertComponent implements OnInit, OnDestroy {\n\n @Input() id: string;\n\n private element: any;\n\n constructor(\n private alertsvc: AlertService,\n private el: ElementRef\n ) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n\n if (!this.id) {\n\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.element.addEventListener('click', el => {\n\n if (this.id !== 'loading') {\n if (el.target.className === 'alert-model') {\n this.close();\n }\n }\n });\n\n if (this.element.classList.contains('center')) {\n this.element.children[0].classList.add('center');\n }\n\n this.alertsvc.add(this);\n }\n\n ngOnDestroy(): void {\n this.alertsvc.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.element.style.display = 'block';\n document.body.classList.add('alert-model-open');\n }\n\n close(): void {\n this.element.style.display = 'none';\n document.body.classList.remove('alert-model-open');\n }\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AlertComponent } from './alert.component';\n\n\n\n@NgModule({\n declarations: [AlertComponent],\n imports: [CommonModule],\n exports: [AlertComponent]\n})\nexport class AlertModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n\n private alerts: any[] = [];\n\n public alertId = 'mainAlert';\n public alertText = '';\n public alertOpenIsOk = true;\n constructor() { }\n\n add(alert: any): void {\n this.alerts.push(alert);\n }\n\n remove(id: string): void {\n this.alerts = this.alerts.filter(x => x.id !== id);\n }\n\n open(id: string): void {\n\n const alert = this.alerts.find(x => x.id === id);\n alert.open();\n }\n\n close(id: string): void {\n const alert = this.alerts.find(x => x.id === id);\n alert.close();\n }\n\n openAlert(text: string, isOk: boolean): void {\n\n const alert = this.alerts.find(x => x.id === this.alertId);\n\n this.alertText = text;\n\n this.alertOpenIsOk = isOk;\n\n alert.open();\n\n setTimeout(() => {\n\n alert.close();\n }, 2000);\n }\n\n openLoading(isOpen: boolean): void {\n\n const alert = this.alerts.find(x => x.id === 'loading');\n\n if (isOpen) {\n\n alert.open();\n\n } else {\n\n alert.close();\n }\n }\n}\n","import { transition } from '@angular/animations';\nimport { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';\n\nimport paginate from 'jw-paginate';\n\n@Component({\n selector: 'app-jw-pagination',\n templateUrl: './jw-pagination.component.html',\n styleUrls: ['./jw-pagination.component.css']\n})\n\nexport class JwPaginationComponent implements OnInit, OnChanges {\n @Input() items: Array;\n @Output() changePage = new EventEmitter(true);\n @Input() initialPage = 1;\n @Input() pageSize = 10;\n @Input() maxPages = 10;\n\n pager: any = {};\n\n ngOnInit() {\n // set page if items array isn't empty\n if (this.items && this.items.length) {\n this.setPage(this.initialPage);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // reset page if items array has changed\n\n if (changes.items === null || changes.items.currentValue !== changes.items.previousValue) {\n this.setPage(this.initialPage);\n }\n }\n\n setPage(page: number) {\n // get new pager object for specified page\n this.pager = paginate(this.items.length, page, this.pageSize, this.maxPages);\n\n // get new page of items from items array\n var pageOfItems = this.items.slice(this.pager.startIndex, this.pager.endIndex + 1);\n\n // call change page function in parent component\n this.changePage.emit(page);\n }\n}\n","\n","import { MobilePageToolService } from './mobile-page-tool.service';\nimport { LayoutService } from './../../layout/layout.service';\nimport { Component, OnInit, OnDestroy, Input, ElementRef } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'app-mobile-page-tool',\n templateUrl: './mobile-page-tool.component.html',\n styleUrls: ['./mobile-page-tool.component.css'],\n animations: [\n trigger('slideInOut', [\n state('open', style({\n transform: 'translateX(0%)'\n })),\n state('closed', style({\n transform: 'translateX(-100%)'\n })),\n transition('closed => open', [\n animate('0.3s linear')\n ]),\n transition('open => closed', [\n animate('0.3s linear')\n ])\n ])\n ]\n})\nexport class MobilePageToolComponent implements OnInit, OnDestroy {\n\n @Input() id: string;\n\n private element: any;\n isOpen = false;\n\n constructor(\n private mobilePageToolsvc: MobilePageToolService,\n public layoutsvc: LayoutService,\n private el: ElementRef\n ) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n\n if (!this.id) {\n\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.mobilePageToolsvc.add(this);\n }\n\n ngOnDestroy(): void {\n this.mobilePageToolsvc.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.isOpen = this.mobilePageToolsvc.isOpen;\n document.getElementsByTagName('body')[0].classList.add('overflowHidden');\n document.getElementsByTagName('html')[0].classList.add('overflowHidden');\n }\n\n close(): void {\n this.isOpen = false;\n this.mobilePageToolsvc.isOpen = false;\n document.getElementsByTagName('body')[0].classList.remove('overflowHidden');\n document.getElementsByTagName('html')[0].classList.remove('overflowHidden');\n }\n\n}\n","
    \n\n
    \n
    \n
    \n \n
    \n \"\"\n
    \n
    \n
    \n
    \n
    \n\n \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MobilePageToolComponent } from './mobile-page-tool.component';\n\n\n\n@NgModule({\n declarations: [MobilePageToolComponent],\n imports: [CommonModule],\n exports: [MobilePageToolComponent]\n})\nexport class MobilePageToolModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobilePageToolService {\n\n private mobilePageTools: any[] = [];\n\n isOpen = false;\n\n constructor() { }\n\n add(alert: any): void {\n this.mobilePageTools.push(alert);\n }\n\n remove(id: string): void {\n this.mobilePageTools = this.mobilePageTools.filter(x => x.id !== id);\n }\n\n open(id: string): void {\n\n const alert = this.mobilePageTools.find(x => x.id === id);\n this.isOpen = true;\n alert.open();\n }\n\n close(id: string): void {\n const alert = this.mobilePageTools.find(x => x.id === id);\n this.isOpen = false;\n alert.close();\n }\n\n}\n","import { MobilePageToolService } from './../mobile-page-tool.service';\nimport { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CategoryType } from 'src/app/core/enums/server/category-type.enum';\nimport { LayoutService } from 'src/app/layout/layout.service';\nimport { MenuService } from 'src/app/layout/menu/menu.service';\nimport { SearchStepEnum } from 'src/app/layout/search/search-step-enum.enum';\nimport { SearchService } from 'src/app/layout/search/search.service';\nimport { ProductQueryModel } from 'src/app/routes/product/product-Query.model';\nimport { LanguageService } from 'src/app/service/language.service';\nimport { BrandDataModel } from 'src/app/service/model/brand/brand.model';\nimport { MenuDataModel } from 'src/app/service/model/menu/menu.model';\nimport { ProductFeatureConditionModel } from 'src/app/service/model/product-feature/product-feature-condition.model';\nimport { ProductFeatureModel } from 'src/app/service/model/product-feature/product-feature.model';\nimport { ProductConditionModel } from 'src/app/service/model/product/product-condition.model';\nimport { ProductFeatureService } from 'src/app/service/product-feature.service';\n\nexport enum searchValueTypeEnum {\n Categorie,\n SubCategorie,\n BranchCategorie,\n ProductFeature,\n Brand\n}\n\n@Component({\n selector: 'app-mobile-product-filter',\n templateUrl: './mobile-product-filter.component.html',\n styleUrls: ['./mobile-product-filter.component.css']\n})\nexport class MobileProductFilterComponent implements OnInit {\n\n searchStepEnum = SearchStepEnum;\n @Input() brandDataAry: BrandDataModel[] = [];\n @Input() toolId: string;\n\n @Output() searchSubmit = new EventEmitter();\n @ViewChild('tKeyword') tKeyword: NgModel;\n\n productQueryModel?: ProductQueryModel = null;\n\n searchValueType = searchValueTypeEnum;\n brandsData: BrandDataModel[];\n CategorieAry: MenuDataModel[];\n categorieIds: number[] = [];\n subCategorieIds: number[] = [];\n productFeatureAry: ProductFeatureModel[] = [];\n eventCategorieIds: number[] = [];\n branchCategorieIds: number[] = [];\n brandIds: number[] = [];\n productFeatureIds: number[] = [];\n\n constructor(\n private route: Router,\n private activatedRoute: ActivatedRoute,\n public layoutsvc: LayoutService,\n private el: ElementRef,\n public searchsvc: SearchService,\n public languagesvc: LanguageService,\n private productFeaturesvc: ProductFeatureService,\n private menusvc: MenuService,\n private mobilePageToolsvc: MobilePageToolService\n ) { }\n\n ngOnInit(): void {\n\n\n this.activatedRoute.queryParams.subscribe(params => {\n\n this.productQueryModel = params as ProductQueryModel;\n\n this.getProductFeature();\n this.getCatalogList();\n });\n }\n\n changePage(searchStep: SearchStepEnum): void {\n this.searchsvc.searchStep = searchStep;\n }\n backPage(searchStep: SearchStepEnum): void {\n switch (searchStep) {\n case (this.searchStepEnum.Step2): {\n this.searchsvc.searchStep = this.searchStepEnum.Step1;\n break;\n }\n case (this.searchStepEnum.Step3): {\n this.searchsvc.searchStep = this.searchStepEnum.Step2;\n break;\n }\n default: {\n this.searchsvc.searchStep = this.searchStepEnum.Step1;\n }\n }\n }\n getProductFeature(): void {\n\n const condition: ProductFeatureConditionModel = { PageSize: 1000 };\n\n this.productFeaturesvc.getData(condition).subscribe(result => {\n\n if (result !== undefined && result.Data.Datas !== undefined) {\n\n this.productFeatureAry = result.Data.Datas;\n }\n },\n (error) => {\n\n });\n }\n getCatalogList(): void {\n\n this.CategorieAry = [];\n this.categorieIds = [];\n this.subCategorieIds = [];\n this.eventCategorieIds = [];\n this.brandIds = [];\n this.productFeatureIds = [];\n\n this.menusvc.getData(false).subscribe(result => {\n\n if (result.Success) {\n\n // const mainCategorieAry = result.Data.filter(x => x.CategoryType === CategoryType.Type1);\n\n if (this.productQueryModel !== null) {\n\n if (this.productQueryModel.categoryIds !== undefined &&\n this.productQueryModel.categoryIds.length > 0) {\n\n const categoryIdAry = this.productQueryModel.categoryIds.split(',').map(Number);\n\n categoryIdAry.forEach(element => {\n\n this.categorieIds.push(element);\n\n this.CategorieAry.push(result.Data.filter(x => x.Id === element)[0]);\n });\n }else{\n\n this.CategorieAry = result.Data.filter(x => x.CategoryType === CategoryType.Type1);\n }\n\n if (this.productQueryModel.eventCategorieIds !== undefined &&\n this.productQueryModel.eventCategorieIds.length > 0) {\n\n const eventCategorieIdAry = this.productQueryModel.eventCategorieIds.split(',').map(Number);\n\n eventCategorieIdAry.forEach(element => {\n\n this.eventCategorieIds.push(element);\n });\n }\n\n if (this.productQueryModel.subIds !== undefined &&\n this.productQueryModel.subIds.length > 0) {\n\n const subIdAry = this.productQueryModel.subIds.split(',').map(Number);\n\n subIdAry.forEach(element => {\n\n this.subCategorieIds.push(element);\n });\n }\n\n if (this.productQueryModel.branchIds !== undefined &&\n this.productQueryModel.branchIds.length > 0) {\n\n const branchIdAry = this.productQueryModel.branchIds.split(',').map(Number);\n\n branchIdAry.forEach(element => {\n\n this.branchCategorieIds.push(element);\n });\n }\n\n if (this.productQueryModel.productFeatureIds !== undefined &&\n this.productQueryModel.productFeatureIds.length > 0) {\n\n const productFeatureAry = this.productQueryModel.productFeatureIds.split(',').map(Number);\n\n productFeatureAry.forEach(element => {\n\n this.productFeatureIds.push(element);\n });\n }\n }\n }\n }, (error) => { });\n }\n valueChange($event, valueType: searchValueTypeEnum, valueId: number): void {\n\n const checkStatus: boolean = $event.target.checked;\n\n switch (valueType) {\n\n case searchValueTypeEnum.Categorie: {\n\n const parentnode = $event.target.closest('.primary_category');\n const subinputnodes = Array.prototype.slice.call(parentnode.getElementsByClassName('subcategories')[0].getElementsByClassName('subcategoriesCheckbox'));\n\n if (checkStatus === true) {\n\n this.categorieIds.push(valueId);\n } else {\n\n this.categorieIds = this.categorieIds.filter(id => id !== valueId);\n subinputnodes.forEach(element => {\n\n const subValueId = Number(element.getAttribute('data-valueId'));\n\n element.checked = false;\n this.subCategorieIds = this.subCategorieIds.filter(id => id !== subValueId);\n });\n }\n\n\n break;\n }\n\n case searchValueTypeEnum.SubCategorie: {\n\n if (checkStatus === true) {\n\n this.subCategorieIds.push(valueId);\n } else {\n\n this.subCategorieIds = this.subCategorieIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.BranchCategorie: {\n\n if (checkStatus === true) {\n\n this.branchCategorieIds.push(valueId);\n } else {\n\n this.branchCategorieIds = this.branchCategorieIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.Brand: {\n\n if (checkStatus === true) {\n\n this.brandIds.push(valueId);\n } else {\n\n this.brandIds = this.brandIds.filter(id => id !== valueId);\n }\n break;\n }\n\n case searchValueTypeEnum.ProductFeature: {\n\n if (checkStatus === true) {\n\n this.productFeatureIds.push(valueId);\n } else {\n\n this.productFeatureIds = this.productFeatureIds.filter(id => id !== valueId);\n }\n break;\n }\n\n default: {\n break;\n }\n }\n\n }\n search(): void {\n\n const condition: ProductConditionModel = {\n CategoryIds: this.categorieIds !== undefined && this.categorieIds.length > 0 ? this.categorieIds : null,\n SubCategoryIds: this.subCategorieIds !== undefined && this.subCategorieIds.length > 0 ? this.subCategorieIds : null,\n ProductFeatureIds: this.productFeatureIds !== undefined && this.productFeatureIds.length > 0 ? this.productFeatureIds : null,\n BrandIds: this.brandIds !== undefined && this.brandIds.length > 0 ? this.brandIds : null,\n PageNumber: 1\n };\n\n\n\n this.searchSubmit.emit(condition);\n this.mobilePageToolsvc.close(this.toolId);\n }\n cancelSearch(): void {\n this.categorieIds = [];\n this.subCategorieIds = [];\n this.branchCategorieIds = [];\n this.brandIds = [];\n this.productFeatureIds = [];\n\n const searchContainer = document.getElementsByClassName('sky-search-item-mb')[0];\n\n const checkboxs = Array.prototype.slice.call(document.getElementsByClassName('search_check_box'));\n\n checkboxs.forEach(element => {\n\n element.checked = false;\n });\n\n const filterItems = Array.prototype.slice.call(document.getElementsByClassName('filterItem'));\n\n filterItems.forEach(element => {\n\n element.setAttribute('aria-expanded', false);\n element.classList.remove('collapsed');\n element.classList.add('collapsed');\n });\n\n const collapses = Array.prototype.slice.call(document.getElementsByClassName('collapse'));\n\n collapses.forEach(element => {\n\n element.classList.remove('show');\n });\n\n this.mobilePageToolsvc.close(this.toolId);\n }\n}\n","
    \n\n \n
    \n
    \n

    {{\"MobileProductFilterCATEGORIES\" | translate}}

    \n
    \n
    \n \n
    \n
    \n

    {{\"MobileProductFilterFEATURES\" | translate}}

    \n
    \n
    \n \n
    \n
    \n

    {{\"MobileProductFilterPRICE(USD)\" | translate}}

    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n","import { Component, OnInit, OnDestroy, Input, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { PopupService } from './popup.service';\n\n@Component({\n selector: 'app-popup',\n templateUrl: './popup.component.html',\n styleUrls: ['./popup.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PopupComponent implements OnInit, OnDestroy {\n\n @Input() id: string;\n\n private element: any;\n\n isCenter = false;\n isTop = false;\n\n constructor(\n private popupsvc: PopupService,\n private el: ElementRef\n ) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n\n if (!this.id) {\n\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.element.addEventListener('click', el => {\n if (el.target.className === 'popup-model') {\n this.close();\n }\n });\n\n if (this.element.classList.contains('center')) {\n this.element.children[0].classList.add('center');\n }\n\n this.popupsvc.add(this);\n }\n\n ngOnDestroy(): void {\n this.popupsvc.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.element.style.display = 'block';\n document.body.classList.add('popup-model-open');\n }\n\n close(): void {\n this.element.style.display = 'none';\n document.body.classList.remove('popup-model-open');\n }\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopupComponent } from './popup.component';\n\n\n\n@NgModule({\n declarations: [PopupComponent],\n imports: [CommonModule],\n exports: [PopupComponent]\n})\nexport class PopupModule { }\n","import { element } from 'protractor';\nimport { Injectable } from '@angular/core';\nimport { ProductType } from 'src/app/core/enums/product/product-type.enum';\n\nexport interface GeneralPopModel {\n title?: string;\n content?: string;\n confirmButtonText?: string;\n fightButtonText?: string;\n loginButtonText?: string;\n removeAllProductConfirmText?: string;\n removeProductConfirmText?: string;\n productData?: GeneralPopProductDataModel;\n}\n\nexport interface GeneralPopProductDataModel {\n popRemoveProductNo: string;\n popRemoveProductType: ProductType;\n popRemoveCount: number;\n isShoppingCart: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PopupService {\n\n private popups: any[] = [];\n\n wishListCheckId = 'wishListCheck';\n generalPop = 'generalPop';\n\n generalPopData?: GeneralPopModel = null;\n\n\n constructor() { }\n\n add(popup: any): void {\n this.popups.push(popup);\n }\n\n remove(id: string): void {\n this.popups = this.popups.filter(x => x.id !== id);\n }\n\n open(id: string, isCenter?: boolean, isTop?: boolean): void {\n const popup = this.popups.find(x => x.id === id);\n\n popup.open();\n\n if (isCenter !== null) {\n popup.isCenter = isCenter;\n }else{\n popup.isCenter = false;\n }\n\n if (isTop) {\n popup.isTop = true;\n }else{\n popup.isTop = false;\n }\n }\n\n close(id: string): void {\n const popup = this.popups.find(x => x.id === id);\n popup.close();\n }\n\n closeAll(): void {\n\n this.popups.forEach(element => {\n\n const popup = this.popups.find(x => x.id === element.id);\n popup.close();\n });\n }\n\n openGeralPop(data: GeneralPopModel): void {\n\n this.generalPopData = data;\n\n this.open(this.generalPop, true);\n }\n}\n","import { ProductType } from './../../../core/enums/product/product-type.enum';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { LanguageService } from './../../../service/language.service';\nimport { ProductModel } from './../../../service/model/product/product.model';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { MemberService } from 'src/app/service/member.service';\nimport { ShoppingCartService } from 'src/app/service/shopping-cart.service';\nimport { AlertService } from '../../alert/alert.service';\nimport { ShoppingCarItemModel } from 'src/app/service/model/shopping/shopping-car-item.model';\nimport { WishListService } from 'src/app/service/wish-list.service';\nimport { ShoppingCartStep } from 'src/app/core/enums/shopping-cart/shopping-cart-step.enum';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-product-image-text',\n templateUrl: './product-image-text.component.html',\n styleUrls: ['./product-image-text.component.css']\n})\nexport class ProductImageTextComponent implements OnInit {\n\n @Input() productAllCount: number;\n @Input() productList: ProductModel[];\n @Input() productEnList: ProductModel[] = [];\n @Input() productTwPriceAry = [];\n @Input() productTwOldPriceAry = [];\n @Input() productType: ProductType = ProductType.General;\n\n constructor(\n private router: Router,\n private membersvc: MemberService,\n private shoppingcartsvc: ShoppingCartService,\n private alertsvc: AlertService,\n public languagesvc: LanguageService,\n public wishListSvc: WishListService,\n private datepipe: DatePipe,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n }\n\n async addShoppingCart(productNo: string, productType: ProductType): Promise {\n\n (await this.shoppingcartsvc.shoppingAdd(productNo, productType)).subscribe(result => {\n\n if (result.Success) {\n\n this.alertsvc.openAlert(this.translateService.instant('AddShoppingCart'), true);\n }\n });\n }\n async buyNow(productNo: string, productType: ProductType): Promise {\n\n (await this.shoppingcartsvc.shoppingAdd(productNo, productType)).subscribe(result => {\n\n if (result.Success) {\n\n this.alertsvc.openAlert(this.translateService.instant('AddShoppingCart'), true);\n\n this.router.navigate([this.languagesvc.nowLangNo + '/shoppingCart', ShoppingCartStep[ShoppingCartStep.step1]]);\n }\n });\n }\n getProductEnName(No: string): string {\n\n let enName = '';\n\n const product = this.productEnList.find(x => x.No === No);\n\n if (product) {\n\n enName = product.ProductName;\n }\n\n return enName;\n }\n}\n","
    \n
    \n
    \n
    \n \n
    0\">\n \n
    \n
    \n
    \n
    \n
    {{item.ProductFeatureName}}
    \n
    \n
    \n

    {{\"ProductDetailItemNo\" | translate}} : {{productData.No}}

    \n

    {{productData.BrandName}}

    \n

    \n {{productData.ProductName}}\n 0\">\n
    \n {{this.getProductEnName(productData.No)}}\n
    \n

    \n\n
    \n

    0\">\n USD {{productData.Price}}\n 0 && this.productTwPriceAry[i]\">\n / TWD {{this.productTwPriceAry[i]}}\n \n

    \n \n USD {{productData.OldPrice}}\n 0 && this.productTwOldPriceAry[i]\">\n / TWD {{this.productTwOldPriceAry[i]}}\n \n \n
    \n
    \n\n
    \n \n {{\"ProductButtonBuyNow\" | translate}}\n
    \n
    \n
    \n
    \n
    \n","import { ProductType } from './../../../core/enums/product/product-type.enum';\nimport { BaseDataService } from 'src/app/service/base-data.service';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { now } from 'jquery';\nimport { WishListService } from './../../../service/wish-list.service';\nimport { LanguageService } from './../../../service/language.service';\nimport { AlertService } from './../../alert/alert.service';\nimport { MemberService } from './../../../service/member.service';\nimport { ShoppingCartService } from './../../../service/shopping-cart.service';\nimport { ProductModel } from './../../../service/model/product/product.model';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { ShoppingCarItemModel } from 'src/app/service/model/shopping/shopping-car-item.model';\nimport { ShoppingCartStep } from 'src/app/core/enums/shopping-cart/shopping-cart-step.enum';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-product-img',\n templateUrl: './product-img.component.html',\n styleUrls: ['./product-img.component.css']\n})\nexport class ProductImgComponent implements OnInit {\n\n @Input() productAllCount: number;\n @Input() productList: ProductModel[];\n @Input() productEnList: ProductModel[] = [];\n @Input() productTwPriceAry = [];\n @Input() productTwOldPriceAry = [];\n @Input() productType: ProductType = ProductType.General;\n\n constructor(\n private router: Router,\n private membersvc: MemberService,\n private shoppingcartsvc: ShoppingCartService,\n private alertsvc: AlertService,\n public languagesvc: LanguageService,\n public wishListSvc: WishListService,\n private datepipe: DatePipe,\n public baseDatasvc: BaseDataService,\n private translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n\n }\n\n async addShoppingCart(productNo: string, productType: ProductType): Promise {\n\n (await this.shoppingcartsvc.shoppingAdd(productNo, productType)).subscribe(result => {\n\n if (result.Success) {\n\n this.alertsvc.openAlert(this.translateService.instant('AddShoppingCart'), true);\n }\n });\n }\n async buyNow(productNo: string, productType: ProductType): Promise {\n\n (await this.shoppingcartsvc.shoppingAdd(productNo, productType)).subscribe(result => {\n\n if (result.Success) {\n\n this.alertsvc.openAlert(this.translateService.instant('AddShoppingCart'), true);\n\n this.router.navigate([this.languagesvc.nowLangNo + '/shoppingCart', ShoppingCartStep[ShoppingCartStep.step1]]);\n }\n });\n }\n getProductEnName(No: string): string {\n\n let enName = '';\n\n const product = this.productEnList.find(x => x.No === No);\n\n if (product) {\n\n enName = product.ProductName;\n }\n\n return enName;\n }\n}\n","\n","import { YoutubeUrlPipe } from './../core/pipe/youtube-url.pipe';\nimport { AlertModule } from './alert/alert.module';\nimport { UnescapeHtmlPipe } from './../core/pipe/unescape-html.pipe';\nimport { EnumToArrayPipe } from './../core/pipe/enum-to-array.pipe';\nimport { OwlcarouselDirective } from './../core/directive/owalcarousel.directive';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { PopupModule } from './popup/popup.module';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ProductImgComponent } from './product/product-img/product-img.component';\nimport { ProductImageTextComponent } from './product/product-image-text/product-image-text.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgxPaginationModule } from 'ngx-pagination/dist/ngx-pagination.module';\nimport { JwPaginationComponent } from './jw-pagination/jw-pagination.component';\nimport { MobilePageToolModule } from './mobile-page-tool/mobile-page-tool.module';\nimport { MobileProductFilterComponent } from './mobile-page-tool/mobile-product-filter/mobile-product-filter.component';\nimport { SafeHtmlPipe } from '../core/pipe/safe-html.pipe';\n\n@NgModule({\n declarations: [\n OwlcarouselDirective,\n EnumToArrayPipe,\n YoutubeUrlPipe,\n UnescapeHtmlPipe,\n SafeHtmlPipe,\n ProductImgComponent,\n ProductImageTextComponent,\n JwPaginationComponent,\n MobileProductFilterComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n TranslateModule,\n ],\n exports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n PopupModule,\n AlertModule,\n OwlcarouselDirective,\n EnumToArrayPipe,\n UnescapeHtmlPipe,\n SafeHtmlPipe,\n YoutubeUrlPipe,\n ProductImgComponent,\n ProductImageTextComponent,\n TranslateModule,\n JwPaginationComponent,\n MobilePageToolModule,\n MobileProductFilterComponent\n ]\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: SharedModule\n };\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: true\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n\r\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\n platformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n});\n"],"sourceRoot":"webpack:///"}