{"version":3,"file":"main.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;ACpPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA","sources":["./src/app/api/auth-api.service.ts","./src/app/api/generate-token-api.service.ts","./src/app/api/menu-api.service.ts","./src/app/api/message-api.service.ts","./src/app/api/profile.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/layout/cookie/cookie.component.ts","./src/app/components/layout/sidebar/sidebar.component.ts","./src/app/constants/apiUrl.ts","./src/app/constants/app-version.ts","./src/app/constants/cookie.ts","./src/app/constants/cryptoJs.ts","./src/app/constants/enum.ts","./src/app/constants/iframe-constants.ts","./src/app/constants/logo.ts","./src/app/constants/map.ts","./src/app/constants/menu.ts","./src/app/constants/storage.ts","./src/app/constants/text-size.ts","./src/app/map/coreMapFunction.ts","./src/app/services/auth.service.ts","./src/app/services/axios-listener.service.ts","./src/app/services/custom-encode.service.ts","./src/app/services/fcm.service.ts","./src/app/services/function-listener.service.ts","./src/app/services/header.service.ts","./src/app/services/http-request.service.ts","./src/app/services/iframe-listener.service.ts","./src/app/services/loader.service.ts","./src/app/services/menu.service.ts","./src/app/store/actions/app-setting.action.ts","./src/app/store/actions/estate.action.ts","./src/app/store/actions/form-info.action.ts","./src/app/store/actions/map-survey.action.ts","./src/app/store/actions/profile.action.ts","./src/app/store/config-middleware.ts","./src/app/store/config-reducers.ts","./src/app/store/middlewares/map-survey.middleware.ts","./src/app/store/reducers/app-setting.reducer.ts","./src/app/store/reducers/estate.reducer.ts","./src/app/store/reducers/form-info.reducer.ts","./src/app/store/reducers/profile.reducer.ts","./src/app/store/store.module.ts","./src/app/utils/cipher.ts","./src/app/utils/storage.ts","./src/app/utils/utilityFunction.ts","./src/environments/environment.prod-web.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm|lazy|/^/.*/.entry/.js$/|include: /.entry/.js$/|exclude: /.system/.entry/.js$/|groupOptions: {}|namespace object","./node_modules/@stencil/core/internal/client|lazy|/^/.*/.entry/.js.*$/|include: /.entry/.js$/|exclude: /.system/.entry/.js$/|groupOptions: {}|namespace object","ignored|C:\\Projects\\2022\\BMA\\taxmap-verify-web\\node_modules\\crypto-js|crypto"],"sourcesContent":["import { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Injectable } from '@angular/core';\nimport { apiUrl } from '../constants/apiUrl';\nimport { HttpRequestService } from '../services/http-request.service';\nimport { encryptAES } from '../utils/cipher';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthApi {\n constructor(private httpRequestService: HttpRequestService) {}\n\n async login(param: LoginRequestType): Promise {\n try {\n const result = await this.httpRequestService.axiosPost(\n apiUrl.login,\n {\n username: encryptAES(param.username),\n password: encryptAES(param.password),\n // ...param\n }\n );\n const response = {\n data: result.data,\n status: result.status,\n message: '',\n };\n return response;\n } catch (error) {\n return error.toString();\n }\n }\n\n async resendEmail(param: ResendEmailRequestType) {\n try {\n const result = await this.httpRequestService.axiosPost(\n apiUrl.resendEmail,\n param\n );\n\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async register(param: RegisterRequestType): Promise {\n try {\n const result = await this.httpRequestService.axiosPost(\n apiUrl.register,\n param\n );\n const response = {\n data: result.data,\n status: result.status,\n message: '',\n };\n return response;\n } catch (error) {\n return error.toString();\n }\n }\n\n // async registerLegal(\n // param: RegisterLegalRequestType\n // ): Promise {\n // try {\n // const result = await this.httpRequestService.axiosPost(\n // apiUrl.registerLegal,\n // param\n // );\n // const response = {\n // data: result.data,\n // status: result.status,\n // message: '',\n // };\n // return response;\n // } catch (error) {\n // return error.toString();\n // }\n // }\n\n async forgetPassword(param: ForgetPasswordRequestType) {\n try {\n const result = await this.httpRequestService.axiosPost(\n apiUrl.forgetPassword,\n param\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async changePassword(param: ChangePasswordRequestType) {\n try {\n const result = await this.httpRequestService.axiosPut(\n apiUrl.changePassword,\n param\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async userExist(\n param: UserExistRequestType\n ): Promise {\n try {\n const result = await this.httpRequestService.axiosPost(\n apiUrl.userExist,\n param\n );\n const response = {\n data: result.data,\n status: result.status,\n message: '',\n };\n return response;\n } catch (error) {\n return error.toString();\n }\n }\n\n async verifyEmail(token: string) {\n try {\n const result = await this.httpRequestService.axiosGet(\n apiUrl.verify.replace('{token}', token)\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async verifyForget(token: string) {\n try {\n const result = await this.httpRequestService.axiosGet(\n apiUrl.verifyForget.replace('{token}', token)\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async setPassword(param: ChangePasswordRequestType) {\n try {\n const result = await this.httpRequestService.axiosPut(\n apiUrl.setPassword,\n param\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async getMenuPermission() {\n const result = await this.httpRequestService.axiosGetWithToken(\n apiUrl.menuPermission\n );\n return result.data;\n }\n\n async getMenuByToken(token: string) {\n const config: AxiosRequestConfig = {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n };\n const result = await this.httpRequestService.axiosGet(\n apiUrl.menuPermission,\n config\n );\n return result.data;\n }\n\n async getAdministrative(provCode?: string, districtCode?: string) {\n let url = new URL(apiUrl.administrative);\n if (provCode) url.searchParams.set('provCode', provCode.toString());\n if (districtCode)\n url.searchParams.set('districtCode', districtCode.toString());\n\n const result = await this.httpRequestService.axiosGet(url.toString());\n const response = result.data.map((item) => {\n return { id: item.code, name: item.name };\n });\n return response;\n }\n\n async profileChangePassword(data: ProfileChangePasswordRequestType) {\n try {\n const result = await this.httpRequestService.axiosPostWithToken(\n apiUrl.profileChangePassword,\n {\n oldPassword: encryptAES(data.oldPassword),\n newPassword: encryptAES(data.newPassword),\n }\n // data\n );\n return result.data;\n } catch (error) {\n return error.toString();\n }\n }\n\n async resendMail(param: ResendEmailRequestType) {\n try {\n const result = await this.httpRequestService.axiosPost(\n apiUrl.resendEmail,\n param\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async checkOwnerExist() {\n try {\n const result = await this.httpRequestService.axiosGetWithToken(\n apiUrl.ownerExist\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async getOwnerNames() {\n try {\n const result = await this.httpRequestService.axiosGetWithToken(\n apiUrl.ownerNames\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async checkUserOwnerExistByIdCard(idCard: string) {\n try {\n const result = await this.httpRequestService.axiosGet(\n apiUrl.userOwnerExistByIdCard.replace('{idCard}', idCard)\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { apiUrl } from '../constants/apiUrl';\nimport { HttpRequestService } from '../services/http-request.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GenerateTokenAPI {\n constructor(private httpRequestService: HttpRequestService) {}\n\n getToken = async (refreshToken: string) => {\n try {\n const url = `${apiUrl.getToken}?refreshToken=${refreshToken}`;\n const response = await this.httpRequestService.axiosGet(url);\n return response;\n } catch (error) {\n return error.toString();\n }\n };\n}\n","import { Injectable } from '@angular/core';\nimport { apiUrl } from '../constants/apiUrl';\nimport { HttpRequestService } from '../services/http-request.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuApi {\n constructor(\n private httpRequestService: HttpRequestService,\n ) {}\n\n async getMenu() {\n const result = await this.httpRequestService.axiosGet(apiUrl.menu);\n return result.data;\n }\n\n async getMenuShortcut() {\n const result = await this.httpRequestService.axiosGet(\n apiUrl.menuShortcut\n );\n return result.data;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { apiUrl } from '../constants/apiUrl';\nimport { HttpRequestService } from '../services/http-request.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MessageApi {\n constructor(\n private httpRequestService: HttpRequestService,\n ) {}\n\n async getMessage() {\n const result = await this.httpRequestService.axiosGetWithToken(\n apiUrl.message\n );\n return result.data || [];\n }\n\n async setReadAllMessage() {\n const result = await this.httpRequestService.axiosPutWithToken(\n apiUrl.messageRead\n );\n return result.data;\n }\n\n async setReadMessageById(messageId: number) {\n const result = await this.httpRequestService.axiosPutWithToken(\n `${apiUrl.messageRead}/${messageId}`\n );\n return result.data;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { apiUrl } from '../constants/apiUrl';\nimport { HttpRequestService } from '../services/http-request.service';\nimport { getLocalStorage } from '../utils/storage';\nimport { keyStorage } from '../constants/storage';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n constructor(private httpRequestService: HttpRequestService) {}\n\n async getProfile() {\n try {\n // const result = await this.httpRequestService.axiosGetWithToken(\n // apiUrl.profile\n // );\n const isAdmin = getLocalStorage(keyStorage.isAdmin) === '1';\n const result = await this.httpRequestService.axiosPostWithToken(apiUrl.profile, { isAdmin: isAdmin});\n const response = {\n data: result.data as ProfileResponse | undefined,\n status: result.status,\n message: '',\n };\n return response;\n } catch (error) {\n return error;\n }\n }\n\n async updateProfile(param: any) {\n try {\n const result = await this.httpRequestService.axiosPutWithToken(\n apiUrl.profileUpdate,\n param\n );\n const response = {\n data: result.data,\n status: result.status,\n message: '',\n };\n return response;\n } catch (error) {\n return error;\n }\n }\n\n async deleteProfile() {\n try {\n const result = await this.httpRequestService.axiosDeleteWithToken(\n apiUrl.deleteUser\n );\n const response = {\n data: result.data,\n status: result.status,\n message: '',\n };\n return response;\n } catch (error) {\n return error;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\nimport { AxAuthenticationGuard } from '@atlasx/core/authentication';\n\nconst routes: Routes = [\n {\n path: 'home',\n loadChildren: () =>\n import('./home/home.module').then((m) => m.HomePageModule),\n },\n {\n path: 'gis',\n loadChildren: () =>\n import('./gis/gis.module').then((m) => m.GisPageModule),\n },\n {\n path: 'login',\n loadChildren: () =>\n import('./login/login.module').then((m) => m.LoginPageModule),\n },\n // {\n // path: 'callback',\n // loadChildren: () =>\n // import('./core/callback/callback.module').then(\n // (m) => m.CallbackPageModule\n // ),\n // },\n {\n path: 'callback',\n loadChildren: () =>\n import('./pages/callback/callback.module').then(\n (m) => m.CallbackPageModule\n ),\n },\n {\n path: 'um',\n canActivate: [AxAuthenticationGuard],\n loadChildren: () =>\n import('./um/um.module').then((m) => m.UmPageModule),\n },\n {\n path: '',\n loadChildren: () =>\n import('./pages/layout/layout.module').then(\n (m) => m.LayoutPageModule\n ),\n },\n {\n path: 'landing',\n loadChildren: () =>\n import('./pages/landing/landing.module').then(\n (m) => m.LandingPageModule\n ),\n },\n {\n path: '**',\n redirectTo: '/landing',\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }),\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnInit,\n} from '@angular/core';\nimport { SplashScreen } from '@capacitor/splash-screen';\nimport { Router } from '@angular/router';\nimport { NgZone } from '@angular/core';\nimport { App, URLOpenListenerEvent } from '@capacitor/app';\nimport {\n APP_MAIN,\n APP_WEBSITE_NAME,\n APP_PORTAL_VERIFY_URL,\n} from '../environments/environment';\n// import { StatusBar } from '@ionic-native/status-bar/ngx';\n\nimport { IframeListenerService } from './services/iframe-listener.service';\nimport { AxiosListenerService } from './services/axios-listener.service';\nimport { IframeNavigatePath } from './constants/iframe-constants';\nimport { AuthService } from './services/auth.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppComponent implements AfterViewInit {\n constructor(\n private router: Router,\n private zone: NgZone,\n private iframeListenerService: IframeListenerService,\n private axiosListener: AxiosListenerService,\n private authService: AuthService\n ) {\n this.iframeListenerService.subscribe();\n this.deepLink();\n this.refreshApp();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n SplashScreen.hide();\n }, 300);\n }\n\n refreshApp = async () => {\n this.zone.run(async () => {\n const isNotCallbackPath =\n window.location.pathname.indexOf('/callback') === -1;\n const isNotLogoutPath =\n window.location.pathname.indexOf(\n `/${IframeNavigatePath.LOGOUT}`\n ) === -1;\n const isNotRegisterPath =\n window.location.pathname.indexOf(\n `/${IframeNavigatePath.REGISTER}`\n ) === -1;\n\n // const isNotVerifyAdminPath = !/\\S+.(verify\\/).([^\\/]+)$/g.test(\n // window.location.pathname\n // ); // ..../verify/....token....\n\n if (\n isNotCallbackPath &&\n isNotLogoutPath &&\n isNotRegisterPath //&&\n //isNotVerifyAdminPath\n ) {\n await this.authService.authWithToken();\n }\n this.axiosListener.subscribeAxios();\n\n setTimeout(() => {\n SplashScreen.hide();\n }, 300);\n });\n // }\n };\n\n deepLink() {\n App.addListener('appUrlOpen', (event: URLOpenListenerEvent) => {\n const accessUrl = event.url;\n this.zone.run(() => {\n const isAccessWithPortalVerifyUrl: boolean =\n accessUrl.indexOf(APP_PORTAL_VERIFY_URL) !== -1;\n if (isAccessWithPortalVerifyUrl) {\n //TODO : Open form portal and go to Page Verify admin\n const verifyToken = accessUrl\n .replace(APP_PORTAL_VERIFY_URL, '')\n .split('/')\n .pop();\n const navigatePath = `auth/${IframeNavigatePath.VERIFY.replace(\n ':token',\n verifyToken\n )}`;\n this.router.navigate([navigatePath]);\n } else {\n //TODO : Page Normal\n const domain = `${APP_MAIN}/${APP_WEBSITE_NAME}`.trim();\n const slug = accessUrl.split(domain).pop();\n\n const regisInd = event.url.indexOf('/set-password/r');\n const regisToken = event.url\n .split('/set-password/r/')\n .pop();\n const forgetInd = event.url.indexOf('/set-password/f');\n const forgetToken = event.url\n .split('/set-password/f/')\n .pop();\n\n if (regisInd != -1) {\n this.router.navigateByUrl(\n '/auth/set-password/r/' + regisToken\n );\n } else if (forgetInd != -1) {\n this.router.navigateByUrl(\n '/auth/set-password/f/' + forgetToken\n );\n } else if (slug) {\n this.router.navigateByUrl(slug);\n }\n }\n });\n });\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouteReuseStrategy, UrlSerializer } from '@angular/router';\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AxAuthenticationModule } from '@atlasx/core/authentication';\nimport { AxConfigurationModule } from '@atlasx/core/configuration';\nimport {\n AxHttpServiceModule,\n AxWebServiceUrl,\n} from '@atlasx/core/http-service';\nimport esriConfig from '@arcgis/core/config';\nimport { SidebarComponent } from './components/layout/sidebar/sidebar.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MAT_DATE_LOCALE, NativeDateModule } from '@angular/material/core';\nimport { StoreModule } from './store/store.module';\n// import { StatusBar } from '@ionic-native/status-bar/ngx';\nimport { File } from '@ionic-native/file/ngx';\nimport { IonicStorageModule } from '@ionic/storage-angular';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\nimport { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser/ngx';\nimport { APP_BASE_HREF, DatePipe } from '@angular/common';\nimport { Deeplinks } from '@awesome-cordova-plugins/deeplinks/ngx';\nimport { LocalNotifications } from '@awesome-cordova-plugins/local-notifications/ngx';\nimport {\n environment,\n APP_BMA_TAXMAP_URL_PREFIX,\n APP_BMA_PROXY_URL,\n APP_WEBSITE_NAME,\n} from '../environments/environment';\n\nimport * as urlUtils from '@arcgis/core/core/urlUtils';\nimport { CookieService } from 'ngx-cookie-service';\nimport { CookieComponent } from './components/layout/cookie/cookie.component';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport CustomUrlSerializer, {\n EncodeHttpParamsInterceptor,\n} from './services/custom-encode.service';\n\nesriConfig.assetsPath = `${document.baseURI}assets`;\nurlUtils.addProxyRule({\n urlPrefix: APP_BMA_TAXMAP_URL_PREFIX,\n proxyUrl: APP_BMA_PROXY_URL,\n});\n@NgModule({\n declarations: [AppComponent, SidebarComponent, CookieComponent],\n entryComponents: [],\n imports: [\n BrowserModule,\n /** IonicModule.forRoot({ swipeBackEnabled: false }) */\n IonicStorageModule.forRoot(),\n AppRoutingModule,\n IonicModule.forRoot({\n // mode: 'ios',\n scrollAssist: false,\n scrollPadding: false,\n }),\n BrowserAnimationsModule,\n NativeDateModule,\n StoreModule,\n HttpClientModule,\n // LayoutModule,\n ],\n providers: [\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\n // {\n // provide: AxWebServiceUrl,\n // useValue: 'https://atlasx.cdg.co.th/axws-demo',\n // },\n // StatusBar,\n File,\n FileOpener,\n InAppBrowser,\n DatePipe,\n Deeplinks,\n LocalNotifications,\n CookieService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: EncodeHttpParamsInterceptor,\n multi: true,\n },\n { provide: MAT_DATE_LOCALE, useValue: 'th-TH' },\n { provide: APP_BASE_HREF, useValue: `/${APP_WEBSITE_NAME}` },\n ],\n bootstrap: [AppComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class AppModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { Platform } from '@ionic/angular';\nimport { CookieService } from 'ngx-cookie-service';\nimport { COOKIE_POLICY_KEY } from '../../../constants/cookie';\nimport { createSelector, select, Store } from '@ngrx/store';\nimport { AppSettingReducerType } from '../../../store/reducers/app-setting.reducer';\nimport { Subscription } from 'rxjs';\nimport { ActionReducerMapType } from '../../../store/config-reducers';\n\nconst selectReducer = (state: ActionReducerMapType) => {\n return state;\n};\n\nconst selectAppSettingReducer = createSelector(selectReducer, (state) => {\n return state.appSettingReducer;\n});\n\n@Component({\n selector: 'app-cookie',\n templateUrl: './cookie.component.html',\n styleUrls: ['./cookie.component.scss'],\n})\nexport class CookieComponent implements OnInit {\n alreadyAction = false;\n isDesktop = true;\n appSettingTextSizeClass: AppSettingReducerType['textSizeInfo']['class'];\n subscriptions: Array = [];\n\n constructor(\n private cookieService: CookieService,\n private platForm: Platform,\n private store: Store\n ) {\n const subscribeAppSettingReducer = this.store\n .pipe(select(selectAppSettingReducer))\n .subscribe((state) => {\n this.appSettingTextSizeClass = state.textSizeInfo.class;\n });\n this.subscriptions.push(subscribeAppSettingReducer);\n\n this.setIsAlreadyAction();\n }\n\n ngOnInit() {}\n\n ngDoCheck() {\n this.isDesktop = this.platForm.is('desktop');\n }\n\n onAccept() {\n const cookieJSON = {\n accept: true,\n };\n const cookieString = JSON.stringify(cookieJSON);\n this.cookieService.set(COOKIE_POLICY_KEY, cookieString, 365);\n this.alreadyAction = true;\n }\n\n onReject() {\n const cookieJSON = {\n accept: false,\n };\n const cookieString = JSON.stringify(cookieJSON);\n this.cookieService.set(COOKIE_POLICY_KEY, cookieString);\n this.alreadyAction = true;\n }\n\n setIsAlreadyAction() {\n const jsonString = this.cookieService.get(COOKIE_POLICY_KEY);\n if (jsonString && jsonString !== '') {\n const parseJson = JSON.parse(jsonString);\n const isAccept = parseJson?.accept ?? false;\n if (isAccept) {\n this.alreadyAction = true;\n }\n }\n }\n}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Router, Event, NavigationEnd } from '@angular/router';\nimport { MENU_HOME_SVG_ICON } from '../../../constants/logo';\nimport { MenuService } from '../../../services/menu.service';\nimport { Subscription } from 'rxjs';\nimport { getLocalStorage } from '../../../utils/storage';\nimport { keyStorage } from '../../../constants/storage';\nimport { ActionReducerMapType } from '../../../store/config-reducers';\nimport { createSelector, select, Store } from '@ngrx/store';\nimport { AppSettingReducerType } from '../../../store/reducers/app-setting.reducer';\nimport { appVersion, androidVersion, iosVersion } from '../../../constants/app-version';\nimport { Platform } from '@ionic/angular';\n\nimport { MessageApi } from '../../../api/message-api.service';\nimport { SetNotiBadge } from '../../../store/actions/profile.action';\n\nconst selectReducer = (state: ActionReducerMapType) => {\n return state;\n};\nconst selectAppSettingReducer = createSelector(selectReducer, (state) => {\n return state.appSettingReducer;\n});\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n})\nexport class SidebarComponent implements OnInit {\n // menu: MenuSidebar;\n menuSidebar: MenuSidebarType = {\n user: [],\n admin: [],\n other: [],\n };\n subscription: Subscription;\n menuHomeIcon: string = MENU_HOME_SVG_ICON;\n activeMenuId = '0';\n appSettingTextSizeClass: AppSettingReducerType['textSizeInfo']['class'];\n\n constructor(\n private menuService: MenuService,\n private router: Router,\n private store: Store,\n private changeRef: ChangeDetectorRef,\n private platform: Platform,\n public messageApi: MessageApi\n ) {\n this.store.pipe(select(selectAppSettingReducer)).subscribe((state) => {\n this.appSettingTextSizeClass = state.textSizeInfo.class;\n });\n }\n\n ngOnInit() {}\n\n ngDoCheck() {\n const isAdmin = `${getLocalStorage(keyStorage.isAdmin)}` === '1';\n\n this.subscription = this.router.events.subscribe(\n async (event: Event) => {\n if (event instanceof NavigationEnd) {\n if (this.router.url === '/') {\n this.activeMenuId = '0';\n }\n this.menuSidebar.admin.forEach((menu) => {\n if (menu.path === this.router.url) {\n this.activeMenuId = menu.id;\n }\n });\n this.menuSidebar.other.forEach((menu) => {\n if (menu.path === this.router.url) {\n this.activeMenuId = menu.id;\n }\n });\n this.menuSidebar.user.forEach((menu) => {\n if (menu.path === this.router.url) {\n this.activeMenuId = menu.id;\n }\n });\n }\n }\n );\n this.menuService.getMenuSidebar().subscribe((result) => {\n const menuByPermission = getLocalStorage(keyStorage.menuKey);\n\n const filterAdmin = !isAdmin\n ? []\n : result.admin?.filter((data) =>\n menuByPermission?.includes(data.id)\n ) ?? [];\n\n const filterOther =\n result.other?.filter(\n (data) =>\n menuByPermission?.includes(data.id) ||\n data.id === 'custom_id_manual' ||\n data.id === 'custom_id_download_mobile'\n ) ?? [];\n\n const filterUser = isAdmin\n ? []\n : result.user?.filter((data) =>\n menuByPermission?.includes(data.id)\n ) ?? [];\n this.menuSidebar = {\n admin: [...filterAdmin],\n other: [...filterOther],\n user: [...filterUser],\n };\n this.changeRef.detectChanges();\n });\n }\n\n loadNotify = async () => {\n try{\n const data: InboxResponseType[] = await this.messageApi.getMessage();\n if (data) {\n const badge = data.filter((item) => !item.isRead).length;\n this.store.dispatch(SetNotiBadge({ badge }));\n }\n }\n catch(ex){\n console.error(\"Error : loadNotify : \", ex.message)\n }\n \n }\n\n onClickHomeMenu = async() => {\n this.loadNotify();\n this.router.navigateByUrl('/');\n this.activeMenuId = '0';\n }\n\n onClickMenu = (item) => {\n this.router.navigateByUrl(item.path);\n this.activeMenuId = item.id;\n };\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n get appVersionNumber() {\n let vNumber = '';\n const isDesktop = this.platform.is('desktop');\n const isMobile = this.platform.is('mobile');\n const isAndroid = this.platform.is('android');\n const isIos = this.platform.is('ios');\n if (isDesktop) {\n vNumber = appVersion;\n } else if (isMobile) {\n if (isAndroid) {\n vNumber = androidVersion;\n } else if (isIos) {\n vNumber = iosVersion;\n }\n }\n return vNumber;\n }\n}\n","import { API_URL } from '../../environments/environment';\n\nexport const apiUrl = {\n /** auth **/\n login: `${API_URL}/auth/login`,\n register: `${API_URL}/auth/register`,\n registerLegal: `${API_URL}/auth/register/legalEntity`,\n resendEmail: `${API_URL}/auth/register/resend`,\n forgetPassword: `${API_URL}/auth/password/forget`,\n changePassword: `${API_URL}/auth/password/set`,\n userExist: `${API_URL}/auth/register/exist`,\n deleteUser: `${API_URL}/auth/user`,\n verify: `${API_URL}/auth/register/verify/{token}`,\n setPassword: `${API_URL}/auth/register/password`,\n verifyForget: `${API_URL}/auth/password/forget/verify/{token}`,\n regiterPdpa: `${API_URL}/auth/register/pdpa`,\n getToken: `${API_URL}/auth/renewToken`,\n ownerExist: `${API_URL}/auth/user/owner/exist`,\n ownerNames: `${API_URL}/auth/user/owner/names`,\n menuPermission: `${API_URL}/auth/menu`,\n /** profile **/\n profileChangePassword: `${API_URL}/auth/password/change`,\n profileUpdate: `${API_URL}/auth/profile`,\n profile: `${API_URL}/auth/profile`,\n /** menu **/\n menuShortcut: `${API_URL}/menu/shortcut`,\n menu: `${API_URL}/menu`,\n /** request **/\n requestSearch: `${API_URL}/request/search`,\n userDetail: `${API_URL}/request/user`,\n userOwnerList: `${API_URL}/auth/user/owner/names`,\n userOwnerExistByIdCard: `${API_URL}/auth/user/owner/exist/{idCard}`,\n landUseFul: `${API_URL}/request/lookup/landuseful`,\n requestTaxYears: `${API_URL}/request/lookup/taxYears`,\n /** estate **/\n estateLand: `${API_URL}/estate/land`,\n estateBuilding: `${API_URL}/estate/building`,\n estateCondo: `${API_URL}/estate/condo`,\n estateSign: `${API_URL}/estate/sign`,\n estateSearchLandAndBuilding: `${API_URL}/estate/landAndBuilding/search`,\n estateSearchLand: `${API_URL}/estate/land/search`,\n estateSearchBuilding: `${API_URL}/estate/building/search`,\n estateSearchCondo: `${API_URL}/estate/condo/room/search`,\n estateSearchSign: `${API_URL}/estate/sign/search`,\n estateBuildingDetail: `${API_URL}/estate/building/details`,\n estateLandDetail: `${API_URL}/estate/land/details`,\n estateCondoDetail: `${API_URL}/estate/condo/room/details`,\n estateLandUsedDetail: `${API_URL}/estate/landUsedDetail`,\n estateBuildingUsedDetail: `${API_URL}/estate/buildingUsedDetail`,\n estateCondoRoomUsedDetail: `${API_URL}/estate/condoRoomUsedDetail`,\n /** estate payment**/\n estateLandAndBuildingHistory: `${API_URL}/Estate/landAndBuilding/history`,\n estateLandHistory: `${API_URL}/Estate/land/history`,\n estateBuildingHistory: `${API_URL}/Estate/building/history`,\n estateCondoHistory: `${API_URL}/Estate/condo/room/history`,\n estateSignHistory: `${API_URL}/Estate/sign/history`,\n estateLandAndHouseHistory: `${API_URL}/Estate/refHouse/history`,\n estateLocalMaintenance: `${API_URL}/Estate/refLand/history`,\n estateAllHistory: `${API_URL}/Estate/all/history`,\n\n /** estate lookup**/\n estateAdministrativeDistrict: `${API_URL}/Estate/administrative/district`,\n estateAdministrativeSubDistrict: `${API_URL}/Estate/administrative/subdistrict`,\n estateAdministrativeDistrictOffice: `${API_URL}/Estate/administrative/district-office`,\n estateAdministrativeLandHouseDistrictOffice: `${API_URL}/Estate/administrative/district-office/landhouse`,\n estateAdministrativeLocalDevDistrictOffice: `${API_URL}/Estate/administrative/district-office/localdev`,\n estateLookupTaxYears: `${API_URL}/Estate/lookup/taxyears`,\n estateLookupBuildingType: `${API_URL}/Estate/lut/buildingUsedType`,\n\n // ** identify **/\n identifyLand: `${API_URL}/Identify/land`,\n idetifyUpdateLandPhoto: `${API_URL}/Estate/land`,\n identifyBuilding: `${API_URL}/Identify/building`,\n identifyCondo: `${API_URL}/Identify/condo`,\n identifyRoom: `${API_URL}/Identify/condo/room`,\n identifySigns: `${API_URL}/Identify/sign`,\n\n /** pds5 **/\n pdsFiveAddDraft: `${API_URL}/request/pds5/draft`,\n pdsFiveDeleteDraft: `${API_URL}/request/pds5/draft`,\n pdsFiveUpdateDraft: `${API_URL}/request/pds5/draft`,\n pdsFiveSubmit: `${API_URL}/request/pds5/submit`,\n getRequestPdsFive: `${API_URL}/Request/pds5/{requestId}`,\n getPdsFiveRequestForm: `${API_URL}/Request/pds5/form`,\n pdsFiveCancelRequest: `${API_URL}/Request/pds5/cancel`,\n /** pds10 **/\n pdsTenAddDraft: `${API_URL}/Request/pds10/draft`,\n pdsTenDeleteDraft: `${API_URL}/Request/pds10/draft`,\n pdsTenUpdateDraft: `${API_URL}/Request/pds10/draft`,\n pdsTenSubmit: `${API_URL}/Request/pds10/submit`,\n getRequestPdsTenMaster: `${API_URL}/Request/pds10/master`,\n getRequestPdsTen: `${API_URL}/Request/pds10`,\n getPdsTenDocuments: `${API_URL}/Request/pds10/documentsndetails`,\n pdsTenCancelRequest: `${API_URL}/Request/pds10/cancel`,\n getDistrictOffice: `${API_URL}/Administrative/districtoffices`,\n pdsTenCheckDocs: `${API_URL}/Request/pds10/check/pds`,\n pds6Districts: `${API_URL}/Estate/administrative/owner/pds6/district`,\n /** pds32 **/\n section32DeleteDraft: `${API_URL}/request/section32/draft`,\n section32Document: `${API_URL}/Request/section32/form`,\n section32DocumentPDS: `${API_URL}/Request/section32/documents`,\n\n section32Submit: `${API_URL}/Request/section32/submit`,\n section32SaveDraft: `${API_URL}/Request/section32/draft`,\n section32GetData: `${API_URL}/Request/section32/master`,\n section32GetDraftData: `${API_URL}/Request/section32/draft`,\n section32Edit: `${API_URL}/Request/section32/draft`,\n section32CancelRequest: `${API_URL}/Request/section32/cancel`,\n\n section32CheckDocs: `${API_URL}/Request/section32/check/pds`,\n section32DocumentsDetails: `${API_URL}/Request/section32/documentsndetails`,\n section32DistrictCont: `${API_URL}/Estate/administrative/owner/pds34/district`,\n /** map **/\n toc: `${API_URL}/config/toc`,\n basemap: `${API_URL}/config/basemap`,\n /** document **/\n document: `${API_URL}/document`,\n documentManual: `${API_URL}/document/manual`,\n documentTaxYears: `${API_URL}/document/lookup/taxYears`,\n documentLog: `${API_URL}/document/log`,\n documentSearchLandAndBuilding: `${API_URL}/Document/searchLandBuilding`,\n documentSearchSign: `${API_URL}/Document/searchSign`,\n documentSearchLandHouse: `${API_URL}/Document/searchLandHouse`,\n documentSearchLocalDev: `${API_URL}/Document/searchLocalDev`,\n documentType: `${API_URL}/document/lookup/DocumentType`,\n documentForm: `${API_URL}/document/form`,\n /** faq **/\n faq: `${API_URL}/faq`,\n faqCount: `${API_URL}/faq/count`,\n faqSearch: `${API_URL}/faq/search`,\n faqLookupCategory: `${API_URL}/faq/lookup/types`,\n faqSavePin: `${API_URL}/faq/pin`, // มาแก้ด้วย\n\n /** news **/\n news: `${API_URL}/news`,\n newsSearch: `${API_URL}/news/search`,\n /** inbox **/\n message: `${API_URL}/inbox`,\n messageRead: `${API_URL}/inbox/read`,\n /** upload **/\n upload: `${API_URL}/upload`,\n uploadBase64String: `${API_URL}/Attachment/uploadTempFiles/base64String`,\n uploadTemp: `${API_URL}/Attachment/uploadTempFiles`,\n deleteTemp: `${API_URL}/Attachment/deleteTempFile/{tmpFileName}`,\n /** administrative **/\n administrative: `${API_URL}/Administrative`,\n districtOffices: `${API_URL}/Administrative/districtoffices`,\n /** report **/\n reportPDS10: `${API_URL}/reports/export/pds10`,\n /** pdpa **/\n pdpa: `${API_URL}/pdpa`,\n};\n","export const appVersion = '1.0.3';\nexport const iosVersion = '1.0.6(44)';\nexport const androidVersion = '1.0.2(45)';","export const COOKIE_POLICY_KEY = 'cookieJSON';\nexport const FONT_SIZE_KEY = 'fontSize'","export const CRYPTO_JS = {\n // aesSecret:\n // 'c639a2a6d722f362447fc5622e0c7dda049959f6499d5ffc573122d1b4664837',\n // aesIV: '$2y$12$BjHHsZts8Z2JOGhgBHcboO5Zhz0NWwVm7WHlnKTP5KB0.YCDuCo/m',\n aesSecret: 'BMA-TAXMAP-4383480-457904-257984',\n aesIV: 'BMA-TAXMAP-76930',\n aesBlockSize: 128,\n};","export enum UserType {\n CITIZEN = '1',\n COMPANY = '2',\n}\n\nexport enum RequestTypeId {\n PDS_FIVE = '1',\n PDS_THIRTY_TWO = '2',\n PDS_TEN = '3',\n}\n\nexport enum OwnerType {\n SINGLE = '1',\n MULTIPLE = '2',\n}\n\nexport enum RequestActionType {\n CAN_EDIT = 1,\n CAN_VIEW = 2,\n CAN_DELETE = 3,\n CAN_CANCEL = 4,\n}\n\nexport enum WarningExcel {\n WARN_DATE = '1', //'กรอกระบุวันที่ตามรูปแบบที่กำหนด dd/mm/yyyy กรุณาลองใหม่อีกครั้ง'\n WARN_DATA = '2', //'กรอกข้อมูลไม่ครบถ้วน กรุณาลองใหม่อีกครั้ง'\n WARN_COLUMN = '3', //'ตำแหน่ง Column ไม่ถูกต้อง กรุณาลองใหม่อีกครั้ง'\n WARN_DATA_LENGTH = '4', //'ข้อมูลไม่ครบตามจำนวนที่กำหนดไว้ กรุณาลองใหม่อีกครั้ง'\n WARN_TEMPLATE = '5', //'ไฟล์ที่อัปโหลดไม่ตรงตามเทมเพลต กรุณาลองใหม่อีกครั้ง'\n}\n\nexport enum UploadFile {\n WARN_SIZE = '1',\n WARN_DUP = '2',\n WARN_LENGTH = '3',\n WARN_TYPE = '4',\n}\n\nexport enum MenuId {\n REQUEST_MANAGE = '1',\n VERIFY = '2',\n ESTATE = '3',\n PAYMENT_HISTORY = '4',\n FAQ = '5',\n NEWS_MANAGE = '6',\n FAQ_MANAGE = '7',\n DOCUMENT = '8',\n MESSAGE = '9',\n PROFILE = '10',\n}","export enum IframeEventKeys {\n VERIFY_TOKEN = 'VERIFY-TOKEN',\n LOGIN_SUCCESS = 'login-success',\n ALERT_WARN = 'alert-warn',\n NAVIGATE = 'iframe-call-navigate',\n CALLBACK_NO_TOKEN = 'CALLBACK-NO-TOKEN',\n LOGIN_FAIL = 'login-fail',\n}\n\nexport enum IframeNavigatePath {\n FORGOT_PASSWORD = 'forgot-password',\n FORGOT_PASSWORD_SETTING = 'forgot-password-setting/:token',\n SETTING_PASSWORD = 'setting-password/:token',\n REGISTER = 'register',\n VERIFY = 'verify/:token',\n LOGIN = 'login',\n LOGOUT = 'logout',\n}\n","import { APP_ASSETS } from '../../environments/environment';\n\n// images\nconst imagePath = `${APP_ASSETS}/images`;\nexport const BMA_LOGO = `${imagePath}/bma_logo.png`;\nexport const LINE_LOGO = `${imagePath}/line_logo.png`;\nexport const TWITTER_LOGO = `${imagePath}/twitter_logo.png`;\nexport const FACEBOOK_LOGO = `${imagePath}/facebook_logo.png`;\nexport const LINE_LOGO_BLACK = `${imagePath}/ic-line-black.png`;\nexport const TWITTER_LOGO_BLACK = `${imagePath}/ic-twitter-black.png`;\nexport const FACEBOOK_LOGO_BLACK = `${imagePath}/ic-facebook-black.png`;\nexport const HEADER_OLD_IMAGE = `${imagePath}/header_old.png`;\nexport const HEADER_IMAGE = `${imagePath}/bg.png`;\nexport const NO_DATA_IMAGE = `${imagePath}/no_data.png`;\nexport const NO_IMAGE = `${imagePath}/no_image.png`;\nexport const BASEMAP_STREET_IMAGE = `${imagePath}/basemap_street.png`;\nexport const BASEMAP_IMAGERY_IMAGE = `${imagePath}/basemap_imagery.png`;\nexport const BASEMAP_TOPO_IMAGE = `${imagePath}/basemap_topo.png`;\nexport const BASEMAP_DARK_GRAY_IMAGE = `${imagePath}/basemap_dark_gray.png`;\nexport const BASEMAP_OSM = `${imagePath}/basemap_osm.png`;\nexport const AUTH_IMAGE = `${imagePath}/auth_bg_citypark.png`;\nexport const NO_REQUEST = `${imagePath}/no_request.png`;\nexport const COVER_IMG = `${imagePath}/cover.png`;\n\n// icons\nconst iconSvgPath = `${APP_ASSETS}/icons/svg`;\nexport const DASH_SVG_ICON = `${iconSvgPath}/dash.svg`;\nexport const BELL_SVG_ICON = `${iconSvgPath}/bell.svg`;\nexport const EDIT_SVG_ICON = `${iconSvgPath}/edit.svg`;\nexport const DELETE_SVG_ICON = `${iconSvgPath}/delete.svg`;\nexport const MAP_SVG_ICON = `${iconSvgPath}/map.svg`;\nexport const LAYER_SVG_ICON = `${iconSvgPath}/layer.svg`;\nexport const MEASUREMENT_SVG_ICON = `${iconSvgPath}/ruler.svg`;\nexport const FULL_SCREEN_SVG_ICON = `${iconSvgPath}/full_screen.svg`;\nexport const CURRENT_LOCATION_SVG_ICON = `${iconSvgPath}/current_location.svg`;\nexport const MINUS_LOGO = `${iconSvgPath}/fi_file-minus.svg`;\nexport const MAIL_LOGO = `${iconSvgPath}/fi_mail.svg`;\nexport const CALL_LOGO = `${iconSvgPath}/fi_phone-call.svg`;\nexport const TOC_LAND_SVG_ICON = `${iconSvgPath}/toc_land.svg`;\nexport const TOC_BILLBOARD_SVG_ICON = `${iconSvgPath}/toc_billboard.svg`;\nexport const TOC_HOUSE_SVG_ICON = `${iconSvgPath}/toc_house.svg`;\nexport const TOC_CONDO_SVG_ICON = `${iconSvgPath}/toc_condo.svg`;\nexport const TOC_PROVINCE_SVG_ICON = `${iconSvgPath}/toc_province.svg`;\nexport const TOC_DISTRICT_SVG_ICON = `${iconSvgPath}/toc_district.svg`;\nexport const TOC_SUB_DISTRICT_SVG_ICON = `${iconSvgPath}/toc_subDistrict.svg`;\nexport const TOC_SURVEYED_SVG_ICON = `${iconSvgPath}/toc_surveyed.svg`;\nexport const TOC_UNSURVEYED_SVG_ICON = `${iconSvgPath}/toc_unsurveyed.svg`;\nexport const TOC_EXEMPT_SVG_ICON = `${iconSvgPath}/toc_exempt.svg`;\nexport const PDS_5_ICON = `${iconSvgPath}/pds5.svg`;\nexport const PDS_10_ICON = `${iconSvgPath}/pds10.svg`;\nexport const PDS_32_ICON = `${iconSvgPath}/pds32.svg`;\nexport const MENU_HOME_SVG_ICON = `${iconSvgPath}/menu_home.svg`;\nexport const MENU_REQUEST_SVG_ICON = `${iconSvgPath}/menu_request.svg`;\nexport const MENU_ESTATE_SVG_ICON = `${iconSvgPath}/menu_estate.svg`;\n/** export const MENU_DOWNLOAD_SVG_ICON = `${iconSvgPath}/menu_download.svg`; */\nexport const MENU_DOWNLOAD_SVG_ICON = `${iconSvgPath}/menu_payment.svg`;\nexport const MENU_VERIFY_SVG_ICON = `${iconSvgPath}/menu_verify.svg`;\nexport const MENU_PAYMENT_SVG_ICON = `${iconSvgPath}/menu_payment.svg`;\nexport const MENU_FAQ_SVG_ICON = `${iconSvgPath}/ic-faq.svg`;\nexport const REG_NATURAL_PERSON = `${iconSvgPath}/reg_natural_person.svg`;\nexport const REG_LEGAL_ENTITY = `${iconSvgPath}/reg_legal_entity.svg`;\nexport const RESULT_PASS = `${iconSvgPath}/result_pass.svg`;\nexport const DOCUMENT_ICON = `${iconSvgPath}/document.svg`;\nexport const ESTATE_ICON = `${iconSvgPath}/estate.svg`;\nexport const ADD_IMAGE = `${iconSvgPath}/add_image.svg`;\nexport const BIN_ICON = `${iconSvgPath}/bin.svg`;\nexport const MASTER_KEY_ICON = `${iconSvgPath}/master_key.svg`;\nexport const DOWNLOAD_ICON = `${iconSvgPath}/download.svg`;\nexport const DOWNLOAD_WHITE_ICON = `${iconSvgPath}/download_white.svg`;\nexport const UPLOAD_ICON = `${iconSvgPath}/upload.svg`;\nexport const UPLOAD_WHITE_ICON = `${iconSvgPath}/upload_white.svg`;\nexport const USER_ICON = `${iconSvgPath}/user.svg`;\nexport const SETTING_ICON = `${iconSvgPath}/setting.svg`;\nexport const LOGOUT_ICON = `${iconSvgPath}/logout.svg`;\nexport const IMAGE_ICON = `${iconSvgPath}/image_icon.svg`;\n\n// document\nconst documentPath = `${APP_ASSETS}`;\nexport const PDF_SAMPLE = `${documentPath}/sample.pdf`;\nexport const PDF_SAMPLE_2 = `${documentPath}/sampl2.pdf`;\n","import {\n BASEMAP_DARK_GRAY_IMAGE,\n BASEMAP_IMAGERY_IMAGE,\n BASEMAP_STREET_IMAGE,\n BASEMAP_TOPO_IMAGE,\n BASEMAP_OSM,\n TOC_BILLBOARD_SVG_ICON,\n TOC_CONDO_SVG_ICON,\n TOC_DISTRICT_SVG_ICON,\n TOC_EXEMPT_SVG_ICON,\n TOC_HOUSE_SVG_ICON,\n TOC_LAND_SVG_ICON,\n TOC_PROVINCE_SVG_ICON,\n TOC_SUB_DISTRICT_SVG_ICON,\n TOC_SURVEYED_SVG_ICON,\n TOC_UNSURVEYED_SVG_ICON,\n} from './logo';\n\nexport const defaultBaseMapID = 1;\nexport const measurementDecimalDigit = 2;\nexport const coordinateDecimalDigit = 5;\n\nexport const graphicLayerId = {\n measurementLayer: 'measureLayer',\n measurementAreaLayer: 'measureAreaLayer',\n measurementLengthLayer: 'measureLengthLayer',\n checkTaxLayer: 'checkTaxLayer',\n highlightLayer: 'highlightLayer',\n highlightAssetLayer: 'highlightLayer',\n};\n\nexport const measurementDrawMode = {\n point: 'point',\n distance: 'distance',\n area: 'area',\n};\n\nexport const measurementUnit = {\n point: [\n {\n nameTH: 'Latitude, Longitude',\n nameEN: 'lat-long',\n unitTH: '',\n },\n ],\n distance: [\n {\n nameEN: 'kilometers',\n nameTH: 'กิโลเมตร',\n unitTH: 'กม.',\n },\n {\n nameEN: 'meters',\n nameTH: 'เมตร',\n unitTH: 'ม.',\n },\n {\n nameEN: 'yards',\n nameTH: 'หลา',\n unitTH: 'หลา',\n },\n {\n nameEN: 'feet',\n nameTH: 'ฟุต',\n unitTH: 'ฟุต',\n },\n {\n nameEN: 'inch',\n nameTH: 'นิ้ว',\n unitTH: 'นิ้ว',\n },\n ],\n area: [\n {\n nameEN: 'square-kilometers',\n nameTH: 'ตารางกิโลเมตร',\n unitTH: 'ตร.กม.',\n },\n {\n nameEN: 'square-meters',\n nameTH: 'ตารางเมตร',\n unitTH: 'ตรม.',\n },\n {\n nameEN: 'square-wa',\n nameTH: 'ตารางวา',\n unitTH: 'ตรว.',\n },\n {\n nameEN: 'rai',\n nameTH: 'ไร่',\n unitTH: 'ไร่',\n },\n {\n nameEN: 'nagn',\n nameTH: 'งาน',\n unitTH: 'งาน',\n },\n {\n nameEN: 'wa',\n nameTH: 'วา',\n unitTH: 'วา',\n },\n ],\n};\n\nexport const basemapImage = [\n {\n id: 1,\n url: BASEMAP_STREET_IMAGE,\n },\n {\n id: 2,\n url: BASEMAP_IMAGERY_IMAGE,\n },\n {\n id: 3,\n url: BASEMAP_TOPO_IMAGE,\n },\n {\n id: 4,\n url: BASEMAP_OSM,\n },\n];\n\nexport const tocIcon = [\n {\n id: 1,\n url: TOC_LAND_SVG_ICON,\n },\n {\n id: 2,\n url: TOC_BILLBOARD_SVG_ICON,\n },\n {\n id: 3,\n url: TOC_HOUSE_SVG_ICON,\n },\n {\n id: 4,\n url: TOC_CONDO_SVG_ICON,\n },\n {\n id: 5,\n url: TOC_PROVINCE_SVG_ICON,\n },\n {\n id: 6,\n url: TOC_DISTRICT_SVG_ICON,\n },\n {\n id: 7,\n url: TOC_SUB_DISTRICT_SVG_ICON,\n },\n {\n id: 8,\n url: TOC_SURVEYED_SVG_ICON,\n },\n {\n id: 9,\n url: TOC_UNSURVEYED_SVG_ICON,\n },\n {\n id: 10,\n url: TOC_EXEMPT_SVG_ICON,\n },\n];\n\nexport const visiblePropertyToc = [1, 2, 3, 4, 5, 6, 7];\nexport const visibleDistrictToc = [0, 8, 9, 10, 11];\n","import { MenuId } from './enum';\nimport {\n MENU_DOWNLOAD_SVG_ICON,\n MENU_ESTATE_SVG_ICON,\n MENU_FAQ_SVG_ICON,\n MENU_PAYMENT_SVG_ICON,\n MENU_REQUEST_SVG_ICON,\n MENU_VERIFY_SVG_ICON,\n} from './logo';\n\nexport const menuPath: MenuPathType[] = [\n {\n id: MenuId.REQUEST_MANAGE,\n path: '/request/manage',\n subPath: [\n '/pds5',\n '/pds10',\n '/pds32',\n '/add',\n '/pds5-estate',\n '/applicant-building',\n ],\n icon: MENU_REQUEST_SVG_ICON,\n },\n {\n id: MenuId.VERIFY,\n path: '/verify',\n subPath: ['/tax', '/appraisal-price'],\n icon: MENU_VERIFY_SVG_ICON,\n },\n {\n id: MenuId.ESTATE,\n path: '/request/manage/estate',\n subPath: [],\n icon: MENU_ESTATE_SVG_ICON,\n },\n {\n id: MenuId.PAYMENT_HISTORY,\n path: '/payment-history',\n subPath: [],\n icon: MENU_PAYMENT_SVG_ICON,\n },\n {\n id: MenuId.FAQ,\n path: '/faq/list',\n subPath: [],\n icon: MENU_FAQ_SVG_ICON,\n },\n {\n id: MenuId.NEWS_MANAGE,\n path: '/news',\n subPath: ['/manage'],\n icon: '',\n },\n {\n id: MenuId.FAQ_MANAGE,\n path: '/faq',\n subPath: ['/manage'],\n icon: '',\n },\n {\n id: MenuId.DOCUMENT,\n path: '/document',\n subPath: ['/manage', '/form'],\n icon: MENU_DOWNLOAD_SVG_ICON,\n },\n {\n id: MenuId.MESSAGE,\n path: '/message',\n subPath: [],\n icon: '',\n },\n {\n id: MenuId.PROFILE,\n path: '/profile',\n subPath: ['manage', 'change-password'],\n icon: '',\n },\n {\n id: 'custom_id_manual',\n path: '/manual',\n subPath: [],\n icon: '',\n },\n {\n id: 'custom_id_download_mobile',\n path: '/download-mobile',\n subPath: [],\n icon: '',\n },\n];\n","export const keyStorage = {\n isLogin: 'BMA-TAX-MAP-VR_IS-LOGIN',\n isRemember: 'BMA-TAX-MAP-VR_IS-REMEMBER',\n username: 'BMA-TAX-MAP-VR_EV',\n password: 'BMA-TAX-MAP-VR_DV',\n fullName: 'BMA-TAX-MAP-VR_FULL-NAME',\n menuKey: 'BMA-TAX-MAP-VR_MENU-KEY',\n notiBadge: 'BMA-TAX-MAP-VR_NOTI-BADGE',\n pushNotification: 'BMA-TAX-MAP-VR_NOTI-PUSH',\n isPDPA: 'BMA-TAX-MAP-VR_IS-PDPA',\n isReceiveNotication: 'BMA-TAX-MAP-VR_NOTI-RECEIVE',\n userType: 'BMA-TAX-MAP-VR_USER-TYPE',\n address: 'ADDRESS',\n \n userId: 'BMA-TAX-MAP_USER-ID',\n refreshToken: 'NEKOT_HSERFER',\n accessToken: 'NEKOT_SSECCA',\n isAdmin: 'BMA-ADMIN',\n};\n","enum textSize {\n Small = 14,\n Medium = 16,\n Large = 18,\n}\n\nexport default textSize;\n","import * as geometryEngine from '@arcgis/core/geometry/geometryEngine';\nimport GraphicsLayer from '@arcgis/core/layers/GraphicsLayer';\nimport SketchViewModel from '@arcgis/core/widgets/Sketch/SketchViewModel';\nimport { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';\nimport FeatureLayer from '@arcgis/core/layers/FeatureLayer';\nimport { formatNumber } from '../utils/utilityFunction';\nimport {\n coordinateDecimalDigit,\n graphicLayerId,\n measurementDecimalDigit,\n measurementDrawMode,\n measurementUnit,\n visiblePropertyToc,\n} from '../constants/map';\nimport Point from '@arcgis/core/geometry/Point';\nimport Polygon from '@arcgis/core/geometry/Polygon';\nimport Graphic from '@arcgis/core/Graphic';\nimport * as identify from '@arcgis/core/rest/identify';\nimport IdentifyParameters from '@arcgis/core/rest/support/IdentifyParameters';\nimport { API_URL_MAP } from '../../environments/environment';\nimport Basemap from '@arcgis/core/Basemap';\nimport VectorTileLayer from '@arcgis/core/layers/VectorTileLayer';\n\nexport const zoomIn = (arcgis: ArcGisType) => {\n arcgis.mapView.goTo(\n {\n zoom: ++arcgis.mapView.zoom,\n },\n {\n // duration: 2000, // Duration of animation 2 seconds\n }\n );\n};\n\nexport const zoomOut = (arcgis: ArcGisType) => {\n arcgis.mapView.goTo(\n {\n zoom: --arcgis.mapView.zoom,\n },\n {\n // duration: 2000,\n }\n );\n};\n\nexport const pan = (\n arcgis: ArcGisType,\n params: { longitude: number; latitude: number },\n opt?: any\n) => {\n arcgis.mapView.goTo({\n center: [params.longitude, params.latitude],\n ...opt,\n });\n};\n\nexport const getCurrentLocation = async (geolocation: Geolocation) => {\n const { coords } = await geolocation.getCurrentPosition({\n enableHighAccuracy: true,\n timeout: 10000,\n maximumAge: 0,\n });\n const { longitude, latitude } = coords;\n return { longitude, latitude };\n};\n\nexport const setBasemap = (arcgis: ArcGisType, param: any) => {\n if (param.basemapUrl) {\n let basemap = new Basemap({\n id: param.basemapName,\n title: param.labelName,\n baseLayers: [\n new VectorTileLayer({\n id: param.basemapName,\n title: param.labelName,\n url: param.basemapUrl,\n }),\n ],\n });\n\n arcgis.mapView.map.basemap = basemap as any;\n } else {\n arcgis.mapView.map.basemap = param.basemapName as any;\n }\n};\n\nexport const getLayerById = (mapView: __esri.MapView, layerId) => {\n return mapView.map.findLayerById(layerId);\n};\n\nexport const addLayerById = (arcgis: ArcGisType, layerId) => {\n const layer = new GraphicsLayer({ id: layerId });\n arcgis.mapView.map.layers.add(layer);\n};\n\nexport const clearLayerById = (arcgis: ArcGisType, layerId) => {\n const layer = arcgis.mapView.map.findLayerById(layerId) as GraphicsLayer;\n\n if (layer) {\n layer.removeAll();\n }\n};\n\nexport const addLayer = (arcgis: ArcGisType, layer) => {\n arcgis.mapView.map.layers.add(layer);\n};\n\nexport const addGraphicsLayerById = (arcgis: ArcGisType, layerId) => {\n const layer = new GraphicsLayer({ id: layerId });\n addLayer(arcgis, layer);\n};\n\nexport const addFeatureLayerByUrl = (\n arcgis: ArcGisType,\n param: { id: string; url: string }\n) => {\n const layer = new FeatureLayer({ url: param.url, id: param.id });\n addLayer(arcgis, layer);\n};\n\nexport const setVisibleFeatureLayer = (featureLayer, isVisibility: boolean) => {\n featureLayer.visible = isVisibility;\n};\n\nexport const setVisibleTOC = (\n arcgis: ArcGisType,\n param: { id: string; isVisibility: boolean }\n) => {\n const layer = arcgis.mapView.map.findLayerById(\n 'basemaptoc'\n ) as __esri.MapImageLayer;\n layer.sublayers.find((itm) => itm.id == parseInt(param.id)).visible =\n param.isVisibility;\n};\n\nexport const setVisibleLayerByID = (\n arcgis: ArcGisType,\n param: { id: string; isVisibility: boolean }\n) => {\n const layer = getLayerById(arcgis.mapView, param.id);\n if (layer) {\n layer.visible = param.isVisibility;\n }\n};\n\nexport const toggleVisibleLayerById = (arcgis: ArcGisType, layerId) => {\n const currentVisible = getLayerById(arcgis.mapView, layerId).visible;\n getLayerById(arcgis.mapView, layerId).visible = !currentVisible;\n};\n\nexport const createMeasurementDraw = (arcgis: ArcGisType, layerId) => {\n const measurement = new SketchViewModel({\n view: arcgis.mapView,\n layer: getLayerById(arcgis.mapView, layerId),\n updateOnGraphicClick: false,\n defaultUpdateOptions: {\n toggleToolOnClick: false,\n multipleSelectionEnabled: false,\n enableScaling: false,\n enableRotation: false,\n },\n pointSymbol: {\n type: 'simple-marker',\n color: [49, 138, 241], // blue primary\n size: 10,\n outline: {\n color: [255, 255, 255, 0],\n },\n },\n polylineSymbol: {\n type: 'simple-line',\n color: [49, 138, 241], // blue primary\n width: 4,\n },\n polygonSymbol: {\n type: 'simple-fill',\n color: 'rgba(49, 138, 241, 0.8)', // blue primary opacity\n style: 'solid',\n outline: {\n color: 'white',\n width: 1,\n },\n },\n });\n return measurement;\n};\n\nexport const drawMeasurement = (arcgis: ArcGisType, drawMode: string) => {\n switch (drawMode) {\n case measurementDrawMode.point:\n arcgis.drawerMeasurement?.create('point');\n break;\n case measurementDrawMode.distance:\n arcgis.drawerMeasurement?.create('polyline', {\n mode: 'click',\n });\n break;\n case measurementDrawMode.area:\n arcgis.drawerMeasurement?.create('polygon', {\n mode: 'click',\n });\n break;\n default:\n break;\n }\n};\n\nexport const calculateDistance = (geometry: any, unit: __esri.LinearUnits) => {\n let result = (0).toFixed(measurementDecimalDigit);\n if (unit === measurementUnit.distance[4].nameEN) {\n // inch (นิ้ว)\n const feet = geometryEngine.geodesicLength(\n geometry,\n measurementUnit.distance[3].nameEN as __esri.LinearUnits\n );\n result = (feet * 12).toFixed(measurementDecimalDigit);\n } else {\n result = geometryEngine\n .geodesicLength(geometry, unit)\n .toFixed(measurementDecimalDigit);\n }\n\n return parseFloat(result);\n};\n\nexport const calculateArea = (geometry: any, unit: __esri.ArealUnits) => {\n const result = geometryEngine\n .geodesicArea(geometry, unit)\n .toFixed(measurementDecimalDigit);\n\n return parseFloat(result);\n};\n\nexport const calculateRai = (geometry: any) => {\n let squareMeter = calculateArea(\n geometry,\n measurementUnit.area[1].nameEN as __esri.ArealUnits\n );\n\n const result = squareMeter / 1600; // 1 ไร่ = 1600 ตารางเมตร : ไร่ = ตารางเมตร/1600\n\n return parseFloat(result.toFixed(measurementDecimalDigit));\n};\n\nexport const calculateNgan = (geometry: any) => {\n let squareMeter = calculateArea(\n geometry,\n measurementUnit.area[1].nameEN as __esri.ArealUnits\n );\n\n const result = squareMeter / 400; // 1 งาน = 400 ตารางเมตร: งาน = ตารางเมตร/400\n\n return parseFloat(result.toFixed(measurementDecimalDigit));\n};\n\nexport const calculateWa = (geometry: any) => {\n let squareMeter = calculateArea(\n geometry,\n measurementUnit.area[1].nameEN as __esri.ArealUnits\n );\n\n const result = squareMeter / 4; // 100 ตารางวา = 400 ตารางเมตร : ตารางวา = ตารางเมตร/4\n\n return parseFloat(result.toFixed(measurementDecimalDigit));\n};\n\nexport const calculateRaiNganWa = (geometry: any) => {\n let squareMeter = calculateArea(\n geometry,\n measurementUnit.area[1].nameEN as __esri.ArealUnits\n );\n\n const rai = squareMeter / 1600; // 1 ไร่ = 1600 ตารางเมตร : ไร่ = ตารางเมตร/1600\n squareMeter %= 1600; //เอาตารางเมตรที่เหลือ\n const ngan = squareMeter / 400; // 1 งาน = 400 ตารางเมตร: งาน = ตารางเมตร/400\n squareMeter %= 400; //เอาตารางเมตรที่เหลือ\n const squareWa = squareMeter / 4; // 100 ตารางวา = 400 ตารางเมตร : ตารางวา = ตารางเมตร/4\n\n return {\n rai: parseFloat(rai.toFixed(measurementDecimalDigit)),\n ngan: parseFloat(ngan.toFixed(measurementDecimalDigit)),\n squareWa: parseFloat(squareWa.toFixed(measurementDecimalDigit)),\n };\n};\n\nexport const calculateMeasurement = (\n drawMode: string,\n unit: string,\n geometry\n) => {\n let measurementResult = '';\n if (drawMode === measurementDrawMode.area) {\n if (\n unit === measurementUnit.area[2].nameEN ||\n unit === measurementUnit.area[3].nameEN ||\n unit === measurementUnit.area[4].nameEN ||\n unit === measurementUnit.area[5].nameEN\n ) {\n if (unit === measurementUnit.area[2].nameEN) {\n const result = calculateRai(geometry);\n measurementResult = `${formatNumber(result)} ${\n measurementUnit.area[2].unitTH\n }`;\n } else if (unit === measurementUnit.area[3].nameEN) {\n const result = calculateNgan(geometry);\n measurementResult = `${formatNumber(result)} ${\n measurementUnit.area[3].unitTH\n }`;\n } else if (unit === measurementUnit.area[4].nameEN) {\n const result = calculateWa(geometry);\n measurementResult = `${formatNumber(result)} ${\n measurementUnit.area[4].unitTH\n }`;\n } else if (unit === measurementUnit.area[5].nameEN) {\n const { rai, ngan, squareWa } = calculateRaiNganWa(geometry);\n measurementResult = `${formatNumber(rai)} ${\n measurementUnit.area[2].unitTH\n } ${formatNumber(ngan)} ${\n measurementUnit.area[3].unitTH\n } ${formatNumber(squareWa)} ${measurementUnit.area[4].unitTH}`;\n }\n } else {\n const result = calculateArea(geometry, unit as __esri.ArealUnits);\n measurementResult = `${formatNumber(result)} ${\n measurementUnit.area.find((item) => item.nameEN === unit).unitTH\n }`;\n }\n } else if (drawMode === measurementDrawMode.distance) {\n const result = calculateDistance(geometry, unit as __esri.LinearUnits);\n measurementResult = `${formatNumber(result)} ${\n measurementUnit.distance.find((item) => item.nameEN === unit).unitTH\n }`;\n } else if (drawMode === measurementDrawMode.point) {\n const { latitude, longitude } = geometry;\n measurementResult = `${parseFloat(latitude).toFixed(\n coordinateDecimalDigit\n )}, ${parseFloat(longitude).toFixed(coordinateDecimalDigit)}`;\n }\n return measurementResult;\n};\n\nexport const addPointGraphic = (\n arcgis: ArcGisType,\n param: __esri.PointProperties\n) => {\n const markerSymbol = {\n type: 'simple-marker', // autocasts as new SimpleMarkerSymbol()\n color: [49, 138, 241],\n outline: {\n // autocasts as new SimpleLineSymbol()\n color: [255, 255, 255],\n width: 2,\n },\n };\n\n const layer = getLayerById(arcgis.mapView, 'checkTaxLayer');\n const pointGraphic = new Graphic({\n geometry: param,\n symbol: markerSymbol,\n layer: layer,\n });\n\n arcgis.mapView.graphics.add(pointGraphic);\n};\n\nexport const addHighlightGraphic = (arcgis: ArcGisType, param: any) => {\n const layer = getLayerById(\n arcgis.mapView,\n graphicLayerId.highlightLayer\n ) as GraphicsLayer;\n\n if (param.type == 'polygon') {\n let symbol = {\n type: 'simple-fill', // autocasts as new SimpleFillSymbol()\n color: [51, 51, 204, 0.7],\n style: 'solid',\n outline: {\n // autocasts as new SimpleLineSymbol()\n color: 'white',\n width: 1,\n },\n };\n let polygonGraphic = new Graphic({\n geometry: param,\n symbol: symbol,\n });\n\n layer.add(polygonGraphic);\n } else if (param.type == 'point') {\n const simpleMarkerSymbol = {\n type: 'simple-marker',\n //style: 'square',\n size: '32px',\n color: [51, 51, 204, 0.7], // Orange\n outline: {\n color: [255, 255, 255], // White\n width: 1,\n },\n };\n let pointGraphic = new Graphic({\n geometry: param,\n symbol: simpleMarkerSymbol,\n layer: layer,\n });\n\n layer.add(pointGraphic);\n }\n};\n\nexport const addPointHightlight = (arcgis: ArcGisType, param: any) => {\n const layer = getLayerById(\n arcgis.mapView,\n graphicLayerId.highlightLayer\n ) as GraphicsLayer;\n\n const simpleMarkerSymbol = {\n type: 'simple-marker',\n //style: 'square',\n size: '16px',\n color: [226, 119, 40], // Orange\n outline: {\n color: [255, 255, 255], // White\n width: 1,\n },\n };\n let pointGraphic = new Graphic({\n geometry: param,\n symbol: simpleMarkerSymbol,\n layer: layer,\n });\n layer.add(pointGraphic);\n};\n\nexport const identifyMap = async (\n arcgis: ArcGisType,\n mapPoint: __esri.PointProperties\n) => {\n const identifyParams = new IdentifyParameters({\n tolerance: 10,\n layerIds: visiblePropertyToc,\n layerOption: 'visible',\n\n width: arcgis.mapView.width,\n height: arcgis.mapView.height,\n mapExtent: arcgis.mapView.extent,\n geometry: mapPoint,\n returnGeometry: true,\n });\n\n const identifyUrl = API_URL_MAP;\n\n const { results } = await identify.identify(identifyUrl, identifyParams);\n\n return results;\n};\n\nexport const setPolygon = (polygonJson) => {\n let polygon = new Polygon(polygonJson);\n let fillSymbol = {\n type: 'simple-fill', // autocasts as new SimpleFillSymbol()\n color: [227, 139, 79, 0.8],\n outline: {\n // autocasts as new SimpleLineSymbol()\n color: [255, 255, 255],\n width: 1,\n },\n };\n};\n","import { Injectable, Injector, NgZone } from '@angular/core';\nimport { createSelector, select, Store } from '@ngrx/store';\nimport { BehaviorSubject } from 'rxjs';\nimport {\n SetLogin,\n SetLogout,\n SetProfile,\n} from '../store/actions/profile.action';\nimport { ActionReducerMapType } from '../store/config-reducers';\nimport {\n clearLocalStorage,\n clearSessionStorage,\n getLocalStorage,\n removeLocalStorage,\n setLocalStorage,\n} from '../utils/storage';\nimport { FcmService } from './fcm.service';\nimport { keyStorage } from '../constants/storage';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { AuthApi } from '../api/auth-api.service';\nimport { GenerateTokenAPI } from '../api/generate-token-api.service';\nimport { MenuApi } from '../api/menu-api.service';\nimport {\n canAccessMenu,\n menuShortcutFormatter,\n menuSidebarFormatter,\n} from '../utils/utilityFunction';\nimport { MenuService } from './menu.service';\nimport { HeaderService } from './header.service';\nimport { ProfileService } from '../api/profile.service';\nimport { UserType } from '../constants/enum';\nimport { apiUrl } from '../constants/apiUrl';\nimport { HttpRequestService } from './http-request.service';\n\nconst selectReducer = (state: ActionReducerMapType) => {\n return state;\n};\nexport const selectProfileReducer = createSelector(selectReducer, (state) => {\n return state.profileReducer;\n});\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private isLoggedIn$ = new BehaviorSubject(false);\n private redirectUrl$ = new BehaviorSubject('');\n isLogin: boolean;\n privilegeMenu: string[];\n pushNotification: boolean;\n\n constructor(\n private store: Store,\n private fcmService: FcmService,\n private zone: NgZone,\n private router: Router,\n private injector: Injector,\n private headerService: HeaderService,\n private menuService: MenuService,\n private httpService: HttpRequestService\n ) {\n this.store.pipe(select(selectProfileReducer)).subscribe((state) => {\n this.isLogin = state.isLogin;\n this.privilegeMenu = state.profileInfo.privilegeMenu;\n this.pushNotification = state.profileInfo.pushNotification;\n });\n }\n\n login() {\n let isReceiveNotication = getLocalStorage(\n keyStorage.isReceiveNotication\n );\n if (!isReceiveNotication) {\n setLocalStorage(keyStorage.isReceiveNotication, 'true');\n isReceiveNotication = 'true';\n }\n if (isReceiveNotication == 'true') {\n this.fcmService.subscribeTo();\n this.fcmService.addListener();\n };\n this.isLoggedIn$.next(true);\n }\n\n logout() {\n this.fcmService.unsubscribeFrom();\n this.isLoggedIn$.next(false);\n this.redirectUrl$.next('');\n clearLocalStorage();\n this.store.dispatch(SetLogout());\n }\n\n getIsLoggedIn() {\n return this.isLoggedIn$.asObservable();\n }\n\n getIsLogin() {\n return this.isLogin;\n }\n\n getPrivilegeMenu() {\n return this.privilegeMenu;\n }\n\n getRedirectUrl() {\n return this.redirectUrl$.asObservable();\n }\n\n setRedirectUrl(url: string) {\n this.redirectUrl$.next(url);\n }\n\n clearApplicationStorage = () => {\n clearSessionStorage();\n removeLocalStorage(keyStorage.userId);\n removeLocalStorage(keyStorage.refreshToken);\n removeLocalStorage(keyStorage.accessToken);\n };\n\n createParam(data: ProfileResponseType, email: string, menu: string[]) {\n const firstName = data?.firstName ?? '';\n const lastName = data?.lastName ?? '';\n const profileStorage: ProfileInfoType = {\n firstName: data?.companyName ?? firstName,\n lastName: data?.companyName ? '' : lastName,\n privilegeMenu: menu ?? [],\n pushNotification: true,\n email,\n idCard: data.idCard,\n };\n\n const profileStore: ProfileType = {\n firstName: data?.firstName ?? '',\n lastName: data?.lastName ?? '',\n };\n\n return { profileStorage, profileStore };\n }\n\n auth = async () => {\n const accessToken = getLocalStorage(keyStorage.accessToken);\n const authApi = this.injector.get(AuthApi);\n const menu = await authApi.getMenuByToken(accessToken);\n const profileApi = this.injector.get(ProfileService);\n const profile = await profileApi.getProfile();\n const data: ProfileResponseType = {\n token: accessToken,\n firstName: profile?.data?.firstName,\n lastName: profile?.data?.lastName,\n userType: profile?.data?.userType,\n companyName: profile?.data?.companyName,\n idCard: profile?.data?.idCard,\n };\n const { profileStorage, profileStore } = this.createParam(\n data,\n profile.data?.userId,\n menu\n );\n\n // this.platform.ready().then(() => {\n this.fcmService.initialization();\n // });\n\n setLocalStorage(keyStorage.isLogin, 'true');\n setLocalStorage(keyStorage.menuKey, menu.join());\n\n this.store.dispatch(SetLogin({ data: profileStorage }));\n this.store.dispatch(SetProfile({ profileInfo: profileStore }));\n this.login();\n await this.initialMenu();\n // this.getPDPA(); //waiting\n this.goToPage();\n };\n\n goToPage() {\n // this.getNotiBadge(); //waiting\n this.headerService.setDisplayHeader(true);\n this.getRedirectUrl().subscribe((url: string) => {\n let redirectUrl = url;\n\n if (\n !redirectUrl ||\n !canAccessMenu(this.getPrivilegeMenu(), redirectUrl)\n ) {\n redirectUrl = '/';\n }\n this.router.navigateByUrl(redirectUrl, { replaceUrl: true });\n });\n }\n\n async initialMenu() {\n const menuApi = this.injector.get(MenuApi);\n\n const menuSidebar: MenuResponseType = await menuApi.getMenu();\n this.menuService.setMenuSidebar(menuSidebarFormatter(menuSidebar));\n\n const menuShortcut = await menuApi.getMenuShortcut();\n this.menuService.setMenuShortcut(menuShortcutFormatter(menuShortcut));\n }\n\n processVerifyToken = async (portalToken: string) => {\n const generateToken = this.injector.get(GenerateTokenAPI);\n const tokenInfo = await generateToken.getToken(portalToken);\n\n if (tokenInfo.data?.refreshToken && tokenInfo.data?.accessToken) {\n setLocalStorage(keyStorage.isAdmin, '1');\n setLocalStorage(\n keyStorage.refreshToken,\n tokenInfo.data?.refreshToken\n );\n setLocalStorage(\n keyStorage.accessToken,\n tokenInfo.data?.accessToken\n );\n\n this.auth();\n } else {\n this.clearApplicationStorage();\n }\n };\n\n goToLoginPage = () => {\n this.zone.run(() => {\n this.clearApplicationStorage();\n this.navigateLogin({ replaceUrl: true });\n });\n };\n\n goToMainPage = () => {\n this.zone.run(() => {\n this.clearApplicationStorage();\n this.router.navigate([''], { replaceUrl: true });\n });\n };\n\n navigateLogin = (extras?: NavigationExtras) => {\n this.router.navigate(['/auth/login'], extras);\n };\n\n automateRedirectPage = () => {\n const refreshUrl = window.location.pathname;\n const isNotLandingUrl =\n window.location.pathname.indexOf('/landing') === -1;\n if (isNotLandingUrl) {\n // this.goToPage();\n } else {\n this.goToPageDefault();\n }\n };\n\n goToPageDefault = () => {\n if (this.privilegeMenu != null && this.privilegeMenu.length > 0) {\n //go to page : follow url\n } else {\n this.goToMainPage();\n }\n };\n\n authWithToken = async () => {\n let isAuth = false;\n let refreshToken: string = getLocalStorage(keyStorage.refreshToken);\n await this.initialMenu();\n\n if (refreshToken) {\n //how to check ?? ดำน้ำก่อน รอประกอบให้เหมือนกันกับประชาชน ที่พี่ฟลอยจะปรับ service ใหม่ //waiting\n const accessToken = getLocalStorage(keyStorage.accessToken);\n const authApi = this.injector.get(AuthApi);\n const profileApi = this.injector.get(ProfileService);\n const profile = await profileApi.getProfile();\n const menu = await authApi.getMenuByToken(accessToken);\n\n if (menu != null) {\n const data: ProfileResponseType = {\n token: accessToken,\n firstName: profile?.data?.firstName,\n lastName: profile?.data?.lastName,\n userType: profile?.data?.userType,\n companyName: profile?.data?.companyName,\n idCard: profile?.data?.idCard,\n };\n const { profileStorage, profileStore } = this.createParam(\n data,\n profile.data?.userId,\n menu\n );\n\n setLocalStorage(keyStorage.isLogin, 'true');\n\n if (data?.userType?.id === UserType.CITIZEN) {\n setLocalStorage(\n keyStorage.fullName,\n `${profile.data?.firstName ?? ''} ${\n profile.data?.lastName ?? ''\n }`\n );\n setLocalStorage(keyStorage.isAdmin, '0');\n } else if (data?.userType?.id === UserType.COMPANY) {\n setLocalStorage(\n keyStorage.fullName,\n `${profile.data?.companyName ?? ''}`\n );\n setLocalStorage(keyStorage.isAdmin, '0');\n } else {\n /** ADMIN LOGIN HERE */\n await this.renewToken(refreshToken);\n setLocalStorage(keyStorage.isAdmin, '1');\n setLocalStorage(\n keyStorage.fullName,\n `${profile.data?.firstName ?? ''} ${\n profile.data?.lastName ?? ''\n }`\n );\n }\n\n setLocalStorage(keyStorage.menuKey, menu.join());\n\n this.store.dispatch(SetLogin({ data: profileStorage }));\n this.store.dispatch(SetProfile({ profileInfo: profileStore }));\n this.login();\n isAuth = true;\n }\n }\n\n return isAuth;\n };\n\n async renewToken(refreshToken: string) {\n await this.httpService\n .axiosGet(`${apiUrl.getToken}?refreshToken=${refreshToken}`)\n .then((response) => {\n setLocalStorage(\n keyStorage.accessToken,\n response.data.accessToken\n );\n setLocalStorage(\n keyStorage.refreshToken,\n response.data.refreshToken\n );\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport axios from 'axios';\n\nimport { getLocalStorage, setLocalStorage } from '../utils/storage';\nimport { LoaderService } from './loader.service';\nimport { AuthService } from './auth.service';\nimport { keyStorage } from '../constants/storage';\nimport { checkExpiredToken } from '../utils/utilityFunction';\nimport { HttpRequestService } from './http-request.service';\nimport { apiUrl } from '../constants/apiUrl';\nimport { FunctionListenerService } from './function-listener.service';\n\nconst TOKEN_ERROR_CODE = {\n INVALID_REFRESH_TOKEN: 'INVALID_REFRESH_TOKEN',\n EXPIRED_REFRESH_TOKEN: 'EXPIRED_REFRESH_TOKEN',\n INVALID_REFRESH_TOKEN_OR_EXPIRED: 'INVALID_REFRESH_TOKEN_OR_EXPIRED',\n};\n@Injectable({\n providedIn: 'root',\n})\nexport class AxiosListenerService {\n inUsedToken = null;\n orderCounter = 0;\n constructor(\n private authService: AuthService,\n private httpService: HttpRequestService,\n private loaderService: LoaderService,\n private funcListenerService: FunctionListenerService \n ) {}\n async subscribeAxios() {\n\n this.httpService.getIP();\n\n axios.interceptors.request.use(async (request) => {\n let newRequest = { ...request };\n\n newRequest.headers = { ...this.createNewHeader(request.headers) };\n\n if (newRequest.headers.Authorization) {\n let bearer = `${newRequest.headers.Authorization}`;\n let encryptToken = bearer.split('Bearer ')[1];\n let isTokenExpired = checkExpiredToken(encryptToken);\n let refreshToken = getLocalStorage(keyStorage.refreshToken);\n\n /** Retry Service */\n this.inUsedToken = refreshToken;\n if (\n isTokenExpired &&\n refreshToken &&\n this.inUsedToken !== refreshToken\n ) {\n this.orderCounter += 1;\n await this.renewToken(refreshToken);\n newRequest.headers.Authorization = `Bearer ${getLocalStorage(\n keyStorage.accessToken\n )}`;\n this.inUsedToken = null;\n if (this.orderCounter > 0) {\n this.orderCounter = this.orderCounter - 1;\n }\n } else if (\n isTokenExpired &&\n refreshToken &&\n this.inUsedToken === refreshToken\n ) {\n this.orderCounter += 1;\n await new Promise((resolve) => {\n const timerVal = this.orderCounter * 4000;\n setTimeout(async () => {\n if (checkExpiredToken(encryptToken)) {\n await this.renewToken(\n getLocalStorage(keyStorage.refreshToken)\n );\n } else {\n newRequest.headers.Authorization = `Bearer ${getLocalStorage(\n keyStorage.accessToken\n )}`;\n }\n resolve('RE-TOKEN');\n }, timerVal);\n });\n if (this.orderCounter > 0) {\n this.orderCounter = this.orderCounter - 1;\n }\n }\n }\n return newRequest;\n });\n\n axios.interceptors.response.use(\n (response) => {\n return response;\n },\n async (error) => {\n if (this.loaderService.getIsLoading() && !this.loaderService.getIsHolding()) {\n this.loaderService.hideLoader();\n }\n console.log('>>', error);\n\n if (error?.response?.status === 401 && error.response.config) {\n const isInvalidToken: boolean =\n error?.response?.data?.errorCode ===\n TOKEN_ERROR_CODE.INVALID_REFRESH_TOKEN ||\n error?.response?.data?.errorCode ===\n TOKEN_ERROR_CODE.INVALID_REFRESH_TOKEN_OR_EXPIRED;\n if (isInvalidToken) {\n // alert('Invalid Token');\n this.authService.goToLoginPage();\n }\n }\n return Promise.reject(error);\n }\n );\n }\n\n async renewToken(refreshToken: string) {\n await this.httpService\n .axiosGet(`${apiUrl.getToken}?refreshToken=${refreshToken}`)\n .then((response) => {\n setLocalStorage(\n keyStorage.accessToken,\n response.data.accessToken\n );\n setLocalStorage(\n keyStorage.refreshToken,\n response.data.refreshToken\n );\n });\n }\n\n createNewHeader(headers: any) {\n const currentFuncId = this.funcListenerService.getCurrentFunctionId() ?? undefined;\n const currentIpAddress = getLocalStorage(keyStorage.address);\n let newHeaders = { ...headers };\n if (currentFuncId) {\n newHeaders = {\n ...newHeaders,\n function_id: currentFuncId,\n }\n }\n\n if (currentIpAddress) {\n newHeaders = {\n ...newHeaders,\n ip_address: currentIpAddress\n }\n }\n\n return newHeaders;\n }\n}\n","import {\n HttpInterceptor,\n HttpRequest,\n HttpEvent,\n HttpHandler,\n HttpParams,\n HttpParameterCodec,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { DefaultUrlSerializer, UrlSerializer, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class EncodeHttpParamsInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n const params = new HttpParams({\n encoder: new CustomEncoder(),\n fromString: req.params.toString(),\n });\n return next.handle(req.clone({ params }));\n }\n}\n\nclass CustomEncoder implements HttpParameterCodec {\n constructor() {}\n\n encodeKey(key: string): string {\n return encodeURIComponent(key);\n }\n\n encodeValue(value: string): string {\n return encodeURIComponent(value);\n }\n\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n }\n\n decodeValue(value: string): string {\n return decodeURIComponent(value);\n }\n}\n\nexport default class CustomUrlSerializer implements UrlSerializer {\n private _defaultUrlSerializer: DefaultUrlSerializer =\n new DefaultUrlSerializer();\n\n parse(url: string): UrlTree {\n // Encode \"+\" to \"%2B\"\n // url = url.replace(/\\=/gi, '_');\n // Use the default serializer.\n return this._defaultUrlSerializer.parse(url);\n }\n\n serialize(tree: UrlTree): string {\n console.log('>>>', this._defaultUrlSerializer.serialize(tree));\n\n return encodeURIComponent(this._defaultUrlSerializer.serialize(tree));\n // return this._defaultUrlSerializer.serialize(tree)//.replace(/\\=/gi, '_');\n }\n}\n","import { Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { FCM } from '@capacitor-community/fcm';\nimport { Platform, ToastController } from '@ionic/angular';\nimport {\n ActionPerformed,\n PushNotifications,\n PushNotificationSchema,\n Token,\n} from '@capacitor/push-notifications';\n// import { MessageApi } from '../api/message-api.service';\n// import { SetNotiBadge } from '../store/actions/profile.action';\n// import { setLocalStorage } from '../utils/storage';\n// import { keyStorage } from '../constants/storage';\n// import { ActionReducerMapType } from '../store/config-reducers';\nimport { LocalNotifications } from '@awesome-cordova-plugins/local-notifications/ngx';\nimport { getLocalStorage } from '../utils/storage';\nimport { keyStorage } from '../constants/storage';\nimport { FCM_TOPIC } from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FcmService {\n constructor(\n private router: Router,\n private platform: Platform,\n // private messageApi: MessageApi,\n // private store: Store,\n private toastController: ToastController,\n private localNotifications: LocalNotifications\n ) {}\n\n initialization() {\n console.log('initialization fcm');\n if (this.platform.is('android') || this.platform.is('ios')) {\n this.register();\n }\n }\n\n private async register() {\n let permStatus = await PushNotifications.checkPermissions();\n if (permStatus.receive === 'prompt') {\n PushNotifications.requestPermissions().then((result) => {\n if (result.receive === 'granted') {\n PushNotifications.register(); // *Register the app to receive push notifications\n } else {\n console.log('else');\n }\n });\n }\n \n\n // Enable the auto initialization of the library\n FCM.setAutoInit({ enabled: true }).then(() =>\n console.log('Auto init enabled')\n );\n\n // Check the auto initialization status\n FCM.isAutoInitEnabled().then((result) => {\n console.log(\n 'Auto init is ' + (result.enabled ? 'enabled' : 'disabled')\n );\n });\n\n var channelId = '2045';\n var channelName = 'BMA Taxmap Verify';\n if (this.platform.is('android')) {\n \n PushNotifications.createChannel({\n id: channelId,\n name: channelName,\n importance: 4, // High (For Android 8 or newer)\n vibration: true,\n });\n }\n\n this.addListener();\n }\n\n addListener() {\n // On success, we should be able to receive notifications\n PushNotifications.addListener('registration', (token: Token) => {\n console.log('Push registration success, token: ' + token.value);\n });\n\n // Some issue with our setup and push will not work\n PushNotifications.addListener('registrationError', (error: any) => {\n console.log('Error on registration: ' + JSON.stringify(error));\n });\n\n // Show us the notification payload if the app is open on our device\n // * Called when the device receives a push notification.\n PushNotifications.addListener(\n 'pushNotificationReceived',\n async (notification: PushNotificationSchema) => {\n console.log(\"===========>> pushNotificationReceived : \", notification);\n\n if(this.platform.is('android') || this.platform.is('ios')){\n const toast = await this.toastController.create({\n message: `
\n ${notification.title}
\n ${notification.body}\n
`,\n position: 'top',\n duration: 5000,\n color: 'light',\n buttons: [\n {\n side: 'end',\n text: 'View',\n handler: () => {\n this.goToPage('/message');\n },\n },\n ],\n });\n toast.present();\n }\n\n // if (this.platform.is('android')) {\n // // Local notification\n // this.localNotifications.schedule({\n // id: parseInt(notification.id),\n // title: notification.title,\n // text: notification.body,\n // foreground: true,\n // channel: channelId,\n // priority: 1, // High (Override importance for Android 7 and lower)\n // launch: true,\n // });\n\n // this.localNotifications\n // .on('click')\n // .subscribe((notification) => {\n // this.goToPage('/message');\n // });\n // }\n\n // if (this.platform.is('ios')) {\n // // Local notification\n // this.localNotifications.schedule({\n // id: parseInt(notification.id),\n // title: notification.title,\n // text: notification.body,\n // foreground: true,\n // priority: 1, // High (Override importance for Android 7 and lower)\n // launch: true,\n // });\n\n // this.localNotifications\n // .on('click')\n // .subscribe((notification) => {\n // this.goToPage('/message');\n // });\n // }\n }\n );\n\n // Method called when tapping on a notification\n PushNotifications.addListener(\n 'pushNotificationActionPerformed',\n (notification: ActionPerformed) => {\n this.goToPage('/message');\n }\n );\n }\n\n subscribeTo() {\n console.log('Run subscribeTo');\n const userId = getLocalStorage(keyStorage.userId);\n\n //const topic: string = `th.co.got.bmaverify_${userId}_test`;\n const topic: string = FCM_TOPIC.replace('{userId}', userId);\n console.log('subscribeTo => topic:', topic);\n\n if (this.platform.is('android') || this.platform.is('ios')) {\n // now you can subscribe to a specific topic\n FCM.subscribeTo({ topic: topic })\n .then((r) => {\n console.log(`subscribed to topic: '${topic}'`);\n // alert(`subscribed to topic: '${topic}'`);\n })\n .catch((err) => console.log(err));\n }\n }\n\n unsubscribeFrom() {\n const userId = getLocalStorage(keyStorage.userId);\n\n //const topic: string = `th.co.got.bmaverify_${userId}_test`;\n const topic: string = FCM_TOPIC.replace('{userId}', userId);\n\n if (this.platform.is('android') || this.platform.is('ios')) {\n // Unsubscribe from a specific topic\n FCM.unsubscribeFrom({ topic: topic })\n .then(() => {\n console.log(`unsubscribed from topic: '${topic}'`);\n PushNotifications.removeAllListeners();\n })\n .catch((err) => console.log(err));\n }\n }\n\n goToPage(redirect: string) {\n this.router.navigateByUrl(redirect);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\n\nexport class FunctionListenerService {\n private currentFunctionId: string = undefined;\n\n getCurrentFunctionId() {\n return this.currentFunctionId;\n }\n\n setCurrentFunctionId(funcId: string) {\n this.currentFunctionId = funcId;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HeaderService {\n private displayHeader = true;\n\n setDisplayHeader(boolVal: boolean) {\n this.displayHeader = boolVal;\n }\n\n get displayHeaderGetter() {\n return this.displayHeader;\n }\n}\n","import { Injectable } from '@angular/core';\nimport axios, { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { keyStorage } from '../constants/storage';\nimport { getLocalStorage, setLocalStorage } from '../utils/storage';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpRequestService {\n constructor() {}\n\n private getConfig() {\n const config: AxiosRequestConfig = {\n headers: {\n Authorization: `Bearer ${\n getLocalStorage(keyStorage.accessToken) ?? ''\n }`,\n },\n timeout: 3.6e6,\n };\n\n return config;\n }\n\n async axiosGet(url: string, config?: AxiosRequestConfig) {\n try {\n const result = await axios.get>(\n url,\n config\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosGetWithToken(url: string) {\n try {\n const result = await axios.get>(\n url,\n this.getConfig()\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosPost(url: string, data?: any) {\n try {\n const result = await axios.post>(url, data);\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosPostWithToken(url: string, data?: any, cancelToken?: any) {\n try {\n const result = await axios.post>(\n url,\n data,\n {\n ...this.getConfig(),\n cancelToken,\n }\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosPut(url: string, data?: any) {\n try {\n const result = await axios.put>(url, data);\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosPutWithToken(url: string, data?: any) {\n try {\n const result = await axios.put>(\n url,\n data,\n this.getConfig()\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosDelete(url: string) {\n try {\n const result = await axios.delete>(url);\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async axiosDeleteWithToken(url: string) {\n try {\n const result = await axios.delete>(\n url,\n this.getConfig()\n );\n return result;\n } catch (error) {\n return error.toString();\n }\n }\n\n async getIP() {\n try {\n const result = await axios.get('https://api.ipify.org');\n setLocalStorage(keyStorage.address, result.data);\n return result.data;\n } catch (err) {\n return err;\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LoadingController } from '@ionic/angular';\nimport { IframeEventKeys } from '../constants/iframe-constants';\nimport { Store } from '@ngrx/store';\nimport { ActionReducerMapType } from '../store/config-reducers';\nimport { AuthService } from './auth.service';\nimport { AuthApi } from '../api/auth-api.service';\n\ntype IframeEventData = {\n eventKey: string;\n token?: string;\n alertMsg?: string;\n navigatePath?: string;\n accessToken?: string;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IframeListenerService {\n constructor(\n private router: Router,\n private loadingCtrl: LoadingController,\n private store: Store,\n private authService: AuthService,\n private authApi: AuthApi,\n private zone: NgZone\n ) {}\n\n onDetectAuthentication = (event) => {\n // console.log('=============iframe-listener.service================');\n const eventData: IframeEventData = event.data;\n const eventKey = eventData?.eventKey;\n const portalToken = eventData?.token;\n // console.log('====> eventKey : ', eventKey);\n // console.log('====> portalToken : ', portalToken);\n if (eventKey === IframeEventKeys.VERIFY_TOKEN && portalToken) {\n console.log('====> Go-VerifyToken', portalToken);\n this.authService.processVerifyToken(portalToken);\n } else if (eventKey === IframeEventKeys.VERIFY_TOKEN && !portalToken) {\n console.log(\n '====> Go-RemoveEventListener : verifyToken + No Token'\n );\n window.removeEventListener(\n 'message',\n this.onDetectAuthentication,\n false\n );\n } else if (eventKey === IframeEventKeys.CALLBACK_NO_TOKEN) {\n console.log('====> Call back no token : go login page');\n setTimeout(() => {\n this.authService.goToMainPage();\n }, 400)\n }\n };\n\n subscribe() {\n window.addEventListener('message', this.onDetectAuthentication, false);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LoadingController } from '@ionic/angular';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n constructor(public loadingController: LoadingController) {}\n private loading: any;\n private isLoading: boolean = false;\n private holdLoading: boolean = false;\n\n async showLoader(message?: string) {\n this.loading = await this.loadingController.create({\n message: message ?? 'Loading',\n cssClass: 'custom-loader',\n spinner: 'bubbles',\n mode: 'ios',\n backdropDismiss: false,\n });\n\n return this.loading.present().then(() => {\n this.isLoading = true;\n });\n }\n\n async hideLoader() {\n if (!this.holdLoading) {\n await this.loading\n ?.dismiss()\n .then(() => {\n this.isLoading = false;\n })\n .catch((error) => {\n console.log('error', error);\n }); \n }\n }\n\n getIsLoading() {\n return this.isLoading;\n }\n\n setHolderLoading(isHold: boolean) {\n this.holdLoading = isHold\n }\n\n getIsHolding() {\n return this.holdLoading\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuService {\n private menuSidebar$ = new BehaviorSubject({\n user: [],\n admin: [],\n other: [],\n });\n private menuShortcut$ = new BehaviorSubject([]);\n\n getMenuSidebar() {\n return this.menuSidebar$.asObservable();\n }\n\n setMenuSidebar(data: MenuSidebarType) {\n this.menuSidebar$.next(data);\n }\n\n getMenuShortcut() {\n return this.menuShortcut$.asObservable();\n }\n\n setMenuShortcut(data: MenuShortcutType[]) {\n this.menuShortcut$.next(data);\n }\n}\n","import { createAction, props } from '@ngrx/store';\n\nexport enum ActionTypes {\n SetTextSize = '[APP_SETTING] SET_TEXT_SIZE',\n}\n\nexport const setTextSize = createAction(\n ActionTypes.SetTextSize, //action name\n props<{ textSize: number }>() //parameter\n);\n","import { createAction, props } from '@ngrx/store';\n\nexport enum ActionTypes {\n SetEstate = '[ESTATE_ACT] SET_ESTATE',\n ResetEstate = '[ESTATE_ACT] RESET_ESTATE',\n}\nexport const SetEstate = createAction(\n ActionTypes.SetEstate, //action name\n props<{ estateData: any }>() //parameter\n);\nexport const ResetEstate = createAction(\n ActionTypes.ResetEstate //action name\n);\n","import { createAction, props } from '@ngrx/store';\n\nexport enum ActionTypes {\n SetInfoLand = '[FORM-INFO_ACT] SET_LAND',\n SetInfoCondo = '[FORM-INFO_ACT] SET_CONDO',\n SetInfoBuilding = '[FORM-INFO_ACT] SET_BUILDING',\n SetUpload = '[FORM-INFO_ACT] SET_UPLOAD',\n ResetStore = '[FORM-INFO_ACT] SET_RESETSTORE',\n}\n\nexport const SetInfoLand = createAction(\n ActionTypes.SetInfoLand, //action name\n props<{ landData: any }>() //parameter\n);\n\nexport const SetInfoCondo = createAction(\n ActionTypes.SetInfoCondo, //action name\n props<{ condoData: any }>() //parameter\n);\n\nexport const SetInfoBuilding = createAction(\n ActionTypes.SetInfoBuilding, //action name\n props<{ buildingData: any }>() //parameter\n);\n\nexport const SetUpload = createAction(\n ActionTypes.SetUpload, //action name\n props<{ upload: any }>()\n);\n\nexport const ResetStore = createAction(\n ActionTypes.ResetStore //action name\n);\n","import { createAction, props } from '@ngrx/store';\nimport MapView from '@arcgis/core/views/MapView';\n\nexport enum ActionTypes {\n //Action of middleware core\n InitMap = '[MAP_SURVEY_ACT_MIDDLEWARE] INIT_MAP',\n DestroyMap = '[MAP_SURVEY_ACT_MIDDLEWARE] DESTROY_MAP',\n\n BindMapCommand = '[MAP_SURVEY_ACT_MIDDLEWARE] BIND_MAP_COMMAND',\n BindEvtClickMap = '[MAP_SURVEY_ACT_MIDDLEWARE] ON_CLICK_MAP',\n\n //Action of middleware (Measurement)\n InitDrawerMeasurement = '[MAP_SURVEY_ACT_MIDDLEWARE] INIT_DRAWER_MEASUREMENT',\n BindEvtCompleteDrawerMeasurement = '[MAP_SURVEY_ACT_MIDDLEWARE] ON_CLICK_COMPLETE_DRAW_MEASUREMENT',\n DestroyMeasurement = '[MAP_SURVEY_ACT_MIDDLEWARE] DESTROY_MEASUREMENT',\n\n DrawGraphic = '[MAP_SURVEY_ACT_MIDDLEWARE] DRAWER_Graphic',\n DrawHighlight = '[MAP_SURVEY_ACT_MIDDLEWARE] DRAWER_HIGHLIGHT',\n DrawPointHighlight = '[MAP_SURVEY_ACT_MIDDLEWARE] DRAWER_POINTHIGHLIGHT',\n}\n\nexport const initMap = createAction(\n ActionTypes.InitMap,\n props<{ mapView: MapView }>()\n);\n\nexport const bindMapCommand = createAction(\n ActionTypes.BindMapCommand,\n props<{ mapFunction: Function; params?: any }>()\n);\n\nexport const destroyMap = createAction(ActionTypes.DestroyMap);\n\nexport const onClickMap = createAction(\n ActionTypes.BindEvtClickMap,\n props<{ callbackFunction: any }>()\n);\n\nexport const initDrawerMeasurement = createAction(\n ActionTypes.InitDrawerMeasurement\n);\n\nexport const bindDrawCompleteMeasurement = createAction(\n ActionTypes.BindEvtCompleteDrawerMeasurement,\n props<{ callbackFunction: (geometry: __esri.Geometry) => void }>()\n);\n\nexport const destroyMeasurement = createAction(ActionTypes.DestroyMeasurement);\nexport const drawGraphic = createAction(\n ActionTypes.DrawGraphic,\n props<{ params?: __esri.PointProperties }>()\n);\n\nexport const drawHighlightGraphic = createAction(\n ActionTypes.DrawHighlight,\n props<{ params?: __esri.PointProperties }>()\n);\nexport const drawPointHightlight = createAction(\n ActionTypes.DrawPointHighlight,\n props<{ params?: __esri.PointProperties }>()\n);\n","import { createAction, props } from '@ngrx/store';\n\nexport enum ActionTypes {\n SetProfile = '[PROFILE_ACT] SET_PROFILE',\n SetLogin = '[PROFILE_ACT] SET_LOGIN',\n SetLogout = '[PROFILE_ACT] SET_LOGOUT',\n SetNotiBadge = '[PROFILE_ACT] SET_NOTI_BADGE',\n}\n\nexport const SetProfile = createAction(\n ActionTypes.SetProfile, //action name\n props<{ profileInfo: ProfileType }>() //parameter\n);\n\nexport const SetNotiBadge = createAction(\n ActionTypes.SetNotiBadge,\n props<{ badge: number }>()\n);\n\nexport const SetLogin = createAction(\n ActionTypes.SetLogin,\n props<{ data: ProfileInfoType }>()\n);\n\nexport const SetLogout = createAction(ActionTypes.SetLogout);\n","import { MetaReducer } from '@ngrx/store';\nimport { MapSurveyMiddleware } from './middlewares/map-survey.middleware';\n\nexport const metaReducers: MetaReducer[] = [MapSurveyMiddleware];\n\nexport const effectMiddleware: Array = [];\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport {\n profileReducer,\n initialStateType as profileReducerInitialStateType,\n} from './reducers/profile.reducer';\n\nimport { formInfoReducer } from './reducers/form-info.reducer';\nimport { estateReducer } from './reducers/estate.reducer';\nimport {\n appSettingReducer,\n AppSettingReducerType,\n} from './reducers/app-setting.reducer';\n\nexport type ActionReducerMapType = {\n profileReducer: profileReducerInitialStateType;\n formInfoReducer: any;\n estateReducer;\n appSettingReducer: AppSettingReducerType;\n};\nexport const reducers: ActionReducerMap = {\n profileReducer,\n formInfoReducer,\n estateReducer,\n appSettingReducer,\n};\n","import { ActionReducer } from '@ngrx/store';\nimport { ActionTypes } from '../actions/map-survey.action';\nimport * as MapConstants from '../../constants/map';\nimport * as CoreMapFunction from '../../map/coreMapFunction';\n\ntype InitialArcgisType = ArcGisType & {\n onClickMap: any;\n\n onMeasurementDrawComplete: (geometry: __esri.Geometry) => void;\n};\nconst initialArcgis: InitialArcgisType = {\n mapView: null,\n drawerMeasurement: null,\n\n onClickMap: null,\n onMeasurementDrawComplete: null,\n};\nlet arcgis = { ...initialArcgis };\n\nconst executeMapFunction = (mapFunction, param) => {\n mapFunction(arcgis, param);\n};\n\nconst initMapEvent = () => {\n arcgis.mapView.on('click', (event: __esri.ViewClickEvent) => {\n if (arcgis.onClickMap) {\n arcgis.onClickMap(arcgis, event.mapPoint);\n }\n });\n};\n\nconst initGraphicLayer = async () => {\n Object.keys(MapConstants.graphicLayerId).forEach((key) => {\n const layerID = MapConstants.graphicLayerId[key];\n CoreMapFunction.addLayerById(arcgis, layerID);\n });\n};\n\nconst loadLayerTOC = async () => {};\n\nconst createDrawerMeasurement = () => {\n arcgis.drawerMeasurement = CoreMapFunction.createMeasurementDraw(\n arcgis,\n MapConstants.graphicLayerId.measurementLayer\n );\n arcgis.drawerMeasurement.on('create', (event) => {\n if (event.state === 'complete' && arcgis.onMeasurementDrawComplete) {\n arcgis.onMeasurementDrawComplete(event.graphic.geometry);\n }\n });\n};\n\nexport const MapSurveyMiddleware = (\n reducer: ActionReducer\n): ActionReducer => {\n return (state, action) => {\n const actionAny = action as any;\n switch (action.type) {\n case ActionTypes.InitMap:\n arcgis.mapView = actionAny.mapView;\n if (arcgis.mapView) {\n initMapEvent();\n loadLayerTOC();\n initGraphicLayer();\n }\n return state;\n\n case ActionTypes.BindMapCommand:\n executeMapFunction(actionAny.mapFunction, actionAny.params);\n return state;\n\n case ActionTypes.BindEvtClickMap:\n arcgis.onClickMap = actionAny.callbackFunction;\n return state;\n\n case ActionTypes.DestroyMap:\n if (arcgis.mapView) {\n arcgis.mapView.destroy();\n arcgis = initialArcgis;\n }\n return state;\n\n case ActionTypes.InitDrawerMeasurement:\n if (arcgis.mapView) {\n createDrawerMeasurement();\n }\n return state;\n case ActionTypes.BindEvtCompleteDrawerMeasurement:\n arcgis.onMeasurementDrawComplete = actionAny.callbackFunction;\n return state;\n case ActionTypes.DestroyMeasurement:\n if (arcgis.drawerMeasurement) {\n arcgis.drawerMeasurement.destroy();\n arcgis.drawerMeasurement = null;\n }\n return state;\n case ActionTypes.DrawGraphic:\n if (arcgis.mapView) {\n CoreMapFunction.addPointGraphic(arcgis, actionAny.params);\n }\n return state;\n\n case ActionTypes.DrawHighlight:\n if (arcgis.mapView) {\n CoreMapFunction.addHighlightGraphic(\n arcgis,\n actionAny.params\n );\n }\n return state;\n case ActionTypes.DrawPointHighlight:\n if (arcgis.mapView) {\n CoreMapFunction.addPointHightlight(\n arcgis,\n actionAny.params\n );\n }\n return state;\n default:\n const nextState = reducer(state, action);\n return nextState;\n }\n };\n};\n","import { createReducer, on } from '@ngrx/store';\nimport * as Action from '../actions/app-setting.action';\nimport textSizeConst from '../../constants/text-size';\nexport type AppSettingReducerType = {\n textSizeInfo: {\n textSize: number;\n class: {\n maximum4: string;\n maximum3: string;\n maximum2: string;\n maximum1: string;\n maximum: string;\n medium: string;\n minimum: string;\n minimum1: string;\n };\n };\n};\nexport const initialState: AppSettingReducerType = {\n textSizeInfo: {\n textSize: textSizeConst.Medium,\n class: {\n maximum4: 'tss-medium-maximum4',\n maximum3: 'tss-medium-maximum3',\n maximum2: 'tss-medium-maximum2',\n maximum1: 'tss-medium-maximum1',\n maximum: 'tss-medium-maximum',\n medium: 'tss-medium',\n minimum: 'tss-medium-minimum',\n minimum1: 'tss-medium-minimum1',\n },\n },\n};\n\nconst createRDC = createReducer(\n initialState,\n on(Action.setTextSize, (state, action) => {\n let customClass = state.textSizeInfo.class;\n switch (action.textSize) {\n case textSizeConst.Small:\n customClass = {\n maximum4: 'tss-small-maximum4',\n maximum3: 'tss-small-maximum3',\n maximum2: 'tss-small-maximum2',\n maximum1: 'tss-small-maximum1',\n maximum: 'tss-small-maximum',\n medium: 'tss-small',\n minimum: 'tss-small-minimum',\n minimum1: 'tss-small-minimum1',\n };\n break;\n case textSizeConst.Medium:\n customClass = {\n maximum4: 'tss-medium-maximum4',\n maximum3: 'tss-medium-maximum3',\n maximum2: 'tss-medium-maximum2',\n maximum1: 'tss-medium-maximum1',\n maximum: 'tss-medium-maximum',\n medium: 'tss-medium',\n minimum: 'tss-medium-minimum',\n minimum1: 'tss-medium-minimum1',\n };\n break;\n case textSizeConst.Large:\n customClass = {\n maximum4: 'tss-large-maximum4',\n maximum3: 'tss-large-maximum3',\n maximum2: 'tss-large-maximum2',\n maximum1: 'tss-large-maximum1',\n maximum: 'tss-large-maximum',\n medium: 'tss-large',\n minimum: 'tss-large-minimum',\n minimum1: 'tss-large-minimum1',\n };\n break;\n default:\n break;\n }\n\n return {\n ...state,\n textSizeInfo: {\n ...state.textSizeInfo,\n textSize: action.textSize,\n class: customClass,\n },\n };\n })\n);\n\nexport const appSettingReducer = (state, action) => createRDC(state, action);\n","import { createReducer, on } from '@ngrx/store';\nimport * as Action from '../actions/estate.action';\nexport type initialEstateType = {\n estateData: {\n land: any[];\n building: any[];\n condo: any[];\n ownerToken: string\n };\n};\nexport let initialState: initialEstateType = {\n estateData: {\n land: [],\n building: [],\n condo: [],\n ownerToken: ''\n },\n};\nconst _EstateReducer = createReducer(\n initialState,\n on(Action.SetEstate, (state, action) => {\n return {\n ...state,\n estateData: action.estateData,\n };\n }),\n on(Action.ResetEstate, () => {\n return {\n estateData: {\n land: [],\n building: [],\n condo: [],\n ownerToken: ''\n },\n };\n })\n);\nexport function estateReducer(state, action) {\n return _EstateReducer(state, action);\n}\n","import { createReducer, on } from '@ngrx/store';\nimport * as Action from '../actions/form-info.action';\n\nexport type initialStateType = {\n landData: any;\n condoData: any;\n buildingData: any;\n upload: any;\n isEmpty: boolean;\n};\n\nexport const initialState: initialStateType = {\n landData: {},\n condoData: {},\n buildingData: {},\n upload: [],\n isEmpty: true,\n};\n\nconst _FormInfoReducer = createReducer(\n initialState,\n on(Action.SetInfoLand, (state, action) => {\n return {\n ...state,\n landData: action.landData,\n isEmpty: false,\n };\n }),\n\n on(Action.SetInfoCondo, (state, action) => {\n return {\n ...state,\n condoData: action.condoData,\n isEmpty: false,\n };\n }),\n\n on(Action.SetInfoBuilding, (state, action) => {\n return {\n ...state,\n buildingData: action.buildingData,\n isEmpty: false,\n };\n }),\n on(Action.SetUpload, (state, action) => {\n return {\n ...state,\n upload: action.upload,\n isEmpty: false,\n };\n }),\n on(Action.ResetStore, () => {\n return {\n landData: {},\n condoData: {},\n buildingData: {},\n upload: [],\n isEmpty: true,\n };\n })\n);\n\nexport function formInfoReducer(state, action) {\n return _FormInfoReducer(state, action);\n}\n","import { createReducer, on } from '@ngrx/store';\nimport { decryptAES } from '../../utils/cipher';\nimport { keyStorage } from '../../constants/storage';\nimport { getLocalStorage } from '../../utils/storage';\nimport * as Action from '../actions/profile.action';\n\nexport type initialStateType = {\n isLogin: boolean;\n profileInfo: ProfileInfoType;\n notifyBadge: number;\n};\n\nexport const initialState: initialStateType = {\n isLogin: Boolean(getLocalStorage(keyStorage?.isLogin)) || false,\n profileInfo: {\n firstName: getLocalStorage(keyStorage.fullName)?.split(' ')[0] || '',\n lastName: getLocalStorage(keyStorage.fullName)?.split(' ')[1] || '',\n email: getLocalStorage(keyStorage.username)\n ? decryptAES(getLocalStorage(keyStorage.username))\n : '',\n privilegeMenu: getLocalStorage(keyStorage.menuKey)?.split(',') || [],\n pushNotification:\n Boolean(getLocalStorage(keyStorage.pushNotification)) || true,\n // role:''\n },\n notifyBadge: 0\n};\n\nconst _ProfileReducer = createReducer(\n initialState,\n on(Action.SetNotiBadge, (state, action) => {\n console.log(\"Reducer SetNotiBadge\", action.badge)\n return {\n ...state,\n notifyBadge: action.badge\n // profileInfo: {\n // ...state.profileInfo,\n // notiBadge: action.badge,\n // },\n };\n }),\n on(Action.SetLogin, (state, action) => {\n return {\n ...state,\n isLogin: true,\n profileInfo: action.data,\n };\n }),\n on(Action.SetLogout, (state) => {\n return {\n ...state,\n isLogin: false,\n profileInfo: initialState.profileInfo,\n notifyBadge: 0\n };\n })\n);\n\nexport function profileReducer(state, action) {\n return _ProfileReducer(state, action);\n}\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { CommonModule } from '@angular/common';\nimport {\n StoreModule as NGRXstoreModule,\n ActionReducerMap,\n MetaReducer,\n} from '@ngrx/store';\n\nimport { reducers } from './config-reducers';\nimport { metaReducers, effectMiddleware } from './config-middleware';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n NGRXstoreModule.forRoot(reducers, {\n metaReducers,\n runtimeChecks: {\n strictActionImmutability: false, //ทำให้ส่ง object ที่มีความ Complex มาก ๆ ผ่าน actoin ได้\n },\n }),\n EffectsModule.forRoot(effectMiddleware),\n ],\n exports: [NGRXstoreModule],\n})\nexport class StoreModule {}\n","import * as cryptoJS from 'crypto-js';\nimport { CRYPTO_JS } from '../constants/cryptoJs';\n\nconst options = {\n iv: cryptoJS.enc.Utf8.parse(CRYPTO_JS.aesIV),\n padding: cryptoJS.pad.Pkcs7,\n mode: cryptoJS.mode.CBC,\n algorithm: cryptoJS.algo.AES,\n blockSize: CRYPTO_JS.aesBlockSize,\n};\n\nexport const encryptAES = (text: string) => {\n let key = cryptoJS.enc.Utf8.parse(CRYPTO_JS.aesSecret);\n const encrypted = cryptoJS.AES.encrypt(\n cryptoJS.enc.Utf8.parse(text),\n key,\n options\n );\n return encrypted.toString();\n};\n\nexport const decryptAES = (textEncrypted: string) => {\n let key = cryptoJS.enc.Utf8.parse(CRYPTO_JS.aesSecret);\n const decrypted = cryptoJS.AES.decrypt(textEncrypted, key, options);\n return decrypted.toString(cryptoJS.enc.Utf8);\n};\n","// ---- Local Storage (ข้อมูลจะหายไปก็ต่อเมื่อ Clear Storage) ---- //\nexport const getLocalStorage = (key: string) => {\n const result: string = window.localStorage.getItem(key);\n return result;\n};\n\nexport const setLocalStorage = (key: string, value: string) => {\n window.localStorage.setItem(key, value);\n};\n\nexport const removeLocalStorage = (key: string) => {\n window.localStorage.removeItem(key);\n};\n\nexport const clearLocalStorage = () => {\n window.localStorage.clear();\n};\n\n// ---- Session Storage (ข้อมูลก็จะหายไปเมื่อปิด Browser) ---- //\nexport const getSessionStorage = (key: string) => {\n const result: string = window.sessionStorage.getItem(key);\n return result;\n};\n\nexport const setSessionStorage = (key: string, value: string) => {\n window.sessionStorage.setItem(key, value);\n};\n\nexport const removeSessionStorage = (key: string) => {\n window.sessionStorage.removeItem(key);\n};\n\nexport const clearSessionStorage = () => {\n window.sessionStorage.clear();\n};\n","import { APP_MAIN } from '../../environments/environment';\nimport { menuPath } from '../constants/menu';\nimport jwt_decode from 'jwt-decode';\nimport { RequestActionType } from '../constants/enum';\n\nexport const formatNumber = (num: number) => {\n return num.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n};\n\nexport const convertStringNumberToNumber = (numStr: string) => {\n return parseInt(numStr.replace(/,/g, ''));\n};\n\nexport const getShortName = (fullname: string) => {\n const splitList = fullname.split(' ');\n const filterSplitList = splitList.filter((data) => data !== '' && data);\n const firstChar = filterSplitList.length > 0 ? filterSplitList[0] : '';\n const secondChar =\n filterSplitList.length > 0 && filterSplitList.length > 1\n ? filterSplitList[filterSplitList.length - 1]\n : '';\n const result = `${firstChar.charAt(0)}${secondChar.charAt(\n 0\n )}`?.toUpperCase?.();\n return result;\n};\n\nexport const getUrlWithoutHttp = (url: string) => {\n let result = url\n .replace(APP_MAIN, '')\n .replace('https://', '')\n .replace('http://', '');\n\n return result;\n};\n\nexport const getSubUrl = (url: string) => {\n let result = url\n .replace(APP_MAIN, '')\n .replace('https://', '')\n .replace('http://', '');\n if (result.slice(-1) === '/') {\n result = result.substring(0, result.length - 1);\n }\n\n return result;\n};\n\nexport const menuSidebarFormatter = (menu: MenuResponseType) => {\n const menuUser: MenuSidebarItemType[] = menu?.user?.map(\n (item: MenuItemResponseType) => ({\n id: item.id,\n title: item.nameTh,\n path:\n menuPath.find((item2: MenuPathType) => item.id === item2.id)\n .path || '',\n functionId: item.functionId,\n })\n );\n const menuAdmin: MenuSidebarItemType[] = menu?.admin?.map(\n (item: MenuItemResponseType) => ({\n id: item.id,\n title: item.nameTh,\n path:\n menuPath.find((item2: MenuPathType) => item.id === item2.id)\n .path || '',\n functionId: item.functionId,\n })\n );\n let addManualOther = menu?.other?.map((data) => ({ ...data })) ?? [];\n addManualOther = [\n ...addManualOther,\n {\n id: 'custom_id_manual',\n nameTh: 'คู่มือการใช้งานระบบ',\n nameEn: 'User Manual',\n functionId: '',\n },\n {\n id: 'custom_id_download_mobile',\n nameTh: 'ดาวน์โหลด Mobile',\n nameEn: 'Download Mobile',\n functionId: '',\n },\n ];\n const menuOther: MenuSidebarItemType[] = addManualOther.map(\n (item: MenuItemResponseType) => ({\n id: item.id,\n title: item.nameTh,\n path:\n menuPath.find((item2: MenuPathType) => item.id === item2.id)\n .path || '',\n functionId: item.functionId,\n })\n );\n\n let result: MenuSidebarType = {\n user: menuUser,\n admin: menuAdmin,\n other: menuOther,\n };\n\n return result;\n};\n\nexport const menuShortcutFormatter = (\n menu: MenuShortcutResponseType[] = []\n) => {\n const result: MenuShortcutType[] = menu?.map(\n (item: MenuShortcutResponseType) => ({\n id: item.id,\n title: item.nameTh,\n description: item.descriptionTh,\n path:\n menuPath.find((item2: MenuPathType) => item.id === item2.id)\n .path || '',\n icon:\n menuPath.find((item2: MenuPathType) => item.id === item2.id)\n .icon || '',\n })\n );\n\n return result;\n};\n\nexport const canAccessMenu = (keyMenuList: string[], url: string) => {\n const currentUrl = url.substring(1);\n\n const menuPermission = menuPath.filter((item) =>\n keyMenuList.includes(item.id)\n );\n /**\n * const menu = menuPermission.find((item) => {\n console.log('item', item)\n let isPermit = false;\n if (item.subPath.length > 0) {\n const filterMenu = (\n item.subPath.filter((subPath) => {\n const concatURL = `${item.path}${subPath}`;\n const equalLengthURL = url.substring(concatURL.length - 1).substring(1);\n console.log('equalLengthURL', equalLengthURL, concatURL);\n return (item.path + subPath).includes(currentUrl);\n })\n )\n console.log('filterMenu', filterMenu);\n isPermit = filterMenu.length > 0;\n } else {\n const firstCondition = item.path.includes(currentUrl);\n const secondCondition = currentUrl.length >= (item.path.length - 1);\n if (firstCondition && secondCondition) {\n isPermit = true;\n }\n }\n return isPermit;\n });\n */\n let isPermit = false;\n menuPermission.forEach((menuItem) => {\n if (!isPermit) {\n if (menuItem.subPath.length > 0) {\n isPermit = menuItem.subPath.find((subPath) => {\n const concatURL = `${menuItem.path}${subPath}`;\n const condition = concatURL.length < url.length;\n return condition\n ? url.includes(concatURL)\n : concatURL.includes(currentUrl);\n })\n ? true\n : false;\n } else {\n const firstCondition = menuItem.path.includes(currentUrl);\n const secondCondition =\n currentUrl.length >= menuItem.path.length - 1;\n if (firstCondition && secondCondition) {\n isPermit = true;\n }\n }\n }\n });\n return isPermit || currentUrl.includes('message') ? true : false;\n};\n\nexport const addCommas = (num: number) => {\n return num.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n};\n\nexport const generateGoogleMapUrl = (\n latitude: number,\n longitude: number,\n type: 'Normal' | 'StreetView' = 'StreetView'\n) => {\n if (type === 'Normal') {\n return `http://maps.google.com/maps?q=&layer=t&cbll=${latitude},${longitude}&mapmode=streetview`;\n } else {\n return `http://maps.google.com/?cbll=${latitude},${longitude}&cbp=12,20.09,,0,5&layer=c`;\n }\n};\n\nexport const checkExpiredToken = (token: string) => {\n let decoded = jwt_decode(token) as any;\n const fixExp = Number(`${decoded.exp}000`);\n return Date.now() > fixExp;\n};\n\nexport const getUserActions = (statusId: string) => {\n let initAction = [RequestActionType.CAN_VIEW];\n if (statusId === '-1' || statusId === '0') {\n initAction = [RequestActionType.CAN_DELETE, RequestActionType.CAN_EDIT];\n } else if (statusId === '1') {\n initAction = [RequestActionType.CAN_VIEW, RequestActionType.CAN_CANCEL];\n }\n\n return initAction;\n};\n\nexport const numberWithCommas = (_number: Number) => {\n return _number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n};\n\nexport const getCurrentTaxYear = () => {\n let buddhistYear = new Date().getFullYear() + 543;\n const currentMonth = new Date().getMonth() + 1;\n if (currentMonth >= 10) {\n buddhistYear += 1;\n }\n return buddhistYear;\n};\n","export const environment = {\n production: true,\n staging: false,\n gdev: false,\n fullSecureAuthentication: {\n true: {\n fullSecureAuthentication: true,\n redirectUrlAfterSignedOut: 'bma-dvs://redirect',\n signOutUri: 'bma-dvs://signout',\n callbackUri: 'bma-dvs://callback',\n loginUri: 'bma-dvs://signin',\n },\n false: {\n fullSecureAuthentication: false,\n callbackUri: '/callback',\n loginUri: '/login',\n },\n },\n};\n\nexport const APP_MAIN = 'https://mbmatax.bangkok.go.th';\nexport const APP_FOLDER = '/verifytax';\nexport const APP_ASSETS = '/verifytax/assets';\nexport const PUBLIC_URL = `${APP_MAIN}${APP_FOLDER}`;\nexport const API_URL = 'https://mbmatax.bangkok.go.th/verifytax-gateway/api';\nexport const APP_WEBSITE_NAME = 'verifytax';\nexport const APP_LOGIN_URL = `https://bmatax.bangkok.go.th/auth/login?redirect_url=https://mbmatax.bangkok.go.th/${APP_WEBSITE_NAME}/callback`;\nexport const APP_LOGOUT_URL = `https://bmatax.bangkok.go.th/auth/logout?redirect_url=https://mbmatax.bangkok.go.th/${APP_WEBSITE_NAME}/callback`;\nexport const APP_PORTAL_VERIFY_URL = `https://bmatax.bangkok.go.th/auth/verify`;\nexport const API_URL_MAP =\n 'https://mbmatax.bangkok.go.th/arcgis/rest/services/SurveyTaxMap/SurveyTaxView/MapServer';\nexport const APP_BMA_TAXMAP_URL_PREFIX = 'mbmatax.bangkok.go.th/arcgis';\nexport const APP_BMA_PROXY_URL =\n 'https://mbmatax.bangkok.go.th/proxy/proxy.ashx';\n\nexport const APP_BMA_FEATURE_LAYER_URL =\n 'https://mbmatax.bangkok.go.th/arcgis/rest/services/SurveyTaxMap/SurveyTaxView/MapServer';\nexport const APP_BMA_MAP_PROXY = true;\n\nexport const APP_BMA_FEATURE_LAYER_SIGNBOARD_FIELD_NAME = 'SIGN_GISID';\nexport const APP_BMA_FEATURE_LAYER_CONDO_FIELD_NAME = 'CONDO_ID';\nexport const APP_BMA_FEATURE_LAYER_BUILDING_FIELD_NAME = 'BLDG_ID';\nexport const APP_BMA_FEATURE_LAYER_LAND_FIELD_NAME = 'PK_LINK';\nexport const APP_BMA_FEATURE_LAYER_SIGNBOARD_ID = 2;\nexport const APP_BMA_FEATURE_LAYER_CONDO_ID = 3;\nexport const APP_BMA_FEATURE_LAYER_BUILDING_ID = 4;\nexport const APP_BMA_FEATURE_LAYER_LAND_ID = 6;\n\nexport const APP_BMA_FEATURE_LAYER_LAND_DRAFT = '7';\nexport const APP_BMA_FEATURE_LAYER_BUILDING_DRAFT = '5';\nexport const APP_BMA_FEATURE_LAYER_SIGN_DRAFT = '2';\n\nexport const APP_BMA_TOC_LAYER_URL = API_URL_MAP;\n\nexport const FCM_TOPIC = `th.go.bangkok.taxmap.verify_{userId}`;\n\nexport const API_PAYMENT_TOKEN =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjUxNTI5NjEsImlzcyI6Imh0dHBzOi8vYm1hdGF4LmJhbmdrb2suZ28udGgiLCJhdWQiOiJodHRwczovL2JtYXRheC5iYW5na29rLmdvLnRoIiwic3ViIjoiMzc5IiwiY2lkIjoiYm1hdGF4LXBvcnRhbCIsImlhdCI6MTY2NTExNjk2MSwibm9uY2UiOiI5ODY2OThkZjNjNWU0NDdmYmZkZWNhNDQ2OGEyNDU3MyJ9.ctV-46BVOk8B_QWVv4RVT7R4RH6xeRsEVFmQ6jMcLtk';\n\nexport const FUNCTION_ID_PDS3 = 'VR-06-01';\nexport const FUNCTION_ID_PDS4 = 'VR-06-02';\nexport const FUNCTION_ID_PDS6 = 'VR-06-03';\nexport const FUNCTION_ID_PDS7 = 'VR-06-04';\nexport const FUNCTION_ID_PDS8 = 'VR-06-05';\nexport const FUNCTION_ID_PP1 = 'VR-06-07';\nexport const FUNCTION_ID_PP2 = 'VR-06-08';\n\nexport const APP_BMA_QR_ANDROID = `${API_URL}/download/04_VR/QR-Code/VR-QR-Android.png`;\nexport const APP_BMA_QR_IOS = `${API_URL}/download/04_VR/QR-Code/VR-QR-iOS.png`;\nexport const APP_BMA_STORE_ANDROID = 'https://play.google.com/store/apps/details?id=th.go.bangkok.taxmap.verify.pub';\nexport const APP_BMA_STORE_IOS = 'https://apps.apple.com/app/id1644677970';","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}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t70079,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t25593,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t13225,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t4812,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t86655,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t44856,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t13059,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t58648,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t98308,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t44690,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t64090,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t50306,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t69447,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t79689,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t18840,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t40749,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t69667,\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t83288,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t35473,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t53634,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t22855,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t495,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t58737,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t99632,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t54446,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t32275,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t48050,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t18994,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t23592,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t35454,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t290,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t92666,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t64816,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t45534,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t94902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t91938,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t78179,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t90668,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t61624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t19989,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t28902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t70199,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t48395,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t96357,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t38268,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t15269,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t32875,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 50863;\nmodule.exports = webpackAsyncContext;","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(() => {\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 = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 41993;\nmodule.exports = webpackEmptyAsyncContext;","/* (ignored) */"],"names":["Injectable","apiUrl","HttpRequestService","encryptAES","AuthApi","constructor","httpRequestService","login","param","result","axiosPost","username","password","response","data","status","message","error","toString","resendEmail","register","forgetPassword","changePassword","axiosPut","userExist","verifyEmail","token","axiosGet","verify","replace","verifyForget","setPassword","getMenuPermission","axiosGetWithToken","menuPermission","getMenuByToken","config","headers","Authorization","getAdministrative","provCode","districtCode","url","URL","administrative","searchParams","set","map","item","id","code","name","profileChangePassword","axiosPostWithToken","oldPassword","newPassword","resendMail","checkOwnerExist","ownerExist","getOwnerNames","ownerNames","checkUserOwnerExistByIdCard","idCard","userOwnerExistByIdCard","providedIn","GenerateTokenAPI","refreshToken","getToken","MenuApi","getMenu","menu","getMenuShortcut","menuShortcut","MessageApi","getMessage","setReadAllMessage","axiosPutWithToken","messageRead","setReadMessageById","messageId","getLocalStorage","keyStorage","ProfileService","getProfile","isAdmin","profile","updateProfile","profileUpdate","deleteProfile","axiosDeleteWithToken","deleteUser","ChangeDetectionStrategy","Component","SplashScreen","Router","NgZone","App","APP_MAIN","APP_WEBSITE_NAME","APP_PORTAL_VERIFY_URL","IframeListenerService","AxiosListenerService","IframeNavigatePath","AuthService","AppComponent","router","zone","iframeListenerService","axiosListener","authService","run","isNotCallbackPath","window","location","pathname","indexOf","isNotLogoutPath","LOGOUT","isNotRegisterPath","REGISTER","authWithToken","subscribeAxios","setTimeout","hide","subscribe","deepLink","refreshApp","ngAfterViewInit","addListener","event","accessUrl","isAccessWithPortalVerifyUrl","verifyToken","split","pop","navigatePath","VERIFY","navigate","domain","trim","slug","regisInd","regisToken","forgetInd","forgetToken","navigateByUrl","selector","template","changeDetection","OnPush","ChangeDetectorRef","NavigationEnd","MENU_HOME_SVG_ICON","MenuService","createSelector","select","Store","appVersion","androidVersion","iosVersion","Platform","SetNotiBadge","selectReducer","state","selectAppSettingReducer","appSettingReducer","SidebarComponent","menuService","store","changeRef","platform","messageApi","user","admin","other","badge","filter","isRead","length","dispatch","ex","console","loadNotify","activeMenuId","path","pipe","appSettingTextSizeClass","textSizeInfo","class","ngOnInit","ngDoCheck","subscription","events","menuSidebar","forEach","getMenuSidebar","menuByPermission","menuKey","filterAdmin","_a","includes","_b","filterOther","_c","_d","filterUser","_e","_f","detectChanges","ngOnDestroy","unsubscribe","appVersionNumber","vNumber","isDesktop","is","isMobile","isAndroid","isIos","geometryEngine","GraphicsLayer","SketchViewModel","FeatureLayer","formatNumber","coordinateDecimalDigit","graphicLayerId","measurementDecimalDigit","measurementDrawMode","measurementUnit","visiblePropertyToc","Polygon","Graphic","identify","IdentifyParameters","API_URL_MAP","Basemap","VectorTileLayer","zoomIn","arcgis","mapView","goTo","zoom","zoomOut","pan","params","opt","Object","center","longitude","latitude","getCurrentLocation","geolocation","coords","getCurrentPosition","enableHighAccuracy","timeout","maximumAge","setBasemap","basemapUrl","basemap","basemapName","title","labelName","baseLayers","getLayerById","layerId","findLayerById","addLayerById","layer","layers","add","clearLayerById","removeAll","addLayer","addGraphicsLayerById","addFeatureLayerByUrl","setVisibleFeatureLayer","featureLayer","isVisibility","visible","setVisibleTOC","sublayers","find","itm","parseInt","setVisibleLayerByID","toggleVisibleLayerById","currentVisible","createMeasurementDraw","measurement","view","updateOnGraphicClick","defaultUpdateOptions","toggleToolOnClick","multipleSelectionEnabled","enableScaling","enableRotation","pointSymbol","type","color","size","outline","polylineSymbol","width","polygonSymbol","style","drawMeasurement","drawMode","point","drawerMeasurement","create","distance","mode","area","calculateDistance","geometry","unit","toFixed","nameEN","feet","geodesicLength","parseFloat","calculateArea","geodesicArea","calculateRai","squareMeter","calculateNgan","calculateWa","calculateRaiNganWa","rai","ngan","squareWa","calculateMeasurement","measurementResult","unitTH","addPointGraphic","markerSymbol","pointGraphic","symbol","graphics","addHighlightGraphic","highlightLayer","polygonGraphic","simpleMarkerSymbol","addPointHightlight","identifyMap","mapPoint","identifyParams","tolerance","layerIds","layerOption","height","mapExtent","extent","returnGeometry","identifyUrl","results","setPolygon","polygonJson","polygon","fillSymbol","Injector","BehaviorSubject","SetLogin","SetLogout","SetProfile","clearLocalStorage","clearSessionStorage","removeLocalStorage","setLocalStorage","FcmService","canAccessMenu","menuShortcutFormatter","menuSidebarFormatter","HeaderService","UserType","selectProfileReducer","profileReducer","fcmService","injector","headerService","httpService","userId","accessToken","authApi","get","profileApi","firstName","lastName","userType","companyName","profileStorage","profileStore","createParam","initialization","isLogin","join","profileInfo","initialMenu","goToPage","portalToken","generateToken","tokenInfo","auth","clearApplicationStorage","navigateLogin","replaceUrl","extras","refreshUrl","isNotLandingUrl","goToPageDefault","privilegeMenu","goToMainPage","isAuth","_g","CITIZEN","fullName","_h","_j","_k","_l","_m","COMPANY","_o","_p","renewToken","_q","_r","_s","_t","pushNotification","isReceiveNotication","subscribeTo","isLoggedIn$","next","logout","unsubscribeFrom","redirectUrl$","getIsLoggedIn","asObservable","getIsLogin","getPrivilegeMenu","getRedirectUrl","setRedirectUrl","email","setDisplayHeader","redirectUrl","menuApi","setMenuSidebar","setMenuShortcut","then","axios","LoaderService","checkExpiredToken","FunctionListenerService","TOKEN_ERROR_CODE","INVALID_REFRESH_TOKEN","EXPIRED_REFRESH_TOKEN","INVALID_REFRESH_TOKEN_OR_EXPIRED","loaderService","funcListenerService","getIP","interceptors","request","use","newRequest","createNewHeader","bearer","encryptToken","isTokenExpired","inUsedToken","orderCounter","Promise","resolve","timerVal","getIsLoading","getIsHolding","hideLoader","log","isInvalidToken","errorCode","goToLoginPage","reject","currentFuncId","getCurrentFunctionId","undefined","currentIpAddress","address","newHeaders","function_id","ip_address","FCM","ToastController","PushNotifications","LocalNotifications","FCM_TOPIC","toastController","localNotifications","permStatus","checkPermissions","receive","requestPermissions","setAutoInit","enabled","isAutoInitEnabled","channelId","channelName","createChannel","importance","vibration","value","JSON","stringify","notification","toast","body","position","duration","buttons","side","text","handler","present","topic","r","catch","err","removeAllListeners","redirect","getConfig","post","cancelToken","put","axiosDelete","delete","LoadingController","loadingController","showLoader","loading","cssClass","spinner","backdropDismiss","isLoading","holdLoading","dismiss","setHolderLoading","isHold","ActionTypes","MapConstants","CoreMapFunction","initialArcgis","onClickMap","onMeasurementDrawComplete","executeMapFunction","mapFunction","initMapEvent","on","initGraphicLayer","keys","key","layerID","loadLayerTOC","createDrawerMeasurement","measurementLayer","graphic","MapSurveyMiddleware","reducer","action","actionAny","InitMap","BindMapCommand","BindEvtClickMap","callbackFunction","DestroyMap","destroy","InitDrawerMeasurement","BindEvtCompleteDrawerMeasurement","DestroyMeasurement","DrawGraphic","DrawHighlight","DrawPointHighlight","nextState"],"sourceRoot":"webpack:///"}