{"version":3,"sources":["assets/img/logo/yes.png","assets/img/logo/epay.png","assets/img/logo/oren.png","assets/img/logo/epay-ghl.png","assets/img/logo/hotlink.png","assets/img/logo/digi.png","assets/img/logo/xpax.png","assets/img/logo/astro.png","assets/img/logo/molpay.png","assets/img/logo/cherrycredits.png","assets/img/logo/garena.png","assets/img/logo/acash.png","assets/img/logo/toucn-n-go.png","assets/img/logo/mantap-logo.png","assets/img/logo/first.png","assets/img/logo/tunetalk.png","assets/img/logo/umobile.png","assets/img/logo/xox.png","assets/img/logo/tron.png","assets/img/logo/merchatrade.png","assets/img/logo/buzzme.png","assets/img/logo/itel.png","assets/img/logo/kartuloveas.png","assets/img/logo/artel.png","assets/img/logo/speakout.png","assets/img/logo/friendi.png","assets/img/logo/xiddig.png","assets/img/logo/ysmobile.png","assets/img/logo/tm.png","assets/img/logo/streamyx.png","assets/img/logo/unifi.png","assets/img/logo/redone.png","assets/img/logo/cubits.png","assets/img/logo/multigamecard.png","assets/img/logo/molpoints.png","assets/img/logo/offgamers.png","assets/img/logo/cibmall.png","assets/img/logo/mycard.png","assets/img/logo/mcash.png","components/sidebar/notification.mp3","assets/img/logo/mantap.png","assets/img/error.png","util/Constant.js","localization/i18n.js","util/Util.js","redux/AppAction.js","redux/AppReducer.js","util/ApiEngine.js","redux/FirebaseAction.js","redux/AuthAction.js","util/PermissionChecker.js","redux/AuthReducer.js","redux/MemberAction.js","redux/MemberReducer.js","redux/FirebaseReducer.js","ApplicationStore.js","config/page-settings.js","components/header/dropdown/language.jsx","components/custom/ResetPasswordModal.js","components/header/dropdown/profile.jsx","components/header/dropdown/mega.jsx","components/header/header.jsx","components/header/shop-header.jsx","components/sidebar/sidebar-profile.jsx","components/sidebar/sidebar-nav-list.jsx","components/sidebar/menu.jsx","components/sidebar/shop-menu.jsx","components/sidebar/sidebar-nav.jsx","components/sidebar/sidebar.jsx","pages/home/Login.js","components/panel/panel.jsx","components/custom/NavigationButton.js","components/custom/ReactTable.js","components/custom/SetShopLimitModal.js","components/custom/SetShopUpperLimitModal.js","components/custom/CopyAccountDetailModal.js","components/custom/SetShopEghlLimitModal.js","pages/admin/account/ManageShop.js","components/custom/DualListBoxItemRow.js","pages/admin/account/ShopDetail.js","components/custom/SetManagerLimitModal.js","components/custom/SetManagerUpperLimitModal.js","pages/admin/account/ManageManager.js","pages/admin/account/ManagerDetail.js","pages/admin/account/ManageRole.js","pages/admin/account/RoleDetail.js","pages/admin/account/ManageAdmin.js","pages/admin/account/AdminDetail.js","components/custom/ScoreLogModal.js","components/custom/GameLogModal.js","components/custom/ReferralCodeModal.js","components/custom/AccountStatusModal.js","components/custom/AppealRequestModal.js","components/custom/ReloadDetailModal.js","pages/admin/account/ManagePlayer.js","pages/admin/account/ManageMember.js","pages/admin/account/MemberDetail.js","pages/admin/account/ViewAnnouncement.js","components/custom/CreatePlayerModal.js","pages/admin/account/MemberPlayerControl.js","pages/admin/account/ManageShopApi.js","components/custom/SetAgentCreditModal.js","pages/admin/account/ManageAgent.js","pages/admin/account/AgentDetail.js","pages/admin/Dashboard.js","pages/admin/vendor/ManageVendor.js","pages/admin/vendor/VendorDetail.js","components/custom/AttachShopModal.js","pages/admin/vendor/ManageVendorApi.js","components/custom/LottoPayrateTable.js","pages/admin/vendor/VendorApiDetail.js","pages/admin/configuration/ManageSystemSettings.js","pages/admin/configuration/ManageSmsSettings.js","pages/admin/configuration/SmsDetails.js","components/custom/PreviewMessageModal.js","pages/admin/configuration/ManageShopMessage.js","pages/admin/configuration/ShopMessageDetail.js","pages/admin/configuration/ManageSystemMessage.js","pages/admin/configuration/SystemMessageDetail.js","pages/admin/configuration/ManagePhoneMessage.js","pages/admin/configuration/PhoneMessageDetail.js","pages/admin/configuration/OperationLog.js","pages/admin/configuration/ManagePromotion.js","pages/admin/configuration/ManagePromotionDetail.js","pages/admin/configuration/ManageLuckyNumber.js","pages/admin/configuration/ManageMiniProgram.js","pages/admin/configuration/MiniProgramDetail.js","pages/admin/configuration/ManagePaymentGateway.js","pages/admin/configuration/ManagePaymentGatewayDetail.js","pages/admin/configuration/ManageIPBlackList.js","pages/admin/configuration/ManageShopLogin.js","pages/admin/configuration/ManageAppealTransaction.js","pages/admin/configuration/ManageBonus.js","components/custom/RegionFilterDualListBox.js","pages/admin/report/SetLimitReport.js","pages/admin/report/SetScoreReport.js","pages/admin/report/SalesReport.js","pages/admin/report/RewardReport.js","pages/admin/report/ClaimRewardReport.js","pages/admin/report/ManagerLimitReport.js","pages/admin/report/KioskTimeoutReport.js","pages/admin/report/AgentCommissionReport.js","components/custom/CreateEWalletTransactionModal.js","pages/admin/report/TopUpReport.js","pages/admin/report/CreditTransferReport.js","pages/admin/report/StrikeReport.js","pages/admin/report/RolloverReport.js","pages/admin/report/UpperLimitWarningReport.js","pages/admin/report/UserExperienceReport.js","pages/admin/report/TurnoverReport.js","pages/admin/report/TurnoverRewardReport.js","pages/admin/report/LuckySpinWinner.js","pages/admin/report/KogWinner.js","pages/admin/report/AgentNetProfitReport.js","pages/admin/report/LottoSeamlessSettlementReport.js","pages/admin/report/ShopEghlReport.js","pages/shop/Report.js","components/custom/PasswordConfirmationModal.js","pages/shop/MemberDetails.js","components/custom/MemberRolloverDetailModal.js","pages/shop/Reload.js","components/custom/EghlServiceDetail.js","pages/shop/EGHLReload.js","pages/shop/ClaimBonus.js","pages/shop/Search.js","pages/shop/BlockPuk.js","pages/shop/RegisterMember.js","pages/shop/RegisterPlayer.js","pages/shop/ShopAgentCommissionReport.js","pages/shop/CreditTopupReport.js","pages/shop/CreditTransferReport.js","pages/shop/PlayerReload.js","pages/shop/Announcement.js","pages/shop/QrScanner.js","pages/shop/TransactionRequest.js","pages/shop/ShopLimitApprovalReport.js","pages/admin/vendor/ManageVendorCategory.js","pages/admin/vendor/VendorCategoryDetail.js","components/custom/RankVendorRateModal.js","pages/admin/configuration/ManageRank.js","pages/admin/configuration/RankDetail.js","pages/admin/configuration/ManageNotificationSettings.js","pages/admin/configuration/NotificationDetails.js","pages/admin/account/ManageMemberDownline.js","pages/admin/configuration/ManageAppAnnoucement.js","pages/admin/configuration/AppAnnoucementDetail.js","components/custom/PrizeDistributionModal.js","components/custom/VipMemberModal.js","pages/admin/configuration/ManageKogEvent.js","components/custom/PrizeModal.js","pages/admin/configuration/KogEventDetail.js","components/custom/KogEventLogModal.js","pages/admin/configuration/KogEventRanking.js","pages/admin/configuration/ManageFeedbackSettings.js","pages/admin/configuration/MemberFeedbackReport.js","pages/admin/configuration/ShopFeedbackReport.js","pages/admin/configuration/ManageBanner.js","pages/admin/configuration/BannerDetail.js","pages/admin/report/MemberEcreditTransferLog.js","pages/admin/report/RegionEcreditTransferLog.js","pages/admin/report/UserActionLog.js","pages/admin/report/UserTransactionLog.js","pages/admin/report/OverallDownlineReport.js","pages/admin/report/RankSummaryReport.js","pages/admin/report/ApiLog.js","pages/admin/account/AgentVendorApiDetail.js","pages/admin/report/AgentWinLossReport.js","pages/admin/report/AgentWinLossReport2.js","pages/admin/configuration/ManageVipMember.js","pages/admin/online-withdrawal/OnlineWithdrawalRequest.js","pages/admin/report/ManagerLimitTransactionReport.js","pages/shop/PlayerCreationReport.js","pages/admin/third-party/ManageThirdParty.js","pages/admin/third-party/ThirdPartyDetail.js","pages/admin/third-party/ManageThirdPartyApi.js","pages/admin/third-party/ThirdPartyApiDetail.js","pages/admin/report/UserGrowthReport.js","config/page-route.jsx","components/content/content.jsx","components/footer/footer.jsx","components/custom/SearchMemberModal.js","app.jsx","index.js"],"names":["module","exports","ApiKey","_API_SUCCESS_KEY","_API_MESSAGE_KEY","_API_DATA_KEY","_API_CODE_KEY","_API_CONTENT_TYPE","_API_ACCEPT","_API_APPLICATION_JSON","_API_XML_HTTP_REQUEST_KEY","_API_FORM_URLENCODED","_API_POST","_API_GET","ApiUrl","_API_LOGIN","_API_LOGOUT","_API_IS_LOGGED_IN","_API_GET_USERS_ROLE","_API_GET_ROLE_ACCESS_DATA","_API_GET_ROLE_BY_ID","_API_CREATE_OR_UPDATE_ROLE","_API_GET_USERS","_API_CREATE_OR_UPDATE_USER_ACCOUNT","_API_GET_ACCOUNT","_API_CHANGE_PASSWORD","_API_VERIFY_PASSWORD","_API_RESET_MEMBER_PASSWORD","_API_BULK_ASSIGN_SHOP_SETTINGS","_API_GET_ACCOUNT_BY_REGIONS","_API_GET_PLAYER_LIST","_API_CREATE_OR_UPDATE_PLAYER","_API_GET_PLAYER_BY_ID","_API_COPY_USER_ACCOUNT","_API_PERFORM_MEMBER_ROLLOVER_RESET","_API_GET_MEMBERS_BY_RANK_ID","_API_UPDATE_MEMBER_PROFILE_PERMISSION","_API_SEARCH_MEMBER","_API_RETRIEVE_RELOAD_DETAILS","_API_GET_TRANSACTION_REQUEST","_API_SETTLE_TRANSACTION_REQUEST","_API_GET_SHOPS","_API_GET_VENDOR_API_LIST","_API_GET_VENDOR_LIST","_API_GET_VENDOR_BY_ID","_API_GET_VENDOR_API_BY_ID","_API_CREATE_OR_UPDATE_VENDOR","_API_GET_VENDOR_LOTTO_PACKAGE_BY_API","_API_CREATE_OR_UPDATE_VENDOR_API","_API_GET_VENDOR_API_SHOP_BY_API_ID","_API_AVAILABLE_API_META_SHOP_LIST","_API_ATTACH_VENDOR_API_META_SHOP","_API_AVAILABLE_API_META_AGENT_LIST","_API_ATTACH_VENDOR_API_META_AGENT","_API_GET_VENDOR_API_AGENT_BY_API_ID","_API_GET_SMS_SETTING_BY_ID","_API_GET_SMS_SETTING_TYPE","_API_GET_SMS_SETTING","_API_GET_SYSTEM_SETTING","_API_GET_SYSTEM_SETTING_BY_NAME","_API_CREATE_OR_UPDATE_SYSTEM_SETTING","_API_CREATE_OR_UPDATE_SMS_SETTING","_API_GET_SMS_SETING_SHOP_BY_SMS_SETTING_ID","_API_ATTACH_SMS_SETTING_SHOP","_API_GET_REGION","_API_GET_REGION_SETTING_BY_ID","_API_CREATE_OR_UPDATE_SYSTEM_MESSAGE","_API_GET_SYSTEM_MESSAGE","_API_GET_SYSTEM_MESSAGE_BY_ID","_API_CREATE_OR_UPDATE_REGION_SETTING","_API_GET_ROLLOVER_TRANSACTION_TYPE","_API_GET_SHOP_CREDIT","_API_SHOP_CREATE_PLAYER","_API_SHOP_RESET_PASSWORD","_API_SHOP_SET_PLAYER_STATUS","_API_SHOP_DELETE_PLAYER","_API_SHOP_RECOVER_PLAYER","_API_SHOP_SET_SCORE","_API_GET_PLAYER_DETAIL","_API_CLAIM_REWARD","_API_RELOAD_CREDIT","_API_SHOP_BULK_SET_SCORE","_API_GET_SHOP_ATTACHED_VENDOR_API","_API_UPDATE_SHOP_LIMIT","_API_REQUEST_ADJUST_SHOP_LIMIT","_API_APPROVE_OR_REJECT_SHOP_LIMIT_REQUEST","_API_UPDATE_UPPER_SHOP_LIMIT","_API_GET_SCORE_LOG","_API_GET_GAME_LOG","_API_REQUEST_APPEAL_TRANSACTION","_API_UPDATE_AGENT_CREDIT","_API_UPDATE_AGENT_CREDIT_LIMIT","_API_GET_AGENT_LOTTO_PACKAGE","_API_CREATE_OR_UPDATE_AGENT_LOTTO_PACKAGE","_API_GET_AGENT_VENDORS","_API_GET_AGENT_LIST","_API_GET_SHOP_EGHL_LIMIT","_API_SET_SHOP_EGHL_LIMIT","_API_DELETE_PRIZE","_API_GET_PRIZE_TYPES","_API_CREATE_OR_UPDATE_PRIZE","_API_GET_PROMOTIONS","_API_CREATE_OR_UPDATE_PROMOTION","_API_GET_PROMOTION_DETAIL_BY_ID","_API_BROADCAST_MESSAGE","_API_GENERATE_MEMBER_PRIZE","_API_CREATE_OR_UPDATE_MEMBER_PRIZE","_API_BROADCAST_MEMBER_PRIZE","_API_GET_MEMBER_PRIZE","_API_DELETE_MEMBER_PRIZE","_API_GET_PROMOTION_STATUS","_API_SET_MEMBER_PRIZE_STATUS","_API_SET_PROMOTION_STATUS","_API_PROMOTION_WINNING_DETAIL","_API_GET_PRIZE_RANK","_API_PREVIEW_ANNOUNCEMENT_TARGET","_API_GET_MINI_PROGRAM_LIST","_API_GET_MINI_PROGRAM_SHOP_BY_MINI_PROGRAM_ID","_API_ATTACH_MINI_PROGRAM_SHOP","_API_GET_MINI_PROGRAM_BY_ID","_API_CREATE_OR_UPDATE_MINI_PROGRAM","_API_SET_ANNOUNCEMENT_STATUS","_API_GET_OPERATION_LOG","_API_GET_USER_LAST_MESSAGE","_API_GET_PAYMENT_GATEWAY","_API_GET_PAYMENT_GATEWAY_BY_ID","_API_CREATE_OR_UPDATE_PAYMENT_GATEWAY","_API_GET_PAYMENT_GATEWAY_SHOPS_BY_ID","_API_ATTACH_PAYMENT_GATEWAY_SHOP","_API_AVAILABLE_PAYMENT_GATEWAY_SHOP_LIST","_API_CREATE_OR_UPDATE_IP_BLACKLIST","_API_GET_IP_BLACKLIST","_API_GET_IP_BLACKLIST_BY_ID","_API_REMOVE_IP_BLACKLIST_BY_ID","_API_GET_LUCKY_NUMBERS","_API_GET_VENDOR_ROLLOVER_TYPES","_API_GET_APPEAL_TRANSACTION","_API_PROCESS_APPEAL_TRANSACTION","_API_GET_SET_SCORE_LIMIT_REPORT","_API_GET_SET_SCORE_REPORT","_API_GET_AGENT_COMMISSION_REPORT","_API_GET_AGENT_COMMISSION_DETAIL_REPORT","_API_GET_CLAIM_REWARD_REPORT","_API_GET_MANAGER_LIMIT_REPORT","_API_GET_SALES_REPORT","_API_GET_REWARD_SUMMARY_REPORT","_API_GET_REWARD_DETAIL_REPORT","_API_GET_REWARD_RECORD_DATE_REPORT","_API_GET_TURNOVER_REWARD_REPORT","_API_GET_TURNOVER_REWARD_DETAIL","_API_GET_TURNOVER_REWARD_SUMMARY_REPORT","_API_GET_SHOP_EGHL_REPORT","_API_GET_KIOSK_TIMEOUT_REPORT","_API_GET_SHOP_MEMBER_DETAIL","_API_GET_DAILY_TRANSACTION","_API_DISABLE_SET_LIMIT_DATA","_API_GET_TOPUP_TRANSACTION","_API_GET_STRIKE_REPORT","_API_CONFIRM_STRIKE","_API_UPDATE_BET_RESULT_HISTORY","_API_GET_ROLLOVER_REPORT","_API_GET_UPPER_LIMIT_WARNING_REPORT","_API_GET_CS_USED_LIMIT","_API_UPDATE_TOPUP_TRANSACTION","_API_VALIDATE_EWALLET_TRANSACTION","_API_CREATE_EWALLET_TRANSACTION","_API_GET_SHOP_BY_REFERRAL_CODE","_API_UPDATE_SHOP_REQUEST","_API_GET_CREDIT_TRANSFER_REPORT","_API_GET_SHOP_LOGIN_REQUEST","_API_UPDATE_SHOP_LOGIN_REQUEST","_API_GET_SHOP_BY_VENDOR_ID","_API_GET_STRIKE_DETAILS","_API_PERFORM_REWARD_CALCULATION","_API_GET_INTERFACE_SHOP","_API_GET_SHOP_LIMIT_REQUEST_LOGS","_API_VENDOR_CATEGORY","_API_GET_SUPPORTED_LANGUAGE","_API_ASSIGNED_VENDOR_CATEGORY","_API_GET_RANK","_API_CREATE_OR_UPDATE_RANK","_API_RANK_VENDOR_RATE","_API_GET_NOTIFICATION_TYPE","_API_NOTIFICATION_TEMPLATE","_API_NOTIFICATION_ATTACHED_SHOP","_API_GET_USER_EXPERIENCE_HISTORY","_API_GET_MEMBER_DOWNLINE","_API_ANNOUNCEMENT_EVENT","_API_GET_ANNOUNCEMENT_TYPE","_API_UPDATE_ANNOUNCEMENT_EVENT_STATUS","_API_UPDATE_ANNOUNCEMENT_EVENT_TYPE_STATUS","_API_GET_TURNOVER_REPORT","_API_EVENT","_API_EVENT_PRIZE","_API_EVENT_PRIZE_TYPE","_API_COPY_EVENT","_API_FEEDBACK_CATEGORY","_API_FEEDBACK_OPTION","_API_MEMBER_FEEDBACK","_API_SHOP_FEEDBACK","_API_FEEDBACK_REPLY","_API_BANNER","_API_GET_KOG_RANKING","_API_GET_KOG_DETAIL","_API_QUALIFY_KOG_DETAIL","_API_KOG_PRIZE_OWNER","_API_SEARCH_EVENT_PRIZE_WINNER","_API_DISTRIBUTE_LUCKY_PRIZE","_API_GET_ECREDIT_LOG","_API_GET_PROMOTION_DETAILS_COUNT","_API_GET_USER_TRANSACTION_LOG","_API_GET_MEMBER_ROLLOVER_SUMMARY","_API_GET_MEMBER_ROLLOVER_DETAIL","_API_GET_OVERALL_DOWNLINE","_API_GET_RANK_SUMMARY","_API_DISTRIBUTE_PRIZE","_API_SINGLE_DISTRIBUTE","_API_GET_API_LOG","_API_GET_AGENT_NETPROFIT_REPORT","_API_GET_AGENT_WINLOSS_REPORT","_API_GET_AGENT_WINLOSS_REPORT_2","_API_GET_AGENT_WINLOSS_REPORT_DETAIL","_API_KOG_BOT_MEMBER","_API_GET_LOTTO_SEAMLESS_SETTLEMENT_REPORT","_API_GET_ONLINE_WITHDRAWAL_REQUEST","_API_PLAYER_SET_SCORE","_API_GET_PAYMENT_GATEWAY_TELCO","_API_UPDATE_MANAGER_LIMIT","_API_UPDATE_MANAGER_THRESHOLD","_API_GET_MANAGER_LIMIT_TRANSACTION_REPORT","_API_GET_SHOP_ATTACHED_VENDOR","_API_GET_SHOP_CREATED_PLAYER","_API_FETCH_LOBBY_GAME_LIST","_API_LOBBY_GAME","_API_UPLOAD_GAME_LIST_FILE","_API_RESYNC_HIGH_BONUS_REWARD","_API_GET_THIRD_PARTY","_API_GET_THIRD_PARTY_API","_API_ATTACH_THIRD_PARTY_API_SHOP","_API_ATTACHED_THIRD_PARTY_API_SHOP_LIST","_API_AVAILABLE_THIRD_PARTY_API_SHOP_LIST","_API_CLAIM_LUCKY_SPIN_PRIZE","_API_GET_BONUSES","_API_CREATE_OR_UPDATE_BONUSES","_API_BONUS_UNLOCK_CHECK","_API_BONUS_ATTACH_SHOP","_API_BONUS_AVAILABLE_SHOPS","_API_BONUS_SHOPS","_API_GET_WELCOME_BONUS_DETAIL","_API_GET_MEMBER_NOTES","_API_SAVE_MEMBER_NOTES","_API_SHOP_UPDATE_USER_STATUS","_API_GET_USER_GROWTH_REPORT","_API_GET_USER_GROWTH_MEMBER","_API_GET_SERVICE_CATEGORY","_API_GET_SERVICE_SUBCATEGORY","_API_GET_SERVICE_DETAIL","_API_CREATE_EGHL_TRANSACTION","WebUrl","_URL_MAIN","_URL_LOGIN","_URL_DASHBOARD","_URL_ADMIN_MANAGE_VENDOR","_URL_ADMIN_VENDOR_DETAIL","_URL_ADMIN_MANAGE_VENDOR_API","_URL_ADMIN_VENDOR_API_DETAIL","_URL_SHOP_RELOAD","_URL_SHOP_CLAIM_BONUS","_URL_SHOP_SEARCH","_URL_SHOP_BLOCK_PUK","_URL_SHOP_MEMBER_DETAILS","_URL_SHOP_REPORT","_URL_SHOP_PLAYER_RELOAD","_URL_SHOP_TRANSACTION_REQUEST","_URL_SHOP_EGHL_RELOAD","_URL_SYSTEM_SETTINGS","_URL_SMS_SETTINGS","_URL_SMS_DETAILS","_URL_SHOP_REGISTER_MEMBER","_URL_SHOP_REGISTER_PLAYER","_URL_SHOP_AGENT_COMMISSION_REPORT","_URL_SHOP_CREDIT_TOPUP_REPORT","_URL_SHOP_CREDIT_TRANSFER_REPORT","_URL_ADMIN_MANAGE_ROLE","_URL_ADMIN_ROLE_DETAIL","_URL_ADMIN_MANAGE_ADMIN","_URL_ADMIN_ADMIN_DETAIL","_URL_ADMIN_MANAGE_SHOP","_URL_ADMIN_MANAGE_AGENT","_URL_ADMIN_CREATE_OR_UPDATE_AGENT","_URL_ADMIN_AGENT_VENDOR_API_DETAILS","_URL_ADMIN_MANAGE_CUSTOMER_SERVICE","_URL_ADMIN_MANAGE_SHOP_API","_URL_ADMIN_CREATE_OR_UPDATE_SHOP","_URL_ADMIN_MANAGE_MEMBER","_URL_ADMIN_CREATE_OR_UPDATE_MEMBER","_URL_ADMIN_MANAGE_MEMBER_PLAYER","_URL_ADMIN_CREATE_OR_UPDATE_CUSTOMER_SERVICE","_URL_ADMIN_MANAGE_SHOP_MESSAGE","_URL_ADMIN_SHOP_MESSAGE_DETAIL","_URL_ADMIN_MANAGE_SYSTEM_MESSAGE","_URL_ADMIN_SYSTEM_MESSAGE_DETAIL","_URL_ADMIN_MANAGE_PHONE_MESSAGE","_URL_ADMIN_PHONE_MESSAGE_DETAIL","_URL_ADMIN_VIEW_ANNOUNCEMENT","_URL_ADMIN_MANAGE_MANAGER","_URL_ADMIN_MANAGER_DETAIL","_URL_ADMIN_OPERATION_LOG","_URL_ADMIN_MANAGE_PLAYER","_URL_ADMIN_PLAYER_DETAIL","_URL_PROMOTION_MANAGE_SPIN_PROMOTION","_URL_PROMOTION_MANAGE_SPIN_PROMOTION_DETAIL","_URL_MANAGE_LUCKY_NUMBER","_URL_ADMIN_MANAGE_MINI_PROGRAM","_URL_ADMIN_MINI_PROGRAM_DETAIL","_URL_ADMIN_MANAGE_PAYMENT_GATEWAY","_URL_ADMIN_CREATE_OR_UPDATE_PAYMENT_GATEWAY","_URL_PROMOTION_MANAGE_PROMOTION","_URL_PROMOTION_MANAGE_PROMOTION_DETAIL","_URL_ADMIN_MANAGE_IP_BLACKLIST","_URL_ADMIN_MANAGE_SHOP_LOGIN","_URL_SET_LIMIT_REPORT","_URL_SET_SCORE_REPORT","_URL_SALES_REPORT","_URL_REWARD_REPORT","_URL_TURNOVER_REWARD_REPORT","_URL_CLAIM_REWARD_REPORT","_URL_MANAGER_LIMIT_REPORT","_URL_KIOSK_TIMEOUT_REPORT","_URL_AGENT_COMMISSION_REPORT","_URL_AGENT_NETPROFIT_REPORT","_URL_SHOP_VIEW_ANNOUNCEMENT","_URL_TOPUP_REPORT","_URL_CREDIT_TRANSFER_REPORT","_URL_STRIKE_REPORT","_URL_MANAGE_APPEAL_TRANSACTION","_URL_MANAGE_ROLLOVER_REPORT","_URL_MANAGE_UPPER_LIMIT_WARNING_REPORT","_URL_SHOP_LIMIT_APPROVAL_REPORT","_URL_ADMIN_MANAGE_VENDOR_CATEGORY","_URL_ADMIN_VENDOR_CATEGORY_DETAIL","_URL_ADMIN_MANAGE_RANK","_URL_ADMIN_RANK_DETAIL","_URL_NOTIFICATION_SETTINGS","_URL_NOTIFICATION_DETAILS","_URL_USER_EXPERIENCE_REPORT","_URL_ADMIN_MANAGE_MEMBER_DOWNLINE","_URL_ADMIN_MANAGE_APP_ANNOUNCEMENT","_URL_ADMIN_MANAGE_APP_ANNOUNCEMENT_DETAIL","_URL_ADMIN_MANAGE_KOG_EVENT","_URL_ADMIN_MANAGE_KOG_EVENT_DETAIL","_URL_ADMIN_KOG_EVENT_RANKING","_URL_TURNOVER_REPORT","_URL_FEEDBACK_SETTINGS","_URL_MEMBER_FEEDBACK_REPORT","_URL_SHOP_FEEDBACK_REPORT","_URL_ADMIN_MANAGE_BANNER","_URL_ADMIN_MANAGE_BANNER_DETAIL","_URL_MEMBER_ECREDIT_LOG","_URL_REGION_ECREDIT_LOG","_URL_VIEW_USER_ACTION_LOG","_URL_VIEW_USER_TRANSACTION_LOG","_URL_LUCKY_SPIN_WINNER","_URL_KOG_WINNER","_URL_ADMIN_OVERALL_DOWNLINE_REPORT","_URL_ADMIN_RANK_SUMMARY_REPORT","_URL_API_LOG","_URL_AGENT_WINLOSS_REPORT","_URL_AGENT_WINLOSS_REPORT_2","_URL_LOTTO_SEAMLESS_SETTLEMENT_REPORT","_URL_ADMIN_KOG_VIP_MEMBER","_URL_ONLINE_WITHDRAWAL_REQUEST","_URL_MANAGER_LIMIT_TRANSACTION_REPORT","_URL_SHOP_PLAYER_CREATION_REPORT","_URL_MANAGE_THIRD_PARTY","_URL_THIRD_PARTY_DETAIL","_URL_MANAGE_THIRD_PARTY_API","_URL_THIRD_PARTY_API_DETAIL","_URL_MANAGE_WELCOME_BONUS","_URL_USER_GROWTH_REPORT","_URL_SHOP_EGHL_REPORT","Status","_ENABLED","_DISABLED","_DELETED","AccessRight","_ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION","_MEMBER_CONTROL_PERMISSION","_PLAYER_CONTROL_PERMISSION","_CUSTOMER_SERVICE_CONTROL_PERMISSION","_SHOP_CONTROL_PERMISSION","_MANAGER_CONTROL_PERMISSION","_GAME_VENDOR_CONTROL_PERMISSION","_ANNOUNCEMENT_CONTROL_PERMISSION","_PROMOTION_CONTROL_PERMISSION","_SYSTEM_SETTING_CONTROL_PERMISSION","_SMS_SETTING_CONTROL_PERMISSION","_SET_SCORE_REPORT_PERMISSION","_AGENT_COMM_REPORT_PERMISSION","_SET_LIMIT_REPORT_PERMISSION","_REWARD_REPORT_PERMISSION","_SALES_REPORT_PERMISSION","_MANAGER_LIMIT_REPORT_PERMISSION","_KIOSK_TIMEOUT_REPORT_PERMISSION","_TOP_UP_REPORT_PERMISSION","_STRIKE_REPORT_PERMISSION","_MINI_PROGRAM_CONTROL_PERMISSION","_ACCESS_LEVEL_CONTROL_PERMISSION","_OPERATIONAL_LOG_CONTROL_PERMISSION","_DASHBOARD_CONTROL_PERMISSION","_LUCKY_NUMBER_CONTROL_PERMISSION","_REWARD_CALCULATION_CONTROL_PERMISSION","_READ_PERMISSION_STRING","_WRITE_PERMISSION_STRING","_READ_BIT_POSITION","_WRITE_BIT_POSITION","_CREDIT_TRANSFER_REPORT_PERMISSION","_SHOP_LOGIN_CONTROL_PERMISSION","_APPEAL_TRANSACTION_CONTROL_PERMISSION","_ROLLOVER_REPORT_CONTROL_PERMISSION","_UPPER_LIMIT_REPORT_CONTROL_PERMISSION","_SET_SHOP_LIMIT_APPROVAL_CONTROL_PERMISSION","_RANK_CONTROL_PERMISSION","_ANNOUNCEMENT_EVENT_CONTROL","_EVENT_CONTROL_PERMISSION","_TURNOVER_REPORT_CONTROL_PERMISSION","_FEEDBACK_CONTROL_PERMISSION","_BANNER_CONTROL_PERMISSION","_OVERALL_DOWNLINE_REPORT_PERMISSION","_RANK_SUMMARY_REPORT_PERMISSION","_AGENT_CONTROL_PERMISSION","_AGENT_NETPROFIT_PERMISSION","_ONLINE_WITHDRAWAL_PERMISSION","_REVERT_ONLINE_WITHDRAWAL_PERMISSION","_MANAGER_LIMIT_CONTROL_PERMISSION","_USER_GROWTH_REPORT_PERMISSION","_SHOP_EGHL_REPORT_PERMISSION","SearchMemberAction","_RELOAD_ACTION","_BLOCK_DELETE_ACTION","Language","_CHINESE","_ENGLISH","_BAHASA_MELAYU","SessionKey","_LANGUAGE","_LOGIN_GUID","Role","_SUPER_ADMIN","_SHOP","_MANAGER","_MEMBER","_ADMIN_SUB_ACCOUNT","_AGENT","InputValidationKey","_REQUIRED_KEY","_MAX_LENGTH_KEY","_MIN_LENGTH_KEY","_MIN_KEY","_MAX_KEY","_PATTERN","AlertTypes","_DEFAULT","_INFO","_SUCCESS","_WARNING","_DANGER","_ERROR","_INPUT","_CUSTOM","FilterStatus","_ACTIVE","_SUSPENDED","ShopSettings","_PLAYER","_RELOAD","SettingType","_SETTING_TYPE_GENERAL","_SETTING_TYPE_BROADCAST","_SETTING_TYPE_REWARD_ROLLOVER_FACTOR","_SETTING_TYPE_MEMBER_SETTING","_SETTING_TYPE_SMS","AnnouncementType","_ANNOUNCEMENT_TYPE_WEB","_ANNOUNCEMENT_TYPE_SHOP","_ANNOUNCEMENT_TYPE_PHONE","LoginType","_LOGIN_TYPE_SHOP","_LOGIN_TYPE_ADMIN","ProcessedAnnouncementStatus","_PROCESSED_ANNOUNCEMENT_DRAFT","_PROCESSED_ANNOUNCEMENT_CANCELLED","_PROCESSED_ANNOUNCEMENT_IN_PROGRESS","_PROCESSED_ANNOUNCEMENT_COMPLETED","_PROCESSED_ANNOUNCEMENT_BROADCAST_CANCELLED","PrizeType","_PRIZE_TYPE_REBATE","_PRIZE_TYPE_CASH","_PRIZE_TYPE_REWARD","_PRIZE_TYPE_PRIZE","SystemSettingName","_CHANGE_MEMBER_CARD_ID_PENALTY_COUNT","_CHANGE_MEMBER_CARD_ID_PENALTY","TransactionType","_BONUS_CLAIM","_REWARD_CLAIM","_SET_LIMIT","_SET_SCORE","_WALLET_TRANSFER","_TOP_UP_GPAY","_TOP_UP_GPAY_DUITNOW","_TOP_UP_EGHL","_TOP_UP_E_WALLET","_TOPUP_GPAY_DUITNOW","_SEAMLESS_SET_CREDIT","_ONLINE_WITHDRAWAL","_VENDING_MACHINE","_MOBILE_PIN_TOPUP","_KINGPAY_DUITNOW","_PASSWORD_RESET","_REGISTER_BONUS","_SHOP_EGHL_LIMIT","RegionId","_EAST","_ALL","_MIDDLE","_NORTH","_SOUTH","TopUpStatus","_PENDING","_FAILED","_PENDING_APPROVAL","CommonStatus","_ALL_STATUS","_PENDING_STATUS","_APPROVE_STATUS","_REJECT_STATUS","_INACTIVE_STATUS","TransactionTypeId","_TOP_UP_MXPAY_EWALLET","CustomResponseCode","_ROLLOVER_APPEAL_REQUIRED","Theme","_EPAY","_OREN","_MANTAP","TransactionRequestStatus","_REJECTED","_EXPIRED","_PENDING_PASSWORD_CONFIRMATION","FirebaseKey","_TRANSACTION_REQUEST","UPPER_LIMIT_WARNING_LEVEL","_NONE","_REACH_LIMIT","_EXCEED_LIMIT","_BELOW_LIMIT","_REACH_ZERO","_ALL_HIT_LIMIT","NotificationTag","_NOTIFICATION_TEMPLATE_TAG_EXPERIENCE","_NOTIFICATION_TEMPLATE_TAG_INACTIVE_PERIOD","_NOTIFICATION_TEMPLATE_TAG_RANK","_NOTIFICATION_TEMPLATE_TAG_RANK_IMAGE","AnnouncementEventTypeId","_WITHDRAW","_WITHDRAW_WITH_FAKE","_DEPOSIT_WITH_FAKE","_LUCKY_SPIN","_LUCKY_SPIN_WITH_FAKE","_USER_DEFINED","AnnouncementTag","_USERNAME","_PRICE_NAME","_AMOUNT","ValidationPattern","_EMAIL_REGEX","_PHONE_NUMBER_REGEX","_NUMBER_REGEX","_DECIMAL_REGEX","_DIGIT_REGEX","_ALPHABETIC_REGEX","_STANDARD_REGEX","_IC_NUMBER_REGEX","_PASSPORT_NUMBER_REGEX","_ALPHANUMBERIC_REGEX","EventStatus","_PAUSE","_START","_END","OverallTransactionTypeId","_ONLINE_BANKING","_SHOP_SET_SCORE","_SHOP_SET_CREDIT","_SEND_CREDIT","_CONVERT_TO_CREDIT","_CONVERT_TO_SCORE","_TRANSFER_SCORE","_REWARD_TO_CREDIT","_EGHL","_E_WALLET_MXPAY","_DUITNOW","PaymentGatewayType","_ONLINE_BANKING_GPAY","_DUITNOW_GPAY","_WINPAY","PackageType","_NORMAL","_GD","PackagePayRateType","_BASE","ReportType","BannerType","_KOG","key","value","_HOME","OnlineWithdrawalStatus","_SYSTEM_REJECTED","ManagerTransactionType","_MANAGER_LIMIT","_SHOP_LIMIT","EventCalculationMethod","_WIN_DIVIDE_BET","ViewDataType","_JACKPOT","_BONUS","ShopEghlTransactionType","_USED","_SET","ShopEghlTransactionStatus","_resources","common","common_en","common_cn","common_bm","i18n","use","initReactI18next","init","defaultNS","debug","resources","lng","localStorage","getItem","fallbackLng","keySeparator","interpolation","escapeValue","stringIsNullOrEmpty","data","createFormBody","params","formBody","property","encodedKey","encodeURIComponent","encodedValue","push","join","createMultiPartFormBody","FormData","Object","entries","append","navigateTo","history","url","state","undefined","pathname","getValidationMessage","error","patternErrorTxt","validationMsg","type","message","isObjectEmpty","keys","length","imagePathToFileObject","imagePath","a","fetch","response","blob","file","File","formatNumber","decimalPlaces","toLocaleString","minimumFractionDigits","arrayGroupByKey","array","reduce","result","currentValue","numberWithCurrencyFormat","decimal","CURRENCY_DECIMAL","convertedNumber","parseFloat","Math","round","Number","EPSILON","pow","toFixed","toString","replace","afterDecimalNumber","split","decimalDiff","lastIndexOf","processNumber","i","charAt","substr","ignoreDecimal","e","allowDecimal","_KEYCODE_DECIMAL","_KEYCODE_E","keyCode","preventDefault","validatePhoneNumber","phone","iso","normalCheck","validateResult","test","phoneUtil","require","PhoneNumberUtil","getInstance","parsedPhone","parse","isValidNumberForRegion","getNumberType","PhoneNumberType","MOBILE","generateRandomAlphanumeric","chars","floor","random","printReceipt","content","printWindow","window","open","document","write","includes","map","item","moment","format","close","focus","print","range","from","to","step","Array","_","getAmountClassName","decimalPlace","convertedAmount","_ALERT_TYPES","setBusy","iconEnabled","dispatch","setIdle","showResponseMessage","status","translateRequired","messageToShow","t","printFunction","showCancel","cancelBtnText","onCancel","cancelBtnBsStyle","showMessage","alertProps","customConfirm","onConfirm","disposeMessage","customCancel","title","allowEscape","reverseButtons","alert","_INITIAL_STATE","isBusy","apiCalledResponse","_busyCount","requestConfig","headers","skipLoading","Store","AppActions","interceptResponse","config","success","interceptError","returnData","AuthActions","ApiEngine","axios","create","interceptors","request","interceptRequest","setupFirebaseSetting","Promise","resolve","reject","firebase","apps","initializeApp","apiKey","AppConfiguration","Setting","ApplicationConfig","firebaseApiKey","projectId","firebaseProjectId","messagingSenderId","firebaseSenderId","appId","firebaseAppId","databaseURL","firebaseDatabaseUrl","auth","signInWithEmailAndPassword","firebaseDatabaseEmail","firebaseDatabaseCode","then","database","catch","signInAnonymously","initFirebaseDatabase","id","extraData","ref","firebaseDatabaseName","on","shop","val","dataContent","performLogin","initFirebaseTransactionRequestDatabase","code","requestCode","getShopCredit","getState","userData","authState","get","userId","responseJson","shopData","eghlLimit","creditLimit","shopProfile","managerProfile","username","password","PROCESSING_STATUS_CODE","post","sessionStorage","setItem","requestId","showConfirm","closeOnClickOutside","performLogout","isEmergency","method","json","getPendingOnlineWithdrawalCount","count","_permissionArrKey","checkIfPermissionExist","permissionString","isWrite","store","userPermissionData","keyValuePermission","completePermissionKey","filter","clearPermissionData","isLoggedIn","loginMessage","loginStateInitialized","pendingOnlineWithdrawalCount","setSearchMemberModalVisible","isModalVisible","targetUrl","isSearchAgent","createStore","combineReducers","action","playSound","appState","max","memberState","firebaseState","applyMiddleware","thunk","PageSettings","React","createContext","DropdownLanguage","props","useTranslation","useState","languageOptionVisibility","setLanguageOptionVisibility","_cookies","Cookies","_LANGUAGE_OPTION","prefix","_LANGUAGE_MAPPING","onChangeLanguage","selectedLanguage","changeLanguage","set","useEffect","Dropdown","isOpen","toggle","className","tag","DropdownToggle","DropdownMenu","language","index","DropdownItem","onClick","ResetPasswordModal","modalVisibility","setModalVisibility","useForm","register","handleSubmit","setValue","errors","unregister","reset","watch","_dispatch","useDispatch","targetUserId","setTargetUserId","name","required","minLength","isSuccess","onFinish","onSubmit","apiUrl","newPassword","oldPassword","resetShopPassword","Modal","style","paddingBottom","ModalHeader","ModalBody","placeholder","autoComplete","onInput","target","ModalFooter","withRouter","dropdownOpen","setDropdownOpen","changePasswordModalVisibility","setChangePasswordModalVisibility","_userData","useSelector","_history","useHistory","userRoleId","visible","DropdownMegaMenu","Collapse","this","collapse","UncontrolledDropdown","divider","Component","Header","_LIST_OF_API_TO_UPDATE_CREDIT","Consumer","toggleMobileSidebar","toggleMobileRightSidebar","toggleRightSidebar","toggleMobileTopMenu","pageHeaderLanguageBar","pageHeaderMegaMenu","pageTwoSidebar","pageTopMenu","pageSidebar","toggleMegaMenu","src","process","alt","collapseMegaMenu","class","isFirstLoad","setIsFirstLoad","intervalId","isCustomerService","onlineWithdrawalShop","setInterval","clearInterval","SidebarProfile","profileActive","handleProfileExpand","bind","setState","pageSidebarMinify","userRole","connect","SidebarNavList","active","setActive","clicked","setClicked","icon","img","caret","children","badge","label","isShop","highlight","handleSidebarOnMouseOver","handleSidebarOnMouseOut","pageSidebarMinified","path","exact","match","search","onMouseOver","onMouseOut","expand","isDummy","isDispatch","submenu","handleExpand","hasNotification","Menu","permission","hideFromFeedbackAdmin","mainUrl","alternateUrl","isRequiredAgentReload","isAgentOnly","isCustomerServiceOnly","SidebarNav","audio","Audio","load","play","console","filterMenuByPermission","menuToUse","loginType","ShopMenus","JSON","stringify","Menus","accessString","isShopAgent","agentReload","permissionArrKey","isFeedbackAdminOnly","menuList","menu","contextType","Sidebar","toggleSidebarMinify","pageSidebarTransparent","Fragment","options","suppressScrollX","context","pageSidebarSearch","_context","useContext","handleSetPageSidebar","handleSetPageHeader","handleSetPageContentFullWidth","submitForm","autoFocus","PanelStat","Panel","toggleExpand","toggleRemove","remove","toggleCollapse","toggleReload","reload","setTimeout","Provider","PanelHeader","noButton","classNames","hide","hideCollapseButton","PanelBody","PanelFooter","NavigationButton","float","goBack","buttonText","DefaultColumnFilter","column","filterValue","setFilter","preFilteredRows","width","onChange","GlobalFilter","preGlobalFilteredRows","globalFilter","setGlobalFilter","Translation","ReactTable","columns","filterable","renderFooter","globalFilterable","tableStyle","defaultSortBy","minRows","getFilteredRecords","fetchUrl","postData","initialPageSize","customnPageSizeOptions","exportRequired","showOverallInfo","pageMultiply","isHidePagination","customLoader","hiddenColumns","exportExternalData","tableData","setTableData","processedPageCount","setProcessedPageCount","totalRecordCount","setTotalRecordCount","overallInfo","setOverallInfo","pageRange","setPageRange","fetchFinishFlag","setFetchFinishFlag","defaultColumn","useMemo","Filter","pageSizeOptions","useTable","disableMultiSort","initialState","pageIndex","pageSize","sortBy","manualPagination","pageCount","autoResetPage","getExportFileBlob","fileType","fileName","indexOf","allData","csvString","Papa","unparse","csvData","Blob","FileSaver","saveAs","header","c","headerNames","exportValue","compatibleData","row","obj","forEach","col","wb","XLSX","utils","book_new","ws1","json_to_sheet","book_append_sheet","writeFile","useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded","usePagination","useRowSelect","useExportData","getTableProps","getTableBodyProps","headerGroups","footerGroups","prepareRow","page","canPreviousPage","canNextPage","pageOptions","gotoPage","nextPage","previousPage","setPageSize","exportData","filters","groupBy","expanded","selectedRowIds","startRow","calculatedPageCount","ceil","start","_PAGE_RANGE","end","diff","pgRange","fill","idx","updateDisplay","padding","fontSize","margin","boxShadow","marginRight","newItem","field","exportExternalDataToXlsx","overflow","headerGroup","getHeaderGroupProps","getHeaderProps","minWidth","clickable","render","getSortByToggleProps","disableSortBy","isSorted","isSortedDesc","marginLeft","sortColumn","isAsc","showSortIcon","canFilter","getRowProps","cells","cell","getCellProps","colSpan","textAlign","x","b","height","group","getFooterGroupProps","getFooterProps","role","flexFlow","aria-label","maxWidth","disabled","pageI","color","defaultValue","SetShopLimitModal","shopLimitDetails","currentLimit","setCurrentLimit","_FIXED_LIMIT_OPTIONS","refreshCreditLimit","isRequiredSetLimitApproval","billNumber","renderFixedLimitBtns","option","parsedNumber","parsedCurrLimit","valueToSet","userFullName","SetShopUpperLimitModal","currentUpperLimit","setCurrentUpperLimit","refreshUpperCreditLimit","shopUpperLimit","upperCreditLimit","CopyAccountDetailModal","triggerValidation","getValues","refId","setRefId","refRole","setRefRole","_phoneFieldRef","useRef","enrollKogEvent","setEnrollKogEvent","cleanUp","refreshRequired","confirmPassword","roleId","onChangePhoneNumber","isValid","newNumber","countryData","fullNumber","formattedNumber","validate","centered","size","getTitle","fieldName","preferredCountries","display","containerClassName","inputClassName","onSelectFlag","ext","current","isValidNumber","onPhoneNumberChange","onPhoneNumberBlur","customPlaceholder","useMobileFullscreenDropdown","separateDialCode","substring","checked","htmlFor","SetShopEghlLimitModal","refreshEghlLimit","MassAssignSettingsComponent","selectedShops","massAssignHandler","canCreateMember","canCreatePlayer","canReload","canDeposit","resetPassword","canClaimReward","canCreatePlayerWithoutMember","canBlockMember","canUnblockMember","canEghlReload","checkShopSettings","setCheckShopSettings","hideExpandButton","hideRedoButton","hideRemoveButton","shopSettingsData","selectedShopIds","ManageShop","_location","useLocation","shops","setShops","isResetPasswordModalVisible","setIsResetPasswordModalVisible","regionOptions","setRegionOptions","setUserId","isSetShopLimitModalVisible","setIsSetShopLimitModalVisible","isSetUpperLimitModalVisible","setIsSetUpperLimitModalVisible","currentCreditLimit","userShopLimitDetails","setUserShopLimitDetails","checkAll","setCheckAll","setSelectedShops","shopApiUrl","setShopApiUrl","setCount","selectedShopId","setSelectedShopId","eghlLimitDetail","setEghlLimitDetail","_tableColumns","Cell","original","accessor","invalidLoginCount","createPlayerEnable","createMemberEnable","reloadEnable","depositEnable","passwordResetAfterLogin","createPlayerWithoutMemberEnable","disableFilters","suspended","UncontrolledButtonDropdown","isAdminLevel","confirmBtnText","updateShopHandler","promoteShop","saveSession","regionId","regionList","region","rawUrl","checkedList","ids","shopName","DualListBoxItemRow","selected","calculateCount","availableOptions","some","hasOwnProperty","y","err","border","fontWeight","ShopDetail","setPhone","defaultRegionId","setDefaultRegionId","setRegionId","renderPhone","setRenderPhone","managerOptions","setManagerOptions","selectedManager","setSelectedManager","defaultSelectedManager","setDefaultSelectedManager","defaultManagerOption","setDefaultManagerOption","selectedShop","setSelectedShop","shopOption","setShopOption","defaultSelectedShop","setDefaultSelectedShop","defaultShopOptions","setDefaultShopOptions","setCanCreateMember","setCanCreatePlayer","setCanReload","setCanDeposit","setIsRequiredSetLimitApproval","setPasswordResetAfterLogin","setIsCustomerService","isMainShop","setIsMainShop","address","setAddress","postalCode","setPostalCode","city","setCity","latitude","setLatitude","longitude","setLongitude","setUsername","fullName","setFullName","setCreditLimit","isAgent","setIsAgent","eghlStatus","setEghlStatus","alternatePhone","setAlternatePhone","departmentName","setDepartmentName","whatsappLink","setWhatsappLink","referralCode","setReferralCode","setAgentReload","setOnlineWithdrawalShop","setCanClaimReward","setCanCreatePlayerWithoutMember","setCanBlockMember","setCanUnblockMember","setCanEghlReload","managerOptionList","user","shopOptionList","shopManager","managers","manager","managerUserId","ownedShop","shopUserId","filteredManagerOptions","filteredShopOptions","shopsByRegion","managersByRegion","onChangeAlernatePhoneNumber","phoneNumber","isAgentShop","shopManagerList","whatsAppLink","SetManagerLimitModal","managerLimitDetails","remark","SetManagerUpperLimitModal","limitThreshold","ManageManager","roleOption","setRoleOption","targetRoleId","setTargetRoleId","setIsModalVisible","limitModal","setLimitModal","upperLimitModal","setUpperLimitModal","managerApiUrl","setManagerApiUrl","selectedManagerId","setSelectedManagerId","promotionModalVisibility","setPromotionModalVisibility","resetCreditLimit","userStatusHandler","isAbleViewLastMessage","viewLastMessageSetup","filterManagers","getRoleData","isSubAccount","fetchManagers","isAbleViewLastMsg","refreshLimit","roleName","promoteUser","ManagerDetail","setStatus","viewOwnActionOnly","setViewOwnActionOnly","ableEditUsername","setAbleEditUsername","setIsAbleViewLastMessage","shopOptions","setShopOptions","defaultOptions","setDefaultOptions","ManageRole","roleData","setRoleData","setName","description","setDescription","controlOnlyAssignedUser","setControlOnlyAssignedUser","accessRightOption","setAccessRightOption","setRoleId","regionTrigger","setRegionTrigger","_REGION_ARRAY","displayName","accessOption","innerKey","innerValue","toLowerCase","bulkUpdatePermission","isReset","finalPermission","canWrite","canRead","valid","validateCheckbox","toUpperCase","ManageAdmin","adminApiUrl","setAdminApiUrl","AdminDetail","formState","roleOptions","setRoleOptions","setPassword","setConfirmPassword","selectedRegions","setSelectedRegions","attachedShops","setAttachedShops","shopAvailableList","setShopAvailableList","roleList","getRegionList","selectedRegionList","getShopList","shopOptionsByRegion","onSelectedRegionChange","selectedRegion","tempShopAvailableList","filteredShops","filteredShop","iso2","available","ScoreLogModal","startOf","startDate","setStartDate","endOf","endDate","setEndDate","player","setPlayer","scoreLogData","setScoreLogData","_scoreLogTableColumns","score","vendorCode","inputProps","readOnly","timeFormat","dateFormat","closeOnSelect","GameLogModal","gameLogUrl","setGameLogUrl","ticketAmount","Footer","betTotal","sum","winAmount","winTotal","winLose","pageTotal","shopId","Date","now","ReferralCodeModal","rows","AccountStatusModal","detail","setDetail","isConfirm","toStatus","fromStatus","marginTop","AppealRequestModal","memberId","amount","customButtons","requestAppeal","ReloadDetailModal","setVendorCode","setShopId","playerEnable","setPlayerEnable","playerScore","setPlayerScore","adjustScoreAmount","setAdjustScoreAmount","_inputTxtRef","changeRequired","setChangeRequired","setRemark","accountDetail","setAccountDetail","_BTN_TYPE","processedRefresh","btnHandler","useCustomAlert","details","performBlockAction","onKeyDown","ManagePlayer","registerSetScoreForm","errorsSetScoreForm","handleSubmitSetScoreForm","unregisterSetScoreForm","setValueSetScoreForm","vendorOption","setVendorOption","scoreShopId","setScoreShopId","scoreLogModalVisibility","setScoreLogModalVisibility","filterUsername","setFilterUsername","selectedPlayer","setSelectedPlayer","playerApiUrl","setPlayerApiUrl","scoreShopOption","setScoreShopOption","referralCodeModalVisibility","setReferralCodeModalVisibility","deactivateAccountDetail","setDeactivateAccountDetail","transactionDetail","setTransactionDetail","agentId","setAgentId","filterVendorList","setFilterVendorList","filterVendor","setFilterVendor","gameLogModalVisibility","setGameLogModalVisibility","reloadPlayerDetail","setReloadPlayerDetail","Util","memberUsername","isAgentPlayer","accessibleRegion","initSetScoreModel","currentStatus","onDeleteClick","verifyPassword","inputType","updateAvailableVendor","vendorList","filterVendors","vendor","shortName","fetchPlayers","shopList","getShopUser","shopUserList","cleanupSetScoreModal","shopIdParam","credit","setScoreAmount","html","deletePlayer","blockPlayer","getReferralShop","ManageMember","registerSetCreditForm","errorsSetCreditForm","handleSubmitSetCreditForm","unregisterSetCreditForm","setValueSetCreditForm","memberApiUrl","setMemberApiUrl","isCreditModalVisible","setIsCreditModalVisible","creditShopOption","setCreditShopOption","creditShopId","setCreditShopId","selectedMember","setSelectedMember","regionName","shopUsername","memberProfile","totalRewardPoint","totalCredit","experienceDetail","experience","rankName","memberLastActiveDetails","lastActive","initSetCreditModel","getUserLastMessage","bonusEnable","unlockBonusCheck","actionName","updateMemberProfilePermission","responseData","attempt","charge","resetPasswordWithCharges","cleanupSetCreditModal","setCreditAmount","isNaN","isCanReloadPermission","MemberDetail","ownerId","randomPassword","onlyCountries","defaultCountry","ViewAnnouncement","messageData","setMessageData","viewModal","setViewModal","viewData","setViewData","whiteSpace","textOverflow","CreatePlayerModal","MemberPlayerControl","vendorPlayerList","setVendorPlayerList","selectedVendor","setSelectedVendor","selectedUsername","setSelectedUsername","setVendorList","selectedStatus","setSelectedStatus","selectShopModalVisibility","setSelectShopModalVisibility","setMemberId","selectedRemark","setSelectedRemark","playerShopName","element","updatedTime","deletedByName","updatedByName","vendorId","vendors","playerUsername","players","rolloverAction","recoverPlayer","refresh","ManageShopApi","vendorApiList","setVendorApiList","isPrimary","SetAgentCreditModal","agentDetails","isCreditLimit","currentCredit","setCurrentCredit","agentProfile","selectedAgents","checkAgentSettings","setCheckAgentSettings","agentSettingsData","selectedAgentIds","ManageAgent","agents","setAgents","isSetAgentCreditModalVisible","setIsSetAgentCreditModalVisible","isSetAgentCreditLimitModalVisible","setIsSetAgentCreditLimitModalVisible","copyAgentModalVisible","setCopyAgentModalVisible","selectedCopyAgent","setSelectedCopyAgent","setAgentDetails","setSelectedAgents","agentApiUrl","setAgentApiUrl","uplineName","closingDay","updateAgentHandler","agent","resetAgentPassword","AgentDetail","selectedAgent","setSelectedAgent","max07Options","max20Options","max40Options","max5Options","_CLOSING_DAY_OPTIONS","closingDayValue","setClosingDayValue","agentRespone","turnoverCommission","lottoCommission","slotCommission","fishingCommission","uplineLottoCommission","uplineSlotCommission","uplineFishingCommission","agentManagers","agentManagerList","min","ButtonGroup","Button","Dashboard","toDate","shopDetails","setShopDetails","pieCharts","setPieCharts","pieChartColors","setPieChartColors","windowWidth","setWindowWidth","transactionExist","setTransactionExist","welcomeBonus","setWelcomeBonus","_TOP_DETAILS_INDEX","_PIE_CHART_COLOR","background","classname","iconClassname","topDetails","setTopDetails","_TABLE_COLUMNS","_WELCOME_BONUS_TABLE_COLUMNS","limitCount","updateWindowDimension","innerWidth","newArr","totalDepositers","totalDeposit","totalWithdrawal","totalEarning","pieChartDatas","pieChartColours","depositerObj","depositObj","withdrawalObj","earningObj","welcomeBonusResponse","addEventListener","removeEventListener","renderPieCharts","chartData","validValuesArr","values","slice","valueSum","abs","labels","datasets","backgroundColor","hoverBackgroundColor","responsive","maintainAspectRatio","plugins","fontColor","position","ManageVendor","registerEditAppLinks","handleSubmitEditAppLinks","filteredName","setFilteredName","filteredCode","setFilteredCode","targetVendor","setTargetVendor","categoryOption","setCategoryOption","assignedCategory","setAssignedCategory","_vendorTableColumns","wordBreak","categories","translatedName","onEditStatus","getVendorList","categoryOptionList","v","category","categoryIds","submitAppLinks","gameName","appDownloadUrlAndroid","appDownloadUrlIos","VendorDetail","registerLobby","handleSubmitLobby","errorsLobby","rewardEnable","setRewardEnable","useProxy","setUseProxy","checkStrikeEnabled","setCheckStrikeEnabled","autoSetStrike","setAutoSetStrike","manualRealDataEnabled","setManualReadDataEnabled","fixAmountSetScore","setFixAmountSetScore","enableRollover","setEnableRollover","isAutoRollover","setIsAutoRollover","useAgentLogForRollover","setUseAgentLogForRollover","useAgentGameLogForRollover","setUseAgentGameLogForRollover","rolloverTypes","setRolloverTypes","selectedRollover","setSelectedRollover","logoFile","setLogoFile","logoImage","setLogoImage","isAutoLogin","setIsAutoLogin","isHavingApp","setIsHavingApp","hasLobby","setHasLobby","lobbyBannerFile","setLobbyBannerFile","lobbyBanner","setLobbyBanner","lobbyGameUrl","setLobbyGameUrl","lobbyGameDetail","setLobbyGameDetail","lobbyGameImageFile","setLobbyGameImageFile","lobbyGameImage","setLobbyGameImage","gameListFile","setGameListFile","enableAutoFetchGame","setEnableAutoFetchGame","inMaintenance","setInMaintenance","addMForLoginUrl","setAddMForLoginUrl","_lobbyTableColumns","image","defaultChecked","isActive","updateLobbyGameStatus","getLobbyGameDetail","tempType","lobbyId","put","getVendorDetails","enableRewardCalculation","enableStrikeCheck","enableManualReadScore","enableRolloverCalculation","vendorRolloverTypeId","fetchGameResponse","uploadGameListFile","param","VendorId","JsonFile","accept","onDrop","acceptedFiles","reader","FileReader","onloadend","readAsDataURL","imageDrop","getRootProps","getInputProps","minHeight","baseUrl","appDeepLink","appPackageName","ranking","payoutRate","bonusRate","downlineCommissionRate","lobbyBannerDrop","fetchGameList","event","files","lobbyGameImageDrop","priority","AttachShopModal","getAttachedShop","getAttachedShopUrl","attachedShopList","getShopListUrl","shopToFilter","attachedShop","attachedShopUserList","ManageVendorApi","setVendorId","filteredIsPrimary","setFilteredIsPrimary","selectedVendorApi","setSelectedVendorApi","isAgentModalVisible","setIsAgentModalVisible","_vendorApiTableColumns","isBackup","toggleModal","toggleAgentModal","getVendorApiList","attachedAgents","rootAgent","onSubmitAttachShop","onSubmitAttachAgent","LottoPayrateTable","forwardRef","_PAY_RATE_TYPE","Key","Value","_EAT_TYPE","Big","Small","D4A","D4SB","D4SC","D4SD","D4SE","D4C","D5","D6","D2","D3","_PAYOUT_STRUCTURE","eatType","package","basePayrate","find","p","payRateTypeId","endsWith","customPayrate","userPackage","useImperativeHandle","getPayrate","payrates","k","payrateObj","pr","startsWith","InputField","payRateType","ps","objKey","validationObj","customPackage","baseReadonly","tabindex","pointerEvents","prize","payRateValue","cValue","sdOrSeValue","bValue","updatePayRate","rowSpan","et","customPayRate","VendorApiDetail","normalPackage","setNormalPackage","gdPackage","setGdPackage","normalPayrateTable","gdPayrateTable","_TABS","NORMAL","GD","activeTab","setActiveTab","getVendorApiDetails","vendorApiDetails","agentPlayer","isSeamless","lottoPackage","getLottoPackages","lottoPackages","typeId","normalPayRateData","gdPayRateData","packageData","normal","gd","signKey","opcode","opSecret","flex","additionalSetting","resize","generateCode","seamlessOpCode","seamlessOpSecret","Nav","pills","tab","NavItem","NavLink","TabContent","TabPane","tabId","ManageSystemSettings","registerEditRegion","handleSubmitEditRegion","errorsEditRegion","watchEditRegion","resetEditRegion","setValueRegion","systemSettingsData","setSystemSettingsData","showEditSettingModal","setShowEditSettingModal","systemSetting","setSystemSetting","filterName","setFilterName","setFilterValue","showEditRegionModal","setShowEditRegionModal","setRegionList","targetRegion","setTargetRegion","_systemSettingsTableColumns","settingRegionList","currentSelectedRegion","o","loadRegionSettings","getSystemSettings","regionOption","submitSystemSettingForm","formCollection","systemSettingDescription","systemSettingValue","submitRegionSettingForm","systemSettingId","regionSetting","regionValue","alignItems","ManageSmsSettings","smsSettingsData","setSmsSettingsData","selectedSmsSetting","setSelectedSmsSetting","_smsSettingsTableColumns","isApp","isSms","getSmsSettings","SmsDetails","settingName","setSettingName","tagsList","setTagsList","selectedTagsValue","setSelectedTagsValue","settingValue","setSettingValue","smsDetailId","setSmsDetailId","setIsApp","setIsSms","supportFcmAndSms","setSupportFcmAndSms","setTypeId","smsTypeOption","setSmsTypeOption","smsTypeList","smsType","settingJson","smsSettingTypeId","getSmsDetails","submitSmsDetailsForm","settingDesciption","PreviewMessageModal","messageId","setMessageId","setMessageType","messageParams","setMessageParams","tableColumn","setTableColumn","_shopMessageColumns","totalCount","_systemMessageColumns","messageType","ManageShopMessage","selectedMessageId","setSelectedMessageId","_INCLUDE_BROADCAST","contentImage","returnClassName","processedStatus","textTransform","processedStatusString","sent","total","setMessageStatus","mode","setDayCount","forApp","setForApp","setContent","setTitle","initCompleted","setInitCompleted","setIsConfirm","alertRequired","setAlertRequired","isNewContentImg","setIsNewContentImg","contentImgFile","setContentImgFile","contentImg","setContentImg","_submitBtnRef","previewParams","setPreviewParams","regions","exist","getShops","click","selectedShopString","dayCount","ManageSystemMessage","setRegions","targetRole","setTargetRole","setRegionOption","regionIdList","triggerRoleCheck","performValidate","roleSelection","ManagePhoneMessage","phoneOptions","setPhoneOptions","phones","OperationLog","logUrl","setLogUrl","filterAction","setFilterAction","filterUser","setFilterUser","filterDate","setFilterDate","_operationLogTableColumns","createdByName","createdBy","getOperationLog","ManagePromotion","showWinningDetail","setShowWinningDetail","promotionWinningData","setPromotionWinningData","setApiUrl","pageData","setPageData","countData","setCountData","_detailPromotionUrl","isSpinPromotion","showToast","setShowToast","_winnerTableColumns","prizeAmount","startDateString","endDateString","dangerouslySetInnerHTML","__html","listOfShopsInString","rowData","promotionId","totalSentCount","totalNumberOfSentCount","totalClaimCount","totalClaimAmount","setPromotionStatus","getWinningData","navigator","clipboard","writeText","domain","broadcastJackpotList","PaginationTable","keyboard","Toast","bottom","left","transition","transitionLeaveTimeout","ToastBody","ManagePromotionDetail","promotionRegister","promotionHandleSubmit","promotionErrors","promotionSetValue","promotionUnregister","prizeRegister","prizeHandleSubmit","prizeErrors","prizeSetValue","prizeClearError","clearError","prizeWatch","prizeModalVisibility","setPrizeModalVisibility","prizeTypes","setPrizeTypes","prizeTypeId","setPrizeTypeId","displayPrizeCount","setDisplayPrizeCount","winPercentage","setWinPercentage","spinCountToWin","setSpinCountToWin","actualPrizeCount","setActualPrizeCount","prizeName","setPrizeName","prizeId","setPrizeId","setPrizeAmount","prizes","setPrizes","targetShops","setTargetShops","setMessage","activeDays","setActiveDays","isAppOnly","setIsAppOnly","isOrderbyReward","setIsOrderByReward","setPromotionId","setSpinCountGrant","setFreeSpinCount","setLoginCountRequired","showPrizeDetails","setShowPrizeDetails","coolDownDurationList","setCoolDownDurationList","coolDownDuration","setCoolDownDuration","promotionStatus","promotionMethod","setPromotionMethod","memberPrize","setMemberPrize","alertVisible","setAlertVisible","alertPrizeId","setAlertPrizeId","alertMemberId","setAlertMemberId","customAlert","setCustomAlert","dbJackpotExist","setDbJackpotExist","broadcastStatus","setBroadcastStatus","alertText","setAlertText","prizeAccumulate","setPrizeAccumulate","lowerBound","setLowerBound","upperBound","setUpperBound","prizeLogoFile","setPrizeLogoFile","prizeLogoImage","setPrizeLogoImage","isNewLogo","setIsNewLogo","setMaxWinCount","setMinRewardPoint","prizeMaxWinCount","setPrizeMaxWinCount","prizeRanks","setPrizeRanks","prizeRankId","setPrizeRankId","rankCoolDown","setRankCoolDown","promotionLogoFile","setPromotionLogoFile","promotionLogoImage","setPromotionLogoImage","memberPrizeLoading","setMemberPrizeLoading","_NOT_BROADCAST_ARR","prizeColumns","setPrizeColumns","_CUSTOM_ALERT","_prizeTableColumns","initializePrizeForm","claimStatus","claimTime","prizeTableColumns","splice","promotionPrizeId","regionJsonResult","prizeTypeJsonResult","prizeRankJsonResult","MAX_DURATIONS","DURATION_INCREMENT","durationList","availableRegions","availablePrizeTypes","prizeRankList","isSpin","isPromotion","rank","getShopsByRegion","errorMessage","getLatestPromotionDetails","onChangePromotionMethod","getMemberPrize","getPromotionStatus","form","appOnly","orderByReward","spinCountGrant","freeSpinCount","loginCountRequired","minimumMemberActiveDuration","isPrizeAccumulate","minRewardAmount","minRewardPoint","memberMaxWinCount","maxWinCount","newSelectedRegionId","availableShops","editPercentage","selectedPrize","prizeData","onChangePrizeType","imageFile","customPrizeName","parseInt","getPrizeResponseJson","deletePrize","deleteMemberPrize","bulkDeleteMemberPrize","alertHandler","cancelBtnCssClass","cancelBtnStyle","textDecoration","cursor","isValidDate","isBefore","add","isAfter","subtract","duration","bgImageDrop","alignActions","marginBottom","getPrizesNamelist","saveJackpotList","rangeExceedActual","exceedDisplay","ManageLuckyNumber","setPostData","_STATUS_OPTIONS","getStatusClassName","statusName","getShopOption","shopListByRegion","spanClass","playerId","operatedShop","ManageMiniProgram","miniProgramData","setMiniProgramData","selectedMiniProgram","setSelectedMiniProgram","_btnKeys","updateStatus","miniProgram","Boolean","fetchMiniPrograms","logo","MiniProgramDetail","miniProgramId","setMiniProgramId","autoAddPlayer","setAutoAddPlayer","navigationKey","setNavigationKey","ageTncRequired","setAgeTncRequired","ageTncDescription","setAgeTncDescription","programUrl","setProgramUrl","ManagePaymentGateway","paymentGatewayTypeId","setPaymentGatewayTypeId","paymentGatewayId","setPaymentGatewayId","paymentGateways","setPaymentGateways","setApiKey","getPaymentGateways","ManagePaymentGatewayDetail","apiSecret","setApiSecret","callbackUrl","setCallbackUrl","responseUrl","setResponseUrl","secretKey","setSecretKey","hasOperationHour","setHasOperationHour","telcoList","setTelcoList","selectedInterfaceShopId","setSelectedInterfaceShopId","responseJsonTelco","telcoRate","_URL_ADMIN_MANAGE_PAYMENT_GATEWAY_DETAIL","minTopUpAmount","maxTopUpAmount","isSearchable","isClearable","processingFee","startAtString","endAtString","ManageIPBlackList","ipAddressData","setIpAddressData","detailModalShow","setDetailModalShow","modalId","setModalId","ipAddress","setIpAddress","deleteHandler","modalCleanUp","detailInit","ManageShopLogin","loginRequest","setLoginRequest","shopUser","statusString","badgeString","renderStatus","operatedBy","operatedByName","updateRequest","filterStatus","ManageAppealTransaction","appealTransactionUrl","setAppealTransactionUrl","_STATUS_OPTION","transactionTypeString","transactionTypeId","text","processAppealTransaction","transactionId","ManageBonus","registerBonusForm","errorsBonusForm","handleSubmitBonusForm","bonusForm","setBonusForm","selectedBonus","setSelectedBonus","banner","setBanner","bannerImage","setBannerImage","minimumThreshold","rate","createOrUpdateBonus","getBonusList","bonusObj","bonusId","submitBonusForm","updateImage","wordWrap","RegionFilterDualListBox","currentOptions","concat","apply","selectedOptions","currentOption","SetLimitReport","reportRole","setReportRole","_TYPE_OPTION","preLimit","totalAmount","postLimit","rowId","SetScoreReport","_query","URLSearchParams","selectedOperatedBy","setSelectedOperatatedBy","_TRANSACTION_TYPE_ID","transactionType","renderTransactionType","shopInitialLimit","initialLimitTotal","scoreTotal","shopFinalLimit","finalLimitTotal","playerInitialCredit","playerFinalCredit","getVendorOption","getOperatedBy","SalesReport","setScoreIn","setScoreOut","netSetScore","totalScoreIn","totalScoreOut","netScoreInOut","userSetScoreIn","userSetScoreOut","userNetSetScore","walletIn","walletOut","totalWalletIn","totalWalletOut","netWalletInOut","gpayWalletIn","netWallet","freeSpinWinTotal","winLoseRewardGranted","rewardClaimed","eghlService","onlineWithdrawal","limitIn","limitOut","netLimit","RewardReport","summaryApiUrl","setSummaryApiUrl","detailData","setDetailData","showSummary","setShowSummary","showDetail","setShowDetail","summaryPostData","setSummaryPostData","recordDateSummary","setRecordDateSummary","showRecordDateSummary","setShowRecordDateSummary","_summaryTableColumns","_detailTableColumns","loseAmount","processDate","recordDate","reward","readRewardDetail","_recordDateSummaryTableColumns","rewardTotal","filterRewardReport","isSummary","_API_GET_REWARD_REPORT","getRecordDateSummary","ClaimRewardReport","ManagerLimitReport","setSelectedRegion","managerOption","setManagerOption","csData","setCsData","totalLimitIn","totalLimitOut","totalEghlLimitIn","totalEghlLimitOut","_csColumns","shopLimitIn","shopLimitOut","shopEghlLimitIn","shopEghlLimitOut","playerStrike","playerScoreIn","playerScoreOut","memberWalletIn","memberWalletOut","filterSelectedManager","managerDetail","reportType","KioskTimeoutReport","selectedOperatedShop","setSelectedOperatedShop","selectedPlayerShop","setSelectedPlayerShop","initialLimit","finalLimit","playerInitial","playerFinal","userList","operatedByShops","playerShops","AgentCommissionReport","commissionDetailData","setCommissionDetailData","rolloverAmount","totalRolloverAmount","profit","totalProfit","viewCommissionDetail","CreateEWalletTransactionModal","_EWALLET_TYPE","_userId","mxPayHtml","setMxPayHtml","selectedPaymentMethod","setSelectedPaymentMethod","for","srcdoc","TopUpReport","createEWalletModal","setCreateEWalletModal","_METHOD_OPTION","typeName","initialCredit","initialCreditTotal","amountTotal","finalCredit","finalCreditTotal","initialAmount","processedDate","bankTransactionId","amt","transactionData","isApproved","isValidate","approveAmount","ValidateTransaction","SetTransactionStatus","CreditTransferReport","_TRANSFER_TYPE_ID","transferType","initialVendor","transferFromString","transferToString","renderTransferType","member","StrikeReport","confirmStartDate","setConfirmStartDate","confirmEndDate","setConfirmEndDate","strikeDetailList","setStrikeDetailList","showStrikeDetailModal","setShowStrikeDetailModal","selectedStrikeRecordData","setSelectedStrikeRecordData","isBulkUpdate","getStrikeDetailList","_tableStrikeDetailsColumn","betAmount","RolloverReport","typeOption","setTypeOption","summaryStartDate","setSummaryStartDate","summaryEndDate","setSummaryEndDate","parsedType","preRolloverLeft","rolloverTotal","postRolloverLeft","getTypeOption","Map","isMulti","r","UpperLimitWarningReport","date","rowValue","isApproval","eventType","level","thresholdPercentage","shopLimit","upperLimit","availableList","UserExperienceReport","createdTime","preExperience","postExperience","preRank","postRank","typeString","renderType","historyTypeId","completed","applyFilter","TurnoverReport","setPlayerId","_DATE_RANGE_TYPE","sumAmount","totalJackpot","maxJackpot","totalBonus","maxBonus","shopResponseJson","vendorResponseJson","viewDataType","updateDateRange","rangekey","targetStartDate","targetEndDate","TurnoverRewardReport","RewardReportType","selectedRewardType","setSelectedRewardType","showResyncBonusPanel","setShowResyncBonusPanel","resyncDate","setResyncDate","setPlayerUsername","vendorGameName","vendorName","rewardEarnt","historyId","filterTurnoverRewardReport","log","resyncHighBonusReward","LuckySpinWinner","_PROMOTION_ID","promotionTitle","setPromotionTitle","prizeType","prizeClaimedAt","prizeClaimedBy","claimPrize","spinId","KogWinner","_EVENT_ID","setPrizeData","selectedEvent","setSelectedEvent","eventPrize","returnString","isClaimed","getSelectectEventPrizeData","msg","eventId","singleDistribute","distributePrizeResponseJson","getEvent","AgentNetProfitReport","defaultValues","_COLUMNS","Agents","StartDate","EndDate","optionList","agentList","LottoSeamlessSettlementReport","drawDate","setDrawDate","overflowWrap","orderAmount","strikeAmount","getAgentOption","DrawDate","Vendors","ShopEghlReport","reloadPin","renderTransactionStatus","getShop","shopIds","Report","selectedDate","PasswordConfirmationModal","skipPasswordCheck","skipPasswordRequiredCheck","MemberDetails","registerEditMember","handleSubmitEditMember","errorsEditMember","setValueEditMember","triggerValidationEditMember","watchEditMember","setValueEditPassword","memberDetails","setMemberDetails","availableProduct","setAvailableProduct","selectedProduct","setSelectedProduct","passwordConfirmation","setPasswordConfirmation","products","game","Error","editMember","resetEditPasswordForm","isMember","readonly","editPhoneValidation","resetPasswordHandler","product","createPlayer","MemberRolloverDetailModal","rolloverData","setRolloverData","depositType","parsedLastDepositTime","lastDepositAmount","lastDepositOperatedBy","withdrawalType","parsedLastWithdrawalTime","lastWithdrawalAmount","lastWithdrawalOperatedBy","getMemberRolloverDetail","isVisible","shouldUnregister","gameList","setGameList","userDetail","setUserDetail","claimRewardModal","setClaimRewardModal","setScoreParams","setSetScoreParams","setScoreUrl","setSetScoreUrl","setRewardAmount","actionType","setActionType","tempScoreDetail","setTempScoreDetail","requestTransactionDetail","setRequestTransactionDetail","rolloverDetailModal","setRolloverDetailModal","memberNotes","setMemberNotes","openNotesModal","setOpenNotesModal","notes","setNotes","_ACTIOM_TYPE","_GAME_TYPE","currentActiveTab","setCurrentActiveTab","initMemberDetail","showSetScoreMessage","passwordConfirmationCleanup","games","mobiles","playerIndex","displayUsername","productOptions","mobileOptions","getMemberNotes","getTransactionRequest","btnType","playerOperation","downloadUrlIos","downloadUrlAndroid","initSelectedData","setScoreHandler","validInputCount","indexToUse","scoreAmountSelected","successCount","failCount","showPrintButton","confirmBtnBsStyle","memberUserId","validationRegex","confirmBtnCssClass","claimReward","performMemberTransaction","expiredAt","settleTransactionRequst","tabs","borderRadius","borderColor","borderWidth","classnames","g","defaultStatus","defaultRemark","submitMemberNotes","EghlServiceDetail","subCategory","_eghlLimit","serviceDetail","setServiceDetail","selectedServiceType","setSelectedServiceType","selectedService","setSelectedService","_requiredInputField","max_denom","min_denom","geteGHLServiceDetail","pin","etu","pmt","services","currentServiceDetail","selection","currentSelectedServiceType","dialogConfirmationService","max_amount_cents","userAgent","ssc_name","createEghlTransaction","eGHLResponse","receiptContent","pin_expiry","justifyContent","input_type","accountNo","currentServicePage","setCurrentServicePage","serviceCategories","serviceSubCategories","setServiceSubCategories","selectedSubCategory","setSelectedSubCategory","geteGHLServicesSubCategory","categoryId","sc_img","sc_code","sc_name","bonusData","setBonusData","selectedId","setSelectedId","selectedAction","setSelectedAction","performBonusAction","bonus","promotionName","prizeValue","performedByName","Search","BlockPuk","memberData","setMemberData","playerList","setPlayerList","getMemberData","submitBlockForm","data-val","RegisterMember","getNumber","RegisterPlayer","actualVendorCode","vendorShortName","vendorShortCode","ShopAgentCommissionReport","CreditTopupReport","interfaceShop","setInterfaceShop","getInterfaceShop","shopTarget","CreditTrasnferReport","transferTypeString","setScoreConfirmation","currentSetScoreUrl","Announcement","announcementData","setAnnouncementData","QRScanner","isQrScannerFunctionable","setIsQrScannerFunctionable","isScanned","setIsScanned","qrErrorMsg","setQrErrorMsg","decodedQr","onQrDetect","MSStream","facingMode","objectFit","delay","onError","onScan","TransactionRequest","requestDetail","setRequestDetail","_HIDE_SETTLE_BUTTON_ARRAY","searchRequest","showPasswordConfirmation","postUrl","returnDetail","borderBottom","lineHeight","constructTransactionType","transactionTypeName","statusBadgeClass","constructStatusBadge","playerVendor","expiredTime","ShopLimitApprovalReport","approveOrRejectLimitRequest","ManageVendorCategory","vendorCategoryList","setVendorCategoryList","_vendorCategoryTableColumns","localizations","displayAtDesktop","deleteVendorCategory","delete","getVendorCategoryList","VendorCategoryDetail","supportedLanguage","setSupportedLanguage","languageList","langResponseJson","l","languageId","getSuppportedLanguageAndLoadData","categoryRanking","categoryStatus","RankVendorRateModal","rankList","addedVendorList","setAddedVendorList","defaultRankVendorRates","setDefaultRankVendorRates","_RATE_INPUT_KEY","_RATE_INPUT_OPTIONS","variableName","currentVendorList","rankVendorRates","j","currentAddedVendorList","rankVendorRateData","inputValues","selectedRankVendorRate","RankId","rateType","RankVendorRates","remainingVendorList","rankId","selfWinlossRate","selfTurnoverRate","downlineWinlossRate","downlineTurnoverRate","selectedVendorObj","deleteRankVendorRate","onBlur","ManageRank","setRankList","isRateModalVisible","setIsRateModalVisible","_rankColumn","colorCode","outerFrame","innerFrame","badgeFile","minimumExperience","RankDetail","control","setOuterFrame","setInnerFrame","setBadge","canDropRank","canDropExp","ManageNotificationSettings","notificationList","setNotificationList","selectedNotification","setSelectedNotification","_notificationColumns","getNotificationList","NotificationDetails","notificationTypeOption","setNotificationTypeOption","notificationTypeId","setNotificationTypeId","cursorPosition","setCursorPosition","currentInput","setCurrentInput","formRef","_TAG_OPTIONS","typeResponseJson","tempCategory","submitNotificationForm","notificationDesciption","notificationStatus","handleInputCursor","selectionStart","handleCurrentInput","textBeforeCursorPosition","textAfterCursorPosition","insertTagIntoContent","onFocus","onKeyUp","ManageMemberDownline","apiLinks","ManageAppAnnoucement","annoucementData","setAnnoucementData","eventTypeModalVisible","setEventTypeModalVisible","eventTypeList","setEventTypeList","_announcementColumns","announcementEventType","eventName","isEnabled","getAnnoucementList","submitEventTypeForm","AppAnnouncementDetail","announcementTypeOption","setAnnouncementTypeOption","cronVisible","setCronVisible","fullShopList","setFullShopList","previousSelectedRegion","setPreviousSelectedRegion","previousSelectedShop","setPreviousSelectedShop","_ANNOUCEMENT_TYPE_WITHOUT_CRON","typeList","disableInterval","regionResponseJson","announcementEventTypeId","interval","announcementEventShops","s","messages","announcementTypeId","cronData","cron","showResultText","showResultCron","PrizeDistributionModal","isLuckyPrize","VipMemberModal","isEdit","registerMember","handleSubmitMember","errorsMember","resetMember","selectedVip","setSelectedVip","isUserBotActive","targetMember","onMemberSubmit","UserId","EventId","Rank","botId","ManageKogEvent","assignVip","setAssignedVip","getEventApiUrl","setGetEventApiUrl","_eventColumns","nameLocalizations","copyEvent","deleteEvent","getEventList","PrizeModal","setRowData","prizeTypeOption","setPrizeTypeOption","getEventPrizeType","worth","quantity","luckyPrize","KogEventDetail","filteredShopOption","setFilterShopOption","prizeList","setPrizeList","luckyPrizeList","setLuckyPrizeList","selectedRowData","setSelectedRowData","stopModalVisibility","setStopModalVisibility","firstLoad","setFirstLoad","setDefaultStatus","stopRemark","setStopRemark","modalData","setModalData","setIsLuckyPrize","claimLuckyPrizeModal","setClaimLuckyPrizeModal","claimPrizeWinner","setClaimPrizeWinner","stopModalRegister","stopModalSubmit","stopModalErrors","_prizeColumns","preview","vendorResponse","shopResponse","autoEnroll","descriptionLocalizations","bannerLocalizations","disclaimer","disclaimerLocalizations","getPrizeList","findIndex","updateEventConfirmation","vendorIds","regionIds","calculationMethod","stopEventForm","stopEventConfirmation","requiredUpdate","flexDirection","searchEventPrizeWinner","KogEventLogModal","setMember","KogEventRanking","_ID","_NAME","_eventRankingColumns","isQualified","updateMemberQualification","ManageFeedbackSettings","feedbackCategory","setFeedbackCategory","feedbackOption","setFeedbackOption","selectedCategory","setSelectedCategory","modalType","_feedbackCategoryColumn","openModal","newStatus","deleteRow","_feedbackOptionColumn","textLocalizations","categoryName","getFeedbackCategory","getFeedbackOption","showResponse","getSupportedLanguage","fullUrl","dimissModal","closeModal","categoryOptionId","MemberFeedbackReport","setIndex","selectedFeedback","setSelectedFeedback","_feedbackColumns","rowDetail","reporterName","reporterOwnerName","occurTime","location","reply","replyFeedbackConfirmation","replyFeedback","replyMessage","additional","maxLength","ShopFeedbackReport","ManageBanner","searchTerm","setSearchTerm","_bannerColumns","bt","titleLocalizations","bannerShops","deleteBanner","BannerDetail","dayOfWeek","cta","bannerType","imageLocalizations","frequency","f","frequencyArr","d","day","MemberEcreditTransferLog","sender","setSender","receiver","setRecevier","_eCreditLog","preSenderCredit","postSenderCredit","preReceiverCredit","postReceiverCredit","RegionEcreditTransferLog","fromRegion","setFromRegion","toRegion","setToRegion","eCreditLog","setECreditLog","UserActionLog","UserTransactionLog","receiverUsername","senderUsername","operatedByUsername","transactionTypeMsg","preCredit","postCredit","preScore","postScore","OverallDownlineReport","_SORTABLE_COLUMNS","orderByAsc","setOrderByAsc","orderByColumn","setOrderByColumn","firstTimeInit","setFirstTimeInit","sortTable","selectedColumn","RankSummaryReport","rankSummary","setRankSummary","isMemberModalVisible","setIsMemberModalVisible","getMembersByRankId","_memberTableColumns","totalReward","ApiLog","_apiLogTableColumns","createdAt","uri","requestPayload","responsePayload","AgentVendorApiDetail","agentUserId","setVendors","agentPackage","setAgentPackage","packageWarning","setPackageWarning","warningMessage","setWarningMessage","getLottoPackage","basePayRate","saveLottoPackage","vendorApiMetaId","maxHeight","overflowY","wm","AgentWinLossReport","viewDetails","setViewDetails","viewUrl","setViewUrl","_REPORT_TYPE","slotTurnover","slotWinLoss","AgentId","AgentUsername","agentUsername","fishingWinLoss","liveSlotWinLoss","liveSlotCommission","lottoBet","lottoStrike","agentTotalCommission","uplineCommission","_VIEW_DETAIL_COLUMNS","ViewDetailPaginationTable","FilterName","City","AgentWinLossReport2","ManageVipMember","_REGION_NAME","vipList","setVipList","setEvent","_vipMemberColumns","updateBotStatus","requiredRefresh","OnlineWithdrawalRequest","_pendingOnlineWithdrawalCount","_REMARK_OPTION","viewerUsername","viewedTime","processTransaction","viewedBy","transactionAction","isApprove","approve","bankName","bankAccountHolderName","bankAccountNumber","refundDetail","scoreTransactionId","preAmount","postAmount","alignSelf","ManagerLimitTransactionReport","preCreditLimit","postCreditLimit","PlayerCreationReport","ManageThirdParty","thirdParties","setthirdParties","_thirdPartyColumns","getThirdParties","ThirdPartyDetail","selectedThirdParty","setSelectedThirdParty","getThirdPartyDetails","h5Url","_MANAGE_THIRD_PARTY","ManageThirdPartyApi","thirdPartyApiList","setThirdPartyApiList","selectedThirdPartyApi","setSelectedThirdPartyApi","_thirdPartyApiTableColumns","getThirdPartyApiList","ThirdPartyApiDetail","thirdPartyList","setThirdPartyList","getThirdPartyApiDetails","thirdPartyProgramId","clientKey","clientSecret","eventKey","thirdParty","UserGrowthReport","members","setMembers","href","getShopMember","totalMember","users","_LOGIN_ROUTE","authRequired","component","_ROUTES","feedbackAdminRedirect","RoleDetail","AppAnnoucementDetail","routeArray","pageTitle","Content","routes","routeData","Route","listen","filteredRoutes","route","pageContentFullWidth","pageContentClass","pageContentInverseMode","PrivateRoute","year","getFullYear","SearchMemberModal","_searchTxtRef","readyState","setReadyState","showAgentReloadModal","setShowAgentReloadModal","getPlayerOnly","setGetPlayerOnly","redirectUrl","reloadAgentCredit","App","floatSubMenuRemove","floatSubMenuCalculate","pageFloatSubMenuActive","pageSidebarToggled","handleSetPageSidebarMinified","handleSetPageSidebarWide","pageSidebarWide","handleSetPageSidebarLight","pageSidebarLight","handleSetPageSidebarTransparent","handleSetPageSidebarSearch","pageRightSidebarCollapsed","pageMobileRightSidebarToggled","handleSetPageRightSidebar","pageRightSidebar","handleFloatSubMenuOnMouseOver","clearTimeout","handleFloatSubMenuOnMouseOut","getElementById","offsetWidth","offsetLeft","pageFloatSubMenu","pageFloatSubMenuLeft","offset","currentTarget","offsetParent","getBoundingClientRect","top","arrowTop","arrowBottom","lineTop","lineBottom","targetTop","windowHeight","innerHeight","querySelector","offsetHeight","aBottom","pageFloatSubMenuTop","pageFloatSubMenuBottom","pageFloatSubMenuLineTop","pageFloatSubMenuLineBottom","pageFloatSubMenuArrowTop","pageFloatSubMenuArrowBottom","pageFloatSubMenuOffset","handleFloatSubMenuClick","targetHeight","handleSetPageContent","pageContent","handleSetPageContentClass","handleSetPageContentFullHeight","pageContentFullHeight","handleSetPageContentInverseMode","pageHeader","handleSetPageHeaderMegaMenu","handleSetPageHeaderLanguageBar","handleSetPageFooter","pageFooter","handleSetPageTopMenu","pageMobileTopMenu","handleSetPageTwoSidebar","handleSetPageBoxedLayout","body","classList","handleSetBodyWhiteBg","pageheaderMegaMenu","errorInfo","pageRightSidebarToggled","localGuid","sessionGuid","updateLoginUser","resetLogin","spinner","EpayLogo","animation","styles","overlay","base","zIndex","EpayTheme","lazy","OrenTheme","MantapTheme","PortalTheme","Suspense","fallback","ReactDOM"],"mappings":"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","file":"static/js/main.384c6f7d.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MjhBRUE2QzdGOTAxMUU5OUI1OEZFNjlGM0FBNzQ0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MjhBRUE2RDdGOTAxMUU5OUI1OEZFNjlGM0FBNzQ0QiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQyOEFFQTZBN0Y5MDExRTk5QjU4RkU2OUYzQUE3NDRCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQyOEFFQTZCN0Y5MDExRTk5QjU4RkU2OUYzQUE3NDRCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LkyPVgAAH41JREFUeNrsnQmcXEWd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\"","module.exports = __webpack_public_path__ + \"static/media/epay.396baa78.png\";","module.exports = __webpack_public_path__ + \"static/media/oren.480c9bb7.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAABGCAYAAABhTqxYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBGOUU5RkNGQUQwMTFFNDkxMTZCRDQxNDMzMkNBMzMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY5OUIwNTRGQUQ3MTFFNDkxMTZCRDQxNDMzMkNBMzMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEY5RTlGQUZBRDAxMUU0OTExNkJENDE0MzMyQ0EzMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEY5RTlGQkZBRDAxMUU0OTExNkJENDE0MzMyQ0EzMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgnI6RoAAA7+SURBVHja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\"","module.exports = __webpack_public_path__ + \"static/media/hotlink.8028edde.png\";","module.exports = __webpack_public_path__ + \"static/media/digi.a96049a2.png\";","module.exports = __webpack_public_path__ + \"static/media/xpax.32212c8b.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNEFCQ0JCNTdGOEUxMUU5OTRCODhGODk5QkIxRjg0MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNEFCQ0JCNjdGOEUxMUU5OTRCODhGODk5QkIxRjg0MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE0QUJDQkIzN0Y4RTExRTk5NEI4OEY4OTlCQjFGODQzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE0QUJDQkI0N0Y4RTExRTk5NEI4OEY4OTlCQjFGODQzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+wBgKmgAAHOhJREFUeNrsnQmcHVWVxk+nkyb7vpCEJQskEFDCjqwBRSAoIPs+LDojijqIAqMMLowsCqPoDKCjQBTHcWQHcSIgyLAJkRAIYQshkIWQfe8sJG191Ff2y6O7X71bt+rVe+/7/3731528rnq13Pvdc88999yGlpYWE0LUJ530CISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIISQAAghJABCCAmAEEICIIQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEBIAIYQEQAghARBCSACEEAV0XtJwvZ5C7dM9KE8GZTuHY58IyrF6hDUqAHoEdUFDUAYGpb/Dsf31+DQEENXP+xkfJyQAQggJgBBCAiCEkAAIISQAQggJgBBCAiCEkAAIISQAQogsSDMUeKug9AxKVwtDUSM2B2VdUNbyZ63RJSi9gtKt6L438p5XB6Ul42valODYlhqu/31ZRxHtuCCj70Sd6G3h+ozGoneE+rGKbaSqBACLTHYJym5B2Tkoo4IyqOABNxTd6Bre6NKgzA3KrKBMD8rLQXmVn1cDPYKya1D2CMr4oIwJypCg9ON9F1pY63nPy1jZ3grKa0GZEZTXgzInQUPF823q4PPuRe+gHBop5uWyMWZFbqRotpR5v+9beWHKXVg/Dw7K3kHZiXW0H9/DnimIXWd+z+4sY4OyTVAGsJPoXPS8ojYxj9f0QlCmBuUVfu5fjRbbda4Vf7+gHMkHOo4V3gezg/JcUB4KysNsKHkC9/mJoBwflAODMtLDOaH8M4PyvIWr756iEMatkIODMplWR3tDvRFsBC7XNsdBkM4KyrMx/vbcoPxLmb0ezv8/QflWjL9FozuT72tcO3/zOhtqi6dGf0BQjgvK4fz+JB3tJl7fY0G5Oyh/DsqGSlkAqPCnBOWooIxOqYGNYDmJivhIUG4Lyh983rgDWwfl/KCcE5QdPJ8bPfRHWc7hfU6nAD4QlGdK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\"","module.exports = __webpack_public_path__ + \"static/media/molpay.d01165df.png\";","module.exports = __webpack_public_path__ + \"static/media/cherrycredits.32e0a981.png\";","module.exports = __webpack_public_path__ + \"static/media/garena.994616c3.png\";","module.exports = __webpack_public_path__ + \"static/media/acash.cac7d1aa.png\";","module.exports = __webpack_public_path__ + \"static/media/toucn-n-go.4d319a36.png\";","module.exports = __webpack_public_path__ + \"static/media/mantap-logo.a5de2b79.png\";","module.exports = __webpack_public_path__ + \"static/media/first.b041054f.png\";","module.exports = __webpack_public_path__ + \"static/media/tunetalk.240c248d.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMENCN0FBOTdGOTAxMUU5QkI5NzkwNkJFNTE0MTA4NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMENCN0FBQTdGOTAxMUU5QkI5NzkwNkJFNTE0MTA4NCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAwQ0I3QUE3N0Y5MDExRTlCQjk3OTA2QkU1MTQxMDg0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAwQ0I3QUE4N0Y5MDExRTlCQjk3OTA2QkU1MTQxMDg0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+in3fVwAAHuRJREFUeNrsnQmYXFWZ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\"","module.exports = __webpack_public_path__ + \"static/media/xox.3e45129a.png\";","module.exports = __webpack_public_path__ + \"static/media/tron.e972a6fd.png\";","module.exports = __webpack_public_path__ + \"static/media/merchatrade.560018ca.png\";","module.exports = __webpack_public_path__ + \"static/media/buzzme.8baf9616.png\";","module.exports = __webpack_public_path__ + \"static/media/itel.51cd37b7.png\";","module.exports = __webpack_public_path__ + \"static/media/kartuloveas.61a21020.png\";","module.exports = __webpack_public_path__ + \"static/media/artel.48a0dda5.png\";","module.exports = __webpack_public_path__ + \"static/media/speakout.2a0ee807.png\";","module.exports = __webpack_public_path__ + \"static/media/friendi.9cfa01e7.png\";","module.exports = __webpack_public_path__ + \"static/media/xiddig.58d11849.png\";","module.exports = __webpack_public_path__ + \"static/media/ysmobile.2ae5d82a.png\";","module.exports = __webpack_public_path__ + \"static/media/tm.4fe35995.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHJWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA1LTI2VDE2OjI5OjMxKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA1LTI2VDE2OjI5OjMxKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNS0yNlQxNjoyOTozMSswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2ZDZjYjE3ZS1iZWI5LWUyNDItOTNmOS0xYzI5OTQxZTFhMDciIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1ZTVhNjQ3Yy1kYTA3LTZkNDQtOGQ5MC04ZDRjNWIzZDI1OWQiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNDQ0NWE1Zi02Zjc3LWE4NDMtYTEzYi0yZGRhMmMzZTlkZjgiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjNDQ0NWE1Zi02Zjc3LWE4NDMtYTEzYi0yZGRhMmMzZTlkZjgiIHN0RXZ0OndoZW49IjIwMTktMDUtMjZUMTY6Mjk6MzErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NmQ2Y2IxN2UtYmViOS1lMjQyLTkzZjktMWMyOTk0MWUxYTA3IiBzdEV2dDp3aGVuPSIyMDE5LTA1LTI2VDE2OjI5OjMxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPjNCMTFENEVBQzA2MkUwNjY4NzMwRDkxMDQzRjE4MEQ5PC9yZGY6bGk+IDxyZGY6bGk+NkQ0RTBDMzhCQkI2REU5MTJENDUyMzAzRkI5QzM2QTc8L3JkZjpsaT4gPHJkZjpsaT43QTBDRTE2MUY2NzAwNkRBMzJFNjUwQ0M5M0ZGRjMzMzwvcmRmOmxpPiA8cmRmOmxpPkJGQzI3Njc0NTAxQzhDMkI3OTFGQzAyQjg5MTE1RDM2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpERTczN0IyNkJBMUUxMUU3QjJERjhDMjZFMzlGMzYxMzwvcmRmOmxpPiA8L3JkZjpCYWc+IDwv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\"","module.exports = __webpack_public_path__ + \"static/media/unifi.15c8aeb2.png\";","module.exports = __webpack_public_path__ + \"static/media/redone.b43d62b3.png\";","module.exports = __webpack_public_path__ + \"static/media/cubits.454135f3.png\";","module.exports = __webpack_public_path__ + \"static/media/multigamecard.2dade5a9.png\";","module.exports = __webpack_public_path__ + \"static/media/molpoints.b0f2bfe2.png\";","module.exports = __webpack_public_path__ + \"static/media/offgamers.a914f673.png\";","module.exports = __webpack_public_path__ + \"static/media/cibmall.54a449a6.png\";","module.exports = __webpack_public_path__ + \"static/media/mycard.c43bea3f.png\";","module.exports = __webpack_public_path__ + \"static/media/mcash.be635f22.png\";","module.exports = __webpack_public_path__ + \"static/media/notification.a5dcf9ae.mp3\";","module.exports = __webpack_public_path__ + \"static/media/mantap.00d760a0.png\";","module.exports = \"data:image/png;base64,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\"","/// \n/// Author : Yong Sheng Chuan\n/// API related key or field when making ajax or api call\n/// \nexport class ApiKey {\n\tstatic _API_SUCCESS_KEY = \"success\";\n\tstatic _API_MESSAGE_KEY = \"message\";\n\tstatic _API_DATA_KEY = \"data\";\n\tstatic _API_CODE_KEY = \"code\";\n\n\tstatic _API_CONTENT_TYPE = \"Content-Type\";\n\tstatic _API_ACCEPT = \"Accept\";\n\tstatic _API_APPLICATION_JSON = \"application/json\";\n\tstatic _API_XML_HTTP_REQUEST_KEY = \"XMLHttpRequest\";\n\tstatic _API_FORM_URLENCODED = \"application/x-www-form-urlencoded\";\n\tstatic _API_POST = \"POST\";\n\tstatic _API_GET = \"GET\";\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// Url to communicate to controller\n/// \nexport class ApiUrl {\n\tstatic _API_LOGIN = \"/Account/Login\";\n\tstatic _API_LOGOUT = \"/Account/Logout\";\n\tstatic _API_IS_LOGGED_IN = \"/Account/IsLoggedIn\";\n\tstatic _API_GET_USERS_ROLE = \"/Account/GetAllRoles\";\n\tstatic _API_GET_ROLE_ACCESS_DATA = \"/Account/GetRoleAccessData\";\n\tstatic _API_GET_ROLE_BY_ID = \"/Account/GetRoleById\";\n\tstatic _API_CREATE_OR_UPDATE_ROLE = \"/Account/CreateOrUpdateRole\";\n\tstatic _API_GET_USERS = \"/Account/GetUser\";\n\tstatic _API_CREATE_OR_UPDATE_USER_ACCOUNT = \"/Account/CreateOrUpdateUserAccount\";\n\tstatic _API_GET_ACCOUNT = \"/Account/GetAccountById\";\n\tstatic _API_CHANGE_PASSWORD = \"/Account/ChangePassword\";\n\tstatic _API_VERIFY_PASSWORD = \"/Account/VerifyPassword\";\n\tstatic _API_RESET_MEMBER_PASSWORD = \"/Account/ResetMemberPassword\";\n\tstatic _API_BULK_ASSIGN_SHOP_SETTINGS = \"/Account/BulkUpdateShopProfile\";\n\tstatic _API_GET_ACCOUNT_BY_REGIONS = \"/Account/GetAccountByRegions\";\n\tstatic _API_GET_PLAYER_LIST = \"/Account/GetPlayerList\";\n\tstatic _API_CREATE_OR_UPDATE_PLAYER = \"/Account/CreateOrUpdate\";\n\tstatic _API_GET_PLAYER_BY_ID = \"/Account/GetPlayerById\";\n\tstatic _API_COPY_USER_ACCOUNT = \"/Account/CopyUserAccount\";\n\tstatic _API_PERFORM_MEMBER_ROLLOVER_RESET = \"/Account/PerformMemberRolloverReset\";\n\tstatic _API_GET_MEMBERS_BY_RANK_ID = \"/Account/GetMembersByRankId\";\n\tstatic _API_UPDATE_MEMBER_PROFILE_PERMISSION = \"/Account/UpdateMemberProfilePermission\";\n\n\tstatic _API_SEARCH_MEMBER = \"/Shop/SearchMember\";\n\tstatic _API_RETRIEVE_RELOAD_DETAILS = \"/Shop/RetreiveReloadDetailsByUsername\";\n\tstatic _API_GET_TRANSACTION_REQUEST = \"/Shop/GetTransactionRequest\";\n\tstatic _API_SETTLE_TRANSACTION_REQUEST = \"/Shop/SettleTransactionRequest\";\n\tstatic _API_GET_SHOPS = \"/Shop/GetShops\";\n\n\tstatic _API_GET_VENDOR_API_LIST = \"/Vendor/GetVendorApiList\";\n\tstatic _API_GET_VENDOR_LIST = \"/Vendor/GetVendorList\";\n\tstatic _API_GET_VENDOR_BY_ID = \"/Vendor/GetVendorById\";\n\tstatic _API_GET_VENDOR_API_BY_ID = \"/Vendor/GetVendorApiById\";\n\tstatic _API_CREATE_OR_UPDATE_VENDOR = \"/Vendor/CreateOrUpdateVendor\";\n\tstatic _API_GET_VENDOR_LOTTO_PACKAGE_BY_API = \"/Vendor/api/{id}/lotto-package\";\n\tstatic _API_CREATE_OR_UPDATE_VENDOR_API = \"/Vendor/CreateOrUpdateVendorApi\";\n\tstatic _API_GET_VENDOR_API_SHOP_BY_API_ID = \"/Vendor/GetVendorApiShopByApiId\";\n\tstatic _API_AVAILABLE_API_META_SHOP_LIST = \"/Vendor/GetAvailableApiShopList\";\n\tstatic _API_ATTACH_VENDOR_API_META_SHOP = \"/Vendor/AttachVendorApiMetaShop\";\n\tstatic _API_AVAILABLE_API_META_AGENT_LIST = \"/Vendor/GetAvailableAgentList\";\n\tstatic _API_ATTACH_VENDOR_API_META_AGENT = \"/Vendor/AttachVendorApiMetaToAgent\";\n\tstatic _API_GET_VENDOR_API_AGENT_BY_API_ID = \"/Vendor/GetVendorApiAgentByApiId\";\n\n\tstatic _API_GET_SMS_SETTING_BY_ID = \"/Configuration/GetSmsSettingById\";\n\tstatic _API_GET_SMS_SETTING_TYPE = \"/Configuration/GetSmsSettingType\";\n\tstatic _API_GET_SMS_SETTING = \"/Configuration/GetSmsSetting\";\n\tstatic _API_GET_SYSTEM_SETTING = \"/Configuration/GetSystemSetting\";\n\tstatic _API_GET_SYSTEM_SETTING_BY_NAME = \"/Configuration/GetSystemSettingByName\";\n\tstatic _API_CREATE_OR_UPDATE_SYSTEM_SETTING = \"/Configuration/CreateOrUpdateSystemSetting\";\n\tstatic _API_CREATE_OR_UPDATE_SMS_SETTING = \"/Configuration/CreateOrUpdateSmsSetting\";\n\tstatic _API_GET_SMS_SETING_SHOP_BY_SMS_SETTING_ID = \"/Configuration/GetAttachedShopBySmsSettingId\";\n\tstatic _API_ATTACH_SMS_SETTING_SHOP = \"/Configuration/AttachSmsSettingShop\";\n\tstatic _API_GET_REGION = \"/Configuration/GetRegion\";\n\tstatic _API_GET_REGION_SETTING_BY_ID = \"/Configuration/GetRegionSettingById\";\n\tstatic _API_CREATE_OR_UPDATE_SYSTEM_MESSAGE = \"/Configuration/CreateOrUpdateSystemMessage\";\n\tstatic _API_GET_SYSTEM_MESSAGE = \"/Configuration/GetSystemMessage\";\n\tstatic _API_GET_SYSTEM_MESSAGE_BY_ID = \"/Configuration/GetSystemMessageById\";\n\tstatic _API_CREATE_OR_UPDATE_REGION_SETTING = \"/Configuration/CreateOrUpdateRegionSetting\";\n\tstatic _API_GET_ROLLOVER_TRANSACTION_TYPE = \"/Configuration/GetRolloverTransactionType\";\n\n\tstatic _API_GET_SHOP_CREDIT = \"/Shop/GetShopCredit\";\n\tstatic _API_SHOP_CREATE_PLAYER = \"/Shop/CreatePlayer\";\n\tstatic _API_SHOP_RESET_PASSWORD = \"/Shop/ResetPlayerPassword\";\n\tstatic _API_SHOP_SET_PLAYER_STATUS = \"/Shop/SetPlayerStatus\";\n\tstatic _API_SHOP_DELETE_PLAYER = \"/Shop/DeletePlayer\";\n\tstatic _API_SHOP_RECOVER_PLAYER = \"/Shop/RecoverPlayer\";\n\tstatic _API_SHOP_SET_SCORE = \"/Shop/SetPlayerScore\";\n\tstatic _API_GET_PLAYER_DETAIL = \"/Shop/GetPlayerDetail\";\n\tstatic _API_CLAIM_REWARD = \"/Shop/ClaimReward\";\n\tstatic _API_RELOAD_CREDIT = \"/Shop/ReloadCredit\";\n\tstatic _API_SHOP_BULK_SET_SCORE = \"/Shop/BulkSetPlayerScore\";\n\tstatic _API_GET_SHOP_ATTACHED_VENDOR_API = \"/Shop/GetShopAttachedVendorApi\";\n\tstatic _API_UPDATE_SHOP_LIMIT = \"/Shop/UpdateShopLimit\";\n\tstatic _API_REQUEST_ADJUST_SHOP_LIMIT = \"/Shop/RequestAdjustShopLimit\";\n\tstatic _API_APPROVE_OR_REJECT_SHOP_LIMIT_REQUEST = \"/Shop/ApproveOrRejectSetShopLimitRequest\";\n\tstatic _API_UPDATE_UPPER_SHOP_LIMIT = \"/Shop/SetShopUpperLimit\";\n\tstatic _API_GET_SCORE_LOG = \"/Shop/GetScoreLog\";\n\tstatic _API_GET_GAME_LOG = \"/Shop/GetGameLog\";\n\tstatic _API_REQUEST_APPEAL_TRANSACTION = \"/Shop/RequestAppealTransaction\";\n\tstatic _API_UPDATE_AGENT_CREDIT = \"/Agent/UpdateAgentCredit\";\n\tstatic _API_UPDATE_AGENT_CREDIT_LIMIT = \"/Agent/UpdateAgentCreditLimit\";\n\tstatic _API_GET_AGENT_LOTTO_PACKAGE = \"/Agent/GetAgentLottoPackage\";\n\tstatic _API_CREATE_OR_UPDATE_AGENT_LOTTO_PACKAGE = \"/Agent/CreateOrUpdateAgentLottoPackage\";\n\tstatic _API_GET_AGENT_VENDORS = \"/Agent/GetAgentVendors\";\n\tstatic _API_GET_AGENT_LIST = \"/Agent/GetAgentList\";\n\tstatic _API_GET_SHOP_EGHL_LIMIT = \"/Shop/GetShopEghlLimit\";\n\tstatic _API_SET_SHOP_EGHL_LIMIT = \"/Shop/SetShopEghlLimit\";\n\n\tstatic _API_DELETE_PRIZE = \"/Promotion/DeletePrize\";\n\tstatic _API_GET_PRIZE_TYPES = \"/Promotion/GetPrizeTypes\";\n\tstatic _API_CREATE_OR_UPDATE_PRIZE = \"/Promotion/CreateOrUpdatePrize\";\n\tstatic _API_GET_PROMOTIONS = \"/Promotion/GetPromotions\";\n\tstatic _API_CREATE_OR_UPDATE_PROMOTION = \"/Promotion/CreateOrUpdatePromotion\";\n\n\tstatic _API_GET_PROMOTION_DETAIL_BY_ID = \"/Promotion/GetPromotionDetailById\";\n\tstatic _API_BROADCAST_MESSAGE = \"/Configuration/BroadcastAnnouncement\";\n\tstatic _API_GENERATE_MEMBER_PRIZE = \"/Promotion/GenerateMemberPrize\";\n\tstatic _API_CREATE_OR_UPDATE_MEMBER_PRIZE = \"/Promotion/CreateOrUpdateMemberPrize\";\n\tstatic _API_BROADCAST_MEMBER_PRIZE = \"/Promotion/BroadcastMemberPrize\";\n\tstatic _API_GET_MEMBER_PRIZE = \"/Promotion/GetMemberPrize\";\n\tstatic _API_DELETE_MEMBER_PRIZE = \"/Promotion/DeleteMemberPrize\";\n\tstatic _API_GET_PROMOTION_STATUS = \"/Promotion/GetPromotionBroadcastStatus\";\n\tstatic _API_SET_MEMBER_PRIZE_STATUS = \"/Shop/SetMemberPrizeStatus\";\n\tstatic _API_SET_PROMOTION_STATUS = \"/Promotion/SetPromotionStatus\";\n\tstatic _API_PROMOTION_WINNING_DETAIL = \"/Promotion/GetWinningDetail\";\n\tstatic _API_GET_PRIZE_RANK = \"/Promotion/GetPrizeRank\";\n\n\tstatic _API_PREVIEW_ANNOUNCEMENT_TARGET = \"/Configuration/PreviewAnnouncementTarget\";\n\tstatic _API_GET_MINI_PROGRAM_LIST = \"/Configuration/GetMiniProgramList\";\n\tstatic _API_GET_MINI_PROGRAM_SHOP_BY_MINI_PROGRAM_ID = \"/Configuration/GetAttachedShopByMiniProgramId\";\n\tstatic _API_ATTACH_MINI_PROGRAM_SHOP = \"/Configuration/AttachMiniProgramShop\";\n\tstatic _API_GET_MINI_PROGRAM_BY_ID = \"/Configuration/GetMiniProgramById\";\n\tstatic _API_CREATE_OR_UPDATE_MINI_PROGRAM = \"/Configuration/CreateOrUpdateMiniProgram\";\n\tstatic _API_SET_ANNOUNCEMENT_STATUS = \"/Configuration/SetAnnouncementStatus\";\n\tstatic _API_GET_OPERATION_LOG = \"/Configuration/GetOperationLog\";\n\tstatic _API_GET_USER_LAST_MESSAGE = \"/Configuration/GetUserLastMessage\";\n\tstatic _API_GET_PAYMENT_GATEWAY = \"/Configuration/GetPaymentGateway\";\n\tstatic _API_GET_PAYMENT_GATEWAY_BY_ID = \"/Configuration/GetPaymentGatewayById\";\n\tstatic _API_CREATE_OR_UPDATE_PAYMENT_GATEWAY = \"/Configuration/CreateOrUpdatePaymentGateway\";\n\tstatic _API_GET_PAYMENT_GATEWAY_SHOPS_BY_ID = \"/Configuration/GetPaymentGatewayShopById\";\n\tstatic _API_ATTACH_PAYMENT_GATEWAY_SHOP = \"/Configuration/AttachPaymentGatewayShop\";\n\tstatic _API_AVAILABLE_PAYMENT_GATEWAY_SHOP_LIST = \"/Configuration/GetAvailablePaymentGatewayShopList\";\n\tstatic _API_CREATE_OR_UPDATE_IP_BLACKLIST = \"/Configuration/CreateOrUpdateIPBlackList\";\n\tstatic _API_GET_IP_BLACKLIST = \"/Configuration/GetIPBlackList\";\n\tstatic _API_GET_IP_BLACKLIST_BY_ID = \"/Configuration/GetIPBlackListById\";\n\tstatic _API_REMOVE_IP_BLACKLIST_BY_ID = \"/Configuration/DeleteIPBlackListById\";\n\tstatic _API_GET_LUCKY_NUMBERS = \"/Configuration/GetLuckyNumbers\";\n\tstatic _API_GET_VENDOR_ROLLOVER_TYPES = \"/Configuration/GetVendorRolloverTypes\";\n\tstatic _API_GET_APPEAL_TRANSACTION = \"/Configuration/GetAppealTransaction\";\n\tstatic _API_PROCESS_APPEAL_TRANSACTION = \"/Configuration/ProcessAppealTransaction\";\n\n\tstatic _API_GET_SET_SCORE_LIMIT_REPORT = \"/Report/GetSetScoreLimitReport\";\n\tstatic _API_GET_SET_SCORE_REPORT = \"/Report/GetSetScoreReport\";\n\tstatic _API_GET_AGENT_COMMISSION_REPORT = \"/Report/GetAgentCommissionReport\";\n\tstatic _API_GET_AGENT_COMMISSION_DETAIL_REPORT = \"/Report/GetAgentCommissionDetailReport\";\n\tstatic _API_GET_CLAIM_REWARD_REPORT = \"/Report/GetClaimRewardReport\";\n\tstatic _API_GET_MANAGER_LIMIT_REPORT = \"/Report/GetManagerLimitReport\";\n\tstatic _API_GET_SALES_REPORT = \"/Report/GetSalesReport\";\n\tstatic _API_GET_REWARD_SUMMARY_REPORT = \"/Report/GetRewardSummaryReport\";\n\tstatic _API_GET_REWARD_DETAIL_REPORT = \"/Report/GetRewardDetailReport\";\n\tstatic _API_GET_REWARD_RECORD_DATE_REPORT = \"/Report/GetRewardRecordDateReport\";\n\tstatic _API_GET_TURNOVER_REWARD_REPORT = \"/Report/GetRewardReportV2\";\n\tstatic _API_GET_TURNOVER_REWARD_DETAIL = \"/reward-history-detail/{historyId}\";\n\tstatic _API_GET_TURNOVER_REWARD_SUMMARY_REPORT = \"/Report/GetRewardSummaryReportV2\";\n\tstatic _API_GET_SHOP_EGHL_REPORT = \"/Report/shop-eghl\";\n\n\tstatic _API_GET_KIOSK_TIMEOUT_REPORT = \"/Report/GetKioskTimeoutReport\";\n\tstatic _API_GET_SHOP_MEMBER_DETAIL = \"/Report/GetShopMemberDetail\";\n\tstatic _API_GET_DAILY_TRANSACTION = \"/Report/GetDailyTransaction\";\n\tstatic _API_DISABLE_SET_LIMIT_DATA = \"/Report/DisableSetLimitData\";\n\tstatic _API_GET_TOPUP_TRANSACTION = \"/Report/GetTopUpTransaction\";\n\tstatic _API_GET_STRIKE_REPORT = \"/Report/GetStrikeReport\";\n\tstatic _API_CONFIRM_STRIKE = \"/Shop/ConfirmStrike\";\n\tstatic _API_UPDATE_BET_RESULT_HISTORY = \"/Shop/UpdateBetResultHistory\";\n\tstatic _API_GET_ROLLOVER_REPORT = \"/Report/GetRolloverReport\";\n\tstatic _API_GET_UPPER_LIMIT_WARNING_REPORT = \"/Report/GetUpperLimitWarningReport\";\n\tstatic _API_GET_CS_USED_LIMIT = \"/Report/cs-used-limit\";\n\n\tstatic _API_UPDATE_TOPUP_TRANSACTION = \"/Transaction/UpdateTopupTransaction\";\n\tstatic _API_VALIDATE_EWALLET_TRANSACTION = \"/validate-ewallet-transaction\";\n\tstatic _API_CREATE_EWALLET_TRANSACTION = \"/create-ewallet-transaction\";\n\n\tstatic _API_GET_SHOP_BY_REFERRAL_CODE = \"/Account/GetShopUserByReferralCode\";\n\n\tstatic _API_UPDATE_SHOP_REQUEST = \"/Account/UpdateShopRequest\";\n\n\tstatic _API_GET_CREDIT_TRANSFER_REPORT = \"/Report/GetCreditTransferReport\";\n\n\tstatic _API_GET_SHOP_LOGIN_REQUEST = \"/Configuration/GetShopLoginRequest\";\n\tstatic _API_UPDATE_SHOP_LOGIN_REQUEST = \"/Configuration/UpdateShopLoginRequest\";\n\n\tstatic _API_GET_SHOP_BY_VENDOR_ID = \"/Shop/GetShopByVendorId\";\n\n\tstatic _API_GET_STRIKE_DETAILS = \"/Report/GetStrikeDetails\";\n\tstatic _API_PERFORM_REWARD_CALCULATION = \"/Account/PerformRewardCalculation\";\n\tstatic _API_GET_INTERFACE_SHOP = \"/Account/GetInterfaceShop\";\n\tstatic _API_GET_SHOP_LIMIT_REQUEST_LOGS = \"/Shop/ShopLimitRequestLogs\";\n\n\tstatic _API_VENDOR_CATEGORY = \"/Vendor/category\";\n\tstatic _API_GET_SUPPORTED_LANGUAGE = \"/Configuration/GetLanguages\";\n\tstatic _API_ASSIGNED_VENDOR_CATEGORY = \"/Vendor/assign-category\";\n\n\tstatic _API_GET_RANK = \"/Configuration/rank\";\n\tstatic _API_CREATE_OR_UPDATE_RANK = \"/Configuration/rank\";\n\tstatic _API_RANK_VENDOR_RATE = \"/Configuration/rank-vendor-rate\";\n\n\tstatic _API_GET_NOTIFICATION_TYPE = \"Configuration/notification-template-type\";\n\tstatic _API_NOTIFICATION_TEMPLATE = \"Configuration/notification-template\";\n\tstatic _API_NOTIFICATION_ATTACHED_SHOP = \"Configuration/template-shop\";\n\n\tstatic _API_GET_USER_EXPERIENCE_HISTORY = \"Account/experience-history\";\n\tstatic _API_GET_MEMBER_DOWNLINE = \"Account/downlines\";\n\n\tstatic _API_ANNOUNCEMENT_EVENT = \"announcement-events\";\n\tstatic _API_GET_ANNOUNCEMENT_TYPE = \"announcement-events/types\";\n\tstatic _API_UPDATE_ANNOUNCEMENT_EVENT_STATUS = \"announcement-events/{id}/status\";\n\tstatic _API_UPDATE_ANNOUNCEMENT_EVENT_TYPE_STATUS = \"announcement-events/types/batch-status\";\n\tstatic _API_GET_TURNOVER_REPORT = \"/Report/GetTurnoverReport\";\n\n\tstatic _API_EVENT = \"/Event\";\n\tstatic _API_EVENT_PRIZE = \"/Event/Prize\";\n\tstatic _API_EVENT_PRIZE_TYPE = \"/Event/PrizeType\";\n\tstatic _API_COPY_EVENT = \"/copy-event\";\n\n\tstatic _API_FEEDBACK_CATEGORY = \"/Feedback/Category\";\n\tstatic _API_FEEDBACK_OPTION = \"/Feedback/Option\";\n\tstatic _API_MEMBER_FEEDBACK = \"/Feedback/member-feedback\";\n\tstatic _API_SHOP_FEEDBACK = \"/Feedback/shop-feedback\";\n\tstatic _API_FEEDBACK_REPLY = \"/Feedback/reply\";\n\n\tstatic _API_BANNER = \"Configuration/banner\";\n\n\tstatic _API_GET_KOG_RANKING = \"Kog\";\n\tstatic _API_GET_KOG_DETAIL = \"Kog/detail\";\n\tstatic _API_QUALIFY_KOG_DETAIL = \"Kog/qualification\";\n\tstatic _API_KOG_PRIZE_OWNER = \"Kog/event-prize-owner\";\n\tstatic _API_SEARCH_EVENT_PRIZE_WINNER = \"Kog/event-winner-search\";\n\tstatic _API_DISTRIBUTE_LUCKY_PRIZE = \"Kog/distribute-lucky-prize\";\n\n\tstatic _API_GET_ECREDIT_LOG = \"/Report/GetTransferCreditRegionalReport\";\n\n\tstatic _API_GET_PROMOTION_DETAILS_COUNT = \"/Promotion/GetPromotionDetailCount\";\n\n\tstatic _API_GET_USER_TRANSACTION_LOG = \"/Report/GetOverallTransaction\";\n\tstatic _API_GET_MEMBER_ROLLOVER_SUMMARY = \"/file/member-turnovers\";\n\tstatic _API_GET_MEMBER_ROLLOVER_DETAIL = \"/Account/turnover-detail\";\n\n\tstatic _API_GET_OVERALL_DOWNLINE = \"/Report/GetOverallDownline\";\n\tstatic _API_GET_RANK_SUMMARY = \"/Report/GetRankSummary\";\n\tstatic _API_DISTRIBUTE_PRIZE = \"kog/bulk-distribute-reward\";\n\tstatic _API_SINGLE_DISTRIBUTE = \"kog/claim-prize\";\n\n\tstatic _API_GET_API_LOG = \"/Report/GetApiLog\";\n\tstatic _API_GET_AGENT_NETPROFIT_REPORT = \"/Report/GetNetProfitReport\";\n\tstatic _API_GET_AGENT_WINLOSS_REPORT = \"/Report/GetAgentWinLoss\";\n\tstatic _API_GET_AGENT_WINLOSS_REPORT_2 = \"/Report/GetAgentWinLossV2\";\n\tstatic _API_GET_AGENT_WINLOSS_REPORT_DETAIL = \"/Report/GetAgentWinLossDetail\";\n\n\tstatic _API_KOG_BOT_MEMBER = \"/Kog/event-bot-member\";\n\tstatic _API_GET_LOTTO_SEAMLESS_SETTLEMENT_REPORT = \"/Report/GetLottoSeamlessSettlementReport\";\n\n\tstatic _API_GET_ONLINE_WITHDRAWAL_REQUEST = \"/Transaction/online-withdrawal\";\n\tstatic _API_PLAYER_SET_SCORE = \"/player/playerSetScore\";\n\n\tstatic _API_GET_PAYMENT_GATEWAY_TELCO = \"/Configuration/payment-gateway-rate-type\";\n\tstatic _API_UPDATE_MANAGER_LIMIT = \"/manager/update-limit\";\n\tstatic _API_UPDATE_MANAGER_THRESHOLD = \"/manager/update-threshold\";\n\tstatic _API_GET_MANAGER_LIMIT_TRANSACTION_REPORT = \"/manager/limit-transactions\";\n\tstatic _API_GET_SHOP_ATTACHED_VENDOR = \"/Shop/GetShopAttachedAppVendorApi\";\n\tstatic _API_GET_SHOP_CREATED_PLAYER = \"/Shop/GetShopPlayers\";\n\n\tstatic _API_FETCH_LOBBY_GAME_LIST = \"/vendor/:vendorId/games/fetch\";\n\tstatic _API_LOBBY_GAME = \"/vendor/games\";\n\tstatic _API_UPLOAD_GAME_LIST_FILE = \"/vendor/games/upload\";\n\tstatic _API_RESYNC_HIGH_BONUS_REWARD = \"/vendor/resync-high-bonus-reward\";\n\n\tstatic _API_GET_THIRD_PARTY = \"/Configuration/third-party-program\";\n\tstatic _API_GET_THIRD_PARTY_API = \"/Configuration/third-party-program/api\";\n\tstatic _API_ATTACH_THIRD_PARTY_API_SHOP = \"/Configuration/third-party-program/api/attach\";\n\tstatic _API_ATTACHED_THIRD_PARTY_API_SHOP_LIST = \"/Configuration/third-party-program/shop\";\n\tstatic _API_AVAILABLE_THIRD_PARTY_API_SHOP_LIST = \"/Configuration/third-party-program/available-shop\";\n\n\tstatic _API_CLAIM_LUCKY_SPIN_PRIZE = \"/Promotion/ClaimLuckySpinPrize\";\n\n\tstatic _API_GET_BONUSES = \"/Configuration/bonuses\";\n\tstatic _API_CREATE_OR_UPDATE_BONUSES = \"/Configuration/bonus\";\n\tstatic _API_BONUS_UNLOCK_CHECK = \"/Account/bonus-unlock\";\n\tstatic _API_BONUS_ATTACH_SHOP = \"/Configuration/bonus/{id}/assign\";\n\tstatic _API_BONUS_ATTACH_SHOP = \"/Configuration/bonus/{id}/assign\";\n\tstatic _API_BONUS_AVAILABLE_SHOPS = \"/Configuration/bonus/{id}/available-shops\";\n\tstatic _API_BONUS_SHOPS = \"/Configuration/bonus/{id}/shops\";\n\tstatic _API_GET_WELCOME_BONUS_DETAIL = \"/Configuration/welcome-bonus-summary\";\n\n\tstatic _API_GET_MEMBER_NOTES = \"/Shop/GetMemberNotes\";\n\tstatic _API_SAVE_MEMBER_NOTES = \"/Shop/CreateOrUpdateMemberNotes\";\n\tstatic _API_SHOP_UPDATE_USER_STATUS = \"/Shop/ShopUpdateUserStatus\";\n\n\tstatic _API_GET_USER_GROWTH_REPORT = \"/Report/GetUserGrowthReport\";\n\tstatic _API_GET_USER_GROWTH_MEMBER = \"/Report/GetUserGrowthMember\";\n\n\t// Shop eGHL API\n\tstatic _API_GET_SERVICE_CATEGORY = '/Eghl/GetServicesCategory';\n static _API_GET_SERVICE_SUBCATEGORY = '/Eghl/GetServicesSubcategory';\n static _API_GET_SERVICE_DETAIL = '/Eghl/GetServicesSubcategoryList';\n static _API_CREATE_EGHL_TRANSACTION = '/Eghl/CreateEghlTransaction';\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// Url to navigate to pages\n/// \nexport class WebUrl {\n\tstatic _URL_MAIN = \"/\";\n\tstatic _URL_LOGIN = \"/login\";\n\tstatic _URL_DASHBOARD = \"/dashboard\";\n\tstatic _URL_ADMIN_MANAGE_VENDOR = \"/admin/manageVendor\";\n\tstatic _URL_ADMIN_VENDOR_DETAIL = \"/admin/vendorDetails\";\n\tstatic _URL_ADMIN_MANAGE_VENDOR_API = \"/admin/manageVendorApi\";\n\tstatic _URL_ADMIN_VENDOR_API_DETAIL = \"/admin/vendorApiDetails\";\n\n\tstatic _URL_SHOP_RELOAD = \"/shop/reload\";\n\tstatic _URL_SHOP_CLAIM_BONUS = \"/shop/claimBonus\";\n\tstatic _URL_SHOP_SEARCH = \"/shop/search\";\n\tstatic _URL_SHOP_BLOCK_PUK = \"/shop/blockPuk\";\n\tstatic _URL_SHOP_MEMBER_DETAILS = \"/shop/memberDetails\";\n\tstatic _URL_SHOP_REPORT = \"/shop/report\";\n\tstatic _URL_SHOP_PLAYER_RELOAD = \"/shop/playerReload\";\n\tstatic _URL_SHOP_TRANSACTION_REQUEST = \"/shop/transactionRequest\";\n\tstatic _URL_SHOP_EGHL_RELOAD = \"/shop/eghl\";\n\n\tstatic _URL_SYSTEM_SETTINGS = \"/systemSettings\";\n\tstatic _URL_SMS_SETTINGS = \"/smsSettings\";\n\tstatic _URL_SMS_DETAILS = \"/smsSetails\";\n\n\tstatic _URL_SHOP_REGISTER_MEMBER = \"/shop/registerMember\";\n\tstatic _URL_SHOP_REGISTER_PLAYER = \"/shop/registerPlayer\";\n\tstatic _URL_SHOP_AGENT_COMMISSION_REPORT = \"/shop/agentCommissionReport\";\n\tstatic _URL_SHOP_CREDIT_TOPUP_REPORT = \"/shop/creditTopupReport\";\n\tstatic _URL_SHOP_CREDIT_TRANSFER_REPORT = \"/shop/creditTransferReport\";\n\n\tstatic _URL_ADMIN_MANAGE_ROLE = \"/admin/manageRole\";\n\tstatic _URL_ADMIN_ROLE_DETAIL = \"/admin/roleDetail\";\n\n\tstatic _URL_ADMIN_MANAGE_ADMIN = \"/admin/manageAdmin\";\n\tstatic _URL_ADMIN_ADMIN_DETAIL = \"/admin/adminDetail\";\n\tstatic _URL_ADMIN_MANAGE_SHOP = \"/admin/manageShops\";\n\tstatic _URL_ADMIN_MANAGE_AGENT = \"/admin/manageAgents\";\n\tstatic _URL_ADMIN_CREATE_OR_UPDATE_AGENT = \"/admin/AgentDetail\";\n\tstatic _URL_ADMIN_AGENT_VENDOR_API_DETAILS = \"/admin/Agent/VendorApiDetails\";\n\tstatic _URL_ADMIN_MANAGE_CUSTOMER_SERVICE = \"/admin/manageCustomerService\";\n\tstatic _URL_ADMIN_MANAGE_SHOP_API = \"/admin/manageShopApis\";\n\tstatic _URL_ADMIN_CREATE_OR_UPDATE_SHOP = \"/admin/ShopDetail\";\n\tstatic _URL_ADMIN_MANAGE_MEMBER = \"/admin/manageMember\";\n\tstatic _URL_ADMIN_CREATE_OR_UPDATE_MEMBER = \"/admin/MemberDetail\";\n\tstatic _URL_ADMIN_MANAGE_MEMBER_PLAYER = \"/admin/ManageMemberPlayer\";\n\tstatic _URL_ADMIN_CREATE_OR_UPDATE_CUSTOMER_SERVICE = \"/admin/CustomerServiceDetail\";\n\n\tstatic _URL_ADMIN_MANAGE_SHOP_MESSAGE = \"/admin/manageShopMessage\";\n\tstatic _URL_ADMIN_SHOP_MESSAGE_DETAIL = \"/admin/shopMessageDetail\";\n\tstatic _URL_ADMIN_MANAGE_SYSTEM_MESSAGE = \"/admin/manageSystemMessage\";\n\tstatic _URL_ADMIN_SYSTEM_MESSAGE_DETAIL = \"/admin/systemMessageDetail\";\n\tstatic _URL_ADMIN_MANAGE_PHONE_MESSAGE = \"/admin/managePhoneMessage\";\n\tstatic _URL_ADMIN_PHONE_MESSAGE_DETAIL = \"/admin/phoneMessageDetail\";\n\tstatic _URL_ADMIN_VIEW_ANNOUNCEMENT = \"/admin/viewAnnouncement\";\n\n\tstatic _URL_ADMIN_MANAGE_MANAGER = \"/admin/manageManager\";\n\tstatic _URL_ADMIN_MANAGER_DETAIL = \"/admin/managerDetails\";\n\n\tstatic _URL_ADMIN_OPERATION_LOG = \"/admin/operationLog\";\n\tstatic _URL_ADMIN_MANAGE_PLAYER = \"/admin/managePlayer\";\n\tstatic _URL_ADMIN_PLAYER_DETAIL = \"/admin/playerDetails\";\n\tstatic _URL_PROMOTION_MANAGE_SPIN_PROMOTION = \"/promotion/manageLuckySpin\";\n\tstatic _URL_PROMOTION_MANAGE_SPIN_PROMOTION_DETAIL = \"/promotion/LuckySpinDetail\";\n\n\tstatic _URL_MANAGE_LUCKY_NUMBER = \"/admin/manageLuckyNumber\";\n\tstatic _URL_ADMIN_MANAGE_MINI_PROGRAM = \"/admin/manageMiniProgram\";\n\tstatic _URL_ADMIN_MINI_PROGRAM_DETAIL = \"/admin/miniProgramDetail\";\n\tstatic _URL_ADMIN_MANAGE_PAYMENT_GATEWAY = \"/admin/managePaymentGateway\";\n\tstatic _URL_ADMIN_CREATE_OR_UPDATE_PAYMENT_GATEWAY = \"/admin/paymentGatewayDetail\";\n\tstatic _URL_PROMOTION_MANAGE_PROMOTION = \"/promotion/manageBonuns\";\n\tstatic _URL_PROMOTION_MANAGE_PROMOTION_DETAIL = \"/promotion/manageBonusDetail\";\n\n\tstatic _URL_ADMIN_MANAGE_IP_BLACKLIST = \"/admin/manageIPBlackList\";\n\tstatic _URL_ADMIN_MANAGE_SHOP_LOGIN = \"/manageShopLogin\";\n\n\tstatic _URL_SET_LIMIT_REPORT = \"/setLimitReport\";\n\tstatic _URL_SET_SCORE_REPORT = \"/setScoreReport\";\n\tstatic _URL_SALES_REPORT = \"/salesReport\";\n\tstatic _URL_REWARD_REPORT = \"/rewardReport\";\n\tstatic _URL_TURNOVER_REWARD_REPORT = \"/turnoverRewardReport\";\n\tstatic _URL_CLAIM_REWARD_REPORT = \"/claimRewardReport\";\n\tstatic _URL_MANAGER_LIMIT_REPORT = \"/managerLimitReport\";\n\tstatic _URL_KIOSK_TIMEOUT_REPORT = \"/kioskTimeoutReport\";\n\tstatic _URL_AGENT_COMMISSION_REPORT = \"/agentCommissionReport\";\n\tstatic _URL_AGENT_NETPROFIT_REPORT = \"/agentNetProfitReport\";\n\tstatic _URL_SHOP_VIEW_ANNOUNCEMENT = \"/viewShopAnnouncement\";\n\tstatic _URL_TOPUP_REPORT = \"/topUpReport\";\n\tstatic _URL_CREDIT_TRANSFER_REPORT = \"/creditTransferReport\";\n\tstatic _URL_STRIKE_REPORT = \"/strikeReport\";\n\tstatic _URL_MANAGE_APPEAL_TRANSACTION = \"/appealTransaction\";\n\tstatic _URL_MANAGE_ROLLOVER_REPORT = \"/admin/manageRolloverReport\";\n\tstatic _URL_MANAGE_UPPER_LIMIT_WARNING_REPORT = \"/admin/manageUpperLimitWinningReport\";\n\tstatic _URL_SHOP_LIMIT_APPROVAL_REPORT = \"/shopLimitApprovalReport\";\n\n\tstatic _URL_ADMIN_MANAGE_VENDOR_CATEGORY = \"/admin/manageVendorCategory\";\n\tstatic _URL_ADMIN_VENDOR_CATEGORY_DETAIL = \"/admin/vendorCategoryDetails\";\n\n\tstatic _URL_ADMIN_MANAGE_RANK = \"/admin/rank\";\n\tstatic _URL_ADMIN_RANK_DETAIL = \"/admin/rankDetails\";\n\n\tstatic _URL_NOTIFICATION_SETTINGS = \"/notificationSettings\";\n\tstatic _URL_NOTIFICATION_DETAILS = \"/notificationDetails\";\n\n\tstatic _URL_USER_EXPERIENCE_REPORT = \"/userExperienceReport\";\n\tstatic _URL_ADMIN_MANAGE_MEMBER_DOWNLINE = \"/manageMemberDownline\";\n\n\tstatic _URL_ADMIN_MANAGE_APP_ANNOUNCEMENT = \"/manageAppAnnouncement\";\n\tstatic _URL_ADMIN_MANAGE_APP_ANNOUNCEMENT_DETAIL = \"/appAnnouncementDetail\";\n\n\tstatic _URL_ADMIN_MANAGE_KOG_EVENT = \"/manageKOGEvent\";\n\tstatic _URL_ADMIN_MANAGE_KOG_EVENT_DETAIL = \"/kogEventDetail\";\n\tstatic _URL_ADMIN_KOG_EVENT_RANKING = \"/kogEventRanking\";\n\n\tstatic _URL_TURNOVER_REPORT = \"/admin/turnoverReport\";\n\n\tstatic _URL_FEEDBACK_SETTINGS = \"/admin/feedbackSettings\";\n\tstatic _URL_MEMBER_FEEDBACK_REPORT = \"/admin/memberFeedbackReport\";\n\tstatic _URL_SHOP_FEEDBACK_REPORT = \"/admin/shopFeedbackReport\";\n\n\tstatic _URL_ADMIN_MANAGE_BANNER = \"/manageBanner\";\n\tstatic _URL_ADMIN_MANAGE_BANNER_DETAIL = \"/manageBannerDetail\";\n\n\tstatic _URL_MEMBER_ECREDIT_LOG = \"/memberEcreditTransferLog\";\n\tstatic _URL_REGION_ECREDIT_LOG = \"/regionEcreditTransferLog\";\n\n\tstatic _URL_VIEW_USER_ACTION_LOG = \"/viewUserActionLog\";\n\tstatic _URL_VIEW_USER_TRANSACTION_LOG = \"/viewUserTransactionLog\";\n\tstatic _URL_LUCKY_SPIN_WINNER = \"/lucky-spin-winner\";\n\tstatic _URL_KOG_WINNER = \"/kog-winner\";\n\n\tstatic _URL_ADMIN_OVERALL_DOWNLINE_REPORT = \"/overallDownlineReport\";\n\tstatic _URL_ADMIN_RANK_SUMMARY_REPORT = \"/rankSummary\";\n\n\tstatic _URL_API_LOG = \"/api-log\";\n\tstatic _URL_AGENT_WINLOSS_REPORT = \"/agentWinlossReport\";\n\tstatic _URL_AGENT_WINLOSS_REPORT_2 = \"/agentWinlossReport2\";\n\tstatic _URL_LOTTO_SEAMLESS_SETTLEMENT_REPORT = \"/lottoSeamlessSettlementReport\";\n\tstatic _URL_ADMIN_KOG_VIP_MEMBER = \"/kogManageVipUser\";\n\n\tstatic _URL_ONLINE_WITHDRAWAL_REQUEST = \"/online-withdrawal-request\";\n\tstatic _URL_MANAGER_LIMIT_TRANSACTION_REPORT = \"/manager-limit-transaction-report\";\n\n\tstatic _URL_SHOP_PLAYER_CREATION_REPORT = \"/shop/player-creation-report\";\n\n\tstatic _URL_MANAGE_THIRD_PARTY = \"/admin/third-party/management\";\n\tstatic _URL_THIRD_PARTY_DETAIL = \"/admin/third-party/detail\";\n\tstatic _URL_MANAGE_THIRD_PARTY_API = \"/admin/third-party-api/management\";\n\tstatic _URL_THIRD_PARTY_API_DETAIL = \"/admin/third-party-api/detail\";\n\tstatic _URL_MANAGE_WELCOME_BONUS = \"/admin/configuration/manage-welcome-bonus\";\n\tstatic _URL_USER_GROWTH_REPORT = \"/admin/user-growth-report\";\n\tstatic _URL_SHOP_EGHL_REPORT = \"/admin/shop-eghl-report\";\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport class Status {\n\tstatic _ENABLED = 1;\n\tstatic _DISABLED = 0;\n\tstatic _DELETED = 2;\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// this value needed to be tally to value in server, do not change recklessly\n/// \nexport class AccessRight {\n\tstatic _ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION = \"Admin Sub Account Control\";\n\tstatic _MEMBER_CONTROL_PERMISSION = \"Member Control\";\n\tstatic _PLAYER_CONTROL_PERMISSION = \"Player Control\";\n\tstatic _CUSTOMER_SERVICE_CONTROL_PERMISSION = \"Customer Service Control\";\n\tstatic _SHOP_CONTROL_PERMISSION = \"Shop Control\";\n\tstatic _MANAGER_CONTROL_PERMISSION = \"Manager Control\";\n\tstatic _GAME_VENDOR_CONTROL_PERMISSION = \"Game Vendor Control\";\n\tstatic _ANNOUNCEMENT_CONTROL_PERMISSION = \"Announcement Control\";\n\tstatic _PROMOTION_CONTROL_PERMISSION = \"Promotion Control\";\n\tstatic _SYSTEM_SETTING_CONTROL_PERMISSION = \"System Setting Control\";\n\tstatic _SMS_SETTING_CONTROL_PERMISSION = \"Sms Setting Control\";\n\tstatic _SET_SCORE_REPORT_PERMISSION = \"Set Score Report\";\n\tstatic _AGENT_COMM_REPORT_PERMISSION = \"Agent Comm Report\";\n\tstatic _SET_LIMIT_REPORT_PERMISSION = \"Set Limit Report\";\n\tstatic _REWARD_REPORT_PERMISSION = \"Reward Report\";\n\tstatic _SALES_REPORT_PERMISSION = \"Sales Report\";\n\tstatic _MANAGER_LIMIT_REPORT_PERMISSION = \"Manager Limit Report\";\n\tstatic _KIOSK_TIMEOUT_REPORT_PERMISSION = \"Kiosk Timeout Report\";\n\tstatic _TOP_UP_REPORT_PERMISSION = \"Top Up Report\";\n\tstatic _STRIKE_REPORT_PERMISSION = \"Strike Report\";\n\tstatic _MINI_PROGRAM_CONTROL_PERMISSION = \"Mini Program Control\";\n\tstatic _ACCESS_LEVEL_CONTROL_PERMISSION = \"Access Level Control\";\n\tstatic _OPERATIONAL_LOG_CONTROL_PERMISSION = \"Operational Log Control\";\n\tstatic _DASHBOARD_CONTROL_PERMISSION = \"Dashboard Control\";\n\tstatic _LUCKY_NUMBER_CONTROL_PERMISSION = \"Lucky Number Control\";\n\tstatic _REWARD_CALCULATION_CONTROL_PERMISSION = \"Reward Calculation Control\";\n\tstatic _READ_PERMISSION_STRING = \"(READ)\";\n\tstatic _WRITE_PERMISSION_STRING = \"(WRITE)\";\n\tstatic _READ_BIT_POSITION = 1;\n\tstatic _WRITE_BIT_POSITION = 0;\n\tstatic _CREDIT_TRANSFER_REPORT_PERMISSION = \"Credit Transfer Report\";\n\tstatic _SHOP_LOGIN_CONTROL_PERMISSION = \"Shop Login Control\";\n\tstatic _APPEAL_TRANSACTION_CONTROL_PERMISSION = \"Appeal Transaction Control\";\n\tstatic _ROLLOVER_REPORT_CONTROL_PERMISSION = \"Rollover Report Control\";\n\tstatic _UPPER_LIMIT_REPORT_CONTROL_PERMISSION = \"Upper Limit Report Control\";\n\tstatic _SET_SHOP_LIMIT_APPROVAL_CONTROL_PERMISSION = \"Set Shop Limit Approval Control\";\n\tstatic _RANK_CONTROL_PERMISSION = \"Rank Control\";\n\tstatic _ANNOUNCEMENT_EVENT_CONTROL = \"Announcement Event Control\";\n\tstatic _EVENT_CONTROL_PERMISSION = \"Event Control\";\n\tstatic _TURNOVER_REPORT_CONTROL_PERMISSION = \"Turnover Report Control\";\n\tstatic _FEEDBACK_CONTROL_PERMISSION = \"Feedback Control\";\n\tstatic _BANNER_CONTROL_PERMISSION = \"Banner Control\";\n\tstatic _OVERALL_DOWNLINE_REPORT_PERMISSION = \"Overall Downline Report\";\n\tstatic _RANK_SUMMARY_REPORT_PERMISSION = \"Rank Summary Report\";\n\tstatic _AGENT_CONTROL_PERMISSION = \"Agent Control\";\n\tstatic _AGENT_NETPROFIT_PERMISSION = \"Agent Net Profit Report\";\n\tstatic _ONLINE_WITHDRAWAL_PERMISSION = \"Online Withdrawal\";\n\tstatic _REVERT_ONLINE_WITHDRAWAL_PERMISSION = \"Revert Online Withdrawal\";\n\tstatic _MANAGER_LIMIT_CONTROL_PERMISSION = \"Manager Limit Control\";\n\tstatic _USER_GROWTH_REPORT_PERMISSION = \"User Growth Report\";\n\tstatic _SHOP_EGHL_REPORT_PERMISSION = \"Shop Eghl Report\";\n}\n\n/// \n/// Author : CK\n/// \nexport class SearchMemberAction {\n\tstatic _RELOAD_ACTION = \"RELOAD_ACTION\";\n\tstatic _BLOCK_DELETE_ACTION = \"BLOCK_DELETE_ACTION\";\n}\n\n/// \n/// Author : CK\n/// \nexport class Language {\n\tstatic _CHINESE = \"cn\";\n\tstatic _ENGLISH = \"en\";\n\tstatic _BAHASA_MELAYU = \"bm\";\n}\n\n/// \n/// Author : CK\n/// \nexport class SessionKey {\n\tstatic _LANGUAGE = \"language\";\n\tstatic _LOGIN_GUID = \"loginGuid\";\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport class Role {\n\tstatic _SUPER_ADMIN = 1;\n\tstatic _SHOP = 2;\n\tstatic _MANAGER = 3;\n\tstatic _MEMBER = 4;\n\tstatic _ADMIN_SUB_ACCOUNT = 0;\n\tstatic _AGENT = 20;\n}\n\n/// \n/// Author: CK\n/// \nexport class InputValidationKey {\n\tstatic _REQUIRED_KEY = \"required\";\n\tstatic _MAX_LENGTH_KEY = \"maxLength\";\n\tstatic _MIN_LENGTH_KEY = \"minLength\";\n\tstatic _MIN_KEY = \"min\";\n\tstatic _MAX_KEY = \"max\";\n\tstatic _PATTERN = \"pattern\";\n}\n\n/// \n/// Author: Chris\n/// \nexport class AlertTypes {\n\tstatic _DEFAULT = \"default\";\n\tstatic _INFO = \"info\";\n\tstatic _SUCCESS = \"success\";\n\tstatic _WARNING = \"warning\";\n\tstatic _DANGER = \"danger\";\n\tstatic _ERROR = \"error\";\n\tstatic _INPUT = \"input\";\n\tstatic _CUSTOM = \"custom\";\n}\n\n/// \n/// Author: Chris\n/// \nexport class FilterStatus {\n\tstatic _ACTIVE = 1;\n\tstatic _DELETED = 2;\n\tstatic _SUSPENDED = 0;\n}\n\n/// \n/// Author: Chris\n/// \nexport class ShopSettings {\n\tstatic _MEMBER = \"member\";\n\tstatic _PLAYER = \"player\";\n\tstatic _RELOAD = \"reload\";\n}\n\n/// \n/// Author: Wind\n/// this is match db value, do not change\n/// \nexport class SettingType {\n\tstatic _SETTING_TYPE_GENERAL = 1;\n\tstatic _SETTING_TYPE_BROADCAST = 2;\n\tstatic _SETTING_TYPE_REWARD_ROLLOVER_FACTOR = 3;\n\tstatic _SETTING_TYPE_MEMBER_SETTING = 4;\n\tstatic _SETTING_TYPE_SMS = 5;\n}\n\n/// \n/// Author: YJ\n/// this is match db value, do not change\n/// \nexport class AnnouncementType {\n\tstatic _ANNOUNCEMENT_TYPE_WEB = 1;\n\tstatic _ANNOUNCEMENT_TYPE_SHOP = 2;\n\tstatic _ANNOUNCEMENT_TYPE_PHONE = 3;\n}\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nexport class LoginType {\n\tstatic _LOGIN_TYPE_SHOP = 2;\n\tstatic _LOGIN_TYPE_ADMIN = 1;\n}\n\n/// \n/// Author: YJ\n/// \nexport class ProcessedAnnouncementStatus {\n\tstatic _PROCESSED_ANNOUNCEMENT_DRAFT = 1;\n\tstatic _PROCESSED_ANNOUNCEMENT_CANCELLED = 2;\n\tstatic _PROCESSED_ANNOUNCEMENT_IN_PROGRESS = 3;\n\tstatic _PROCESSED_ANNOUNCEMENT_COMPLETED = 4;\n\tstatic _PROCESSED_ANNOUNCEMENT_BROADCAST_CANCELLED = 5;\n}\n\n/// \n/// Author: Nelson\n/// \nexport class PrizeType {\n\tstatic _PRIZE_TYPE_REBATE = 1;\n\tstatic _PRIZE_TYPE_CASH = 2;\n\tstatic _PRIZE_TYPE_REWARD = 3;\n\tstatic _PRIZE_TYPE_PRIZE = 4;\n}\n\n/// \n/// Author: CK\n/// this is match db value, do not change\n/// \nexport class SystemSettingName {\n\tstatic _CHANGE_MEMBER_CARD_ID_PENALTY_COUNT = \"changeMemberCardIdPenaltyCount\";\n\tstatic _CHANGE_MEMBER_CARD_ID_PENALTY = \"changeMemberCardIdPenalty\";\n}\n\n/// \n/// Author: CK\n/// this is match db value, do not change\n/// \nexport class TransactionType {\n\tstatic _BONUS_CLAIM = \"BONUS_CLAIM\";\n\tstatic _REWARD_CLAIM = \"REWARD_CLAIM\";\n\tstatic _SET_LIMIT = \"SET_LIMIT\";\n\tstatic _SET_SCORE = \"SET_SCORE\";\n\tstatic _WALLET_TRANSFER = \"WALLET_TRANSFER\";\n\tstatic _TOP_UP_GPAY = \"TOPUP_GPAY\";\n\tstatic _TOP_UP_GPAY_DUITNOW = \"TOPUP_GPAY_DUITNOW\";\n\tstatic _TOP_UP_EGHL = \"TOPUP_EGHL\";\n\tstatic _TOP_UP_E_WALLET = \"TOPUP_MXPAY_EWALLET\";\n\tstatic _TOPUP_GPAY_DUITNOW = \"TOPUP_GPAY_DUITNOW\";\n\tstatic _SEAMLESS_SET_CREDIT = \"SEAMLESS_SET_CREDIT\";\n\tstatic _ONLINE_WITHDRAWAL = \"ONLINE_WITHDRAWAL\";\n\tstatic _VENDING_MACHINE = \"VENDING_MACHINE\";\n\tstatic _MOBILE_PIN_TOPUP = \"WIN_PAY\";\n\tstatic _KINGPAY_DUITNOW = \"KINGPAY_DUITNOW\";\n\tstatic _PASSWORD_RESET = \"PASSWORD_RESET\";\n\tstatic _REGISTER_BONUS = \"REGISTER_BONUS\";\n\tstatic _SHOP_EGHL_LIMIT = \"SHOP_EGHL\";\n}\n\n/// \n/// Author: YJ\n/// this is match db value, do not change\n/// \nexport class RegionId {\n\tstatic _AGENT = 1;\n\tstatic _EAST = 2;\n\tstatic _ALL = 3;\n\tstatic _MIDDLE = 4;\n\tstatic _NORTH = 5;\n\tstatic _SOUTH = 6;\n}\n\n/// \n/// Author: YJ\n/// this is match db value, do not change\n/// \nexport class TopUpStatus {\n\tstatic _PENDING = 0;\n\tstatic _SUCCESS = 1;\n\tstatic _FAILED = 2;\n\tstatic _PENDING_APPROVAL = 3;\n}\n\n/// \n/// Author: Nelson\n/// \nexport class CommonStatus {\n\tstatic _ALL_STATUS = -1;\n\tstatic _PENDING_STATUS = 0;\n\tstatic _APPROVE_STATUS = 1;\n\tstatic _REJECT_STATUS = 2;\n\tstatic _INACTIVE_STATUS = 3;\n}\n\n/// \n/// Author: YJ\n/// dont simply change, it is match db record\n/// \nexport class TransactionTypeId {\n\tstatic _BONUS_CLAIM = 1;\n\tstatic _REWARD_CLAIM = 2;\n\tstatic _SET_LIMIT = 3;\n\tstatic _SET_SCORE = 4;\n\tstatic _WALLET_TRANSFER = 5;\n\tstatic _TOP_UP_GPAY = 6;\n\tstatic _TOP_UP_EGHL = 7;\n\tstatic _TOP_UP_MXPAY_EWALLET = 8;\n\tstatic _TOP_UP_GPAY_DUITNOW = 9;\n\tstatic _SEAMLESS_SET_CREDIT = 10;\n}\n\n/// \n/// Author: YJ\n/// \nexport class CustomResponseCode {\n\tstatic _ROLLOVER_APPEAL_REQUIRED = 222;\n}\n\n/// \n/// Author: YJ\n/// \nexport class Theme {\n\tstatic _EPAY = \"ePay\";\n\tstatic _OREN = \"Oren\";\n\tstatic _MANTAP = \"Mantap\";\n}\n\n/// \n/// Author: YJ\n/// \nexport class TransactionRequestStatus {\n\tstatic _PENDING = 0;\n\tstatic _SUCCESS = 1;\n\tstatic _REJECTED = 2;\n\tstatic _EXPIRED = 3;\n\tstatic _PENDING_PASSWORD_CONFIRMATION = 4;\n}\n\n/// \n/// Author: YJ\n/// \nexport class FirebaseKey {\n\tstatic _TRANSACTION_REQUEST = \"TransactionRequest-\";\n}\n\n/// \n/// Author: CK\n/// \nexport class UPPER_LIMIT_WARNING_LEVEL {\n\tstatic _NONE = 1;\n\tstatic _REACH_LIMIT = 2;\n\tstatic _EXCEED_LIMIT = 3;\n\tstatic _BELOW_LIMIT = 4;\n\tstatic _REACH_ZERO = 5;\n\tstatic _ALL_HIT_LIMIT = -1;\n}\n\n/// \n/// Author: Wind\n/// \nexport class NotificationTag {\n\tstatic _NOTIFICATION_TEMPLATE_TAG_EXPERIENCE = \"experience\";\n\tstatic _NOTIFICATION_TEMPLATE_TAG_INACTIVE_PERIOD = \"period\";\n\tstatic _NOTIFICATION_TEMPLATE_TAG_RANK = \"rank\";\n\tstatic _NOTIFICATION_TEMPLATE_TAG_RANK_IMAGE = \"rankImage\";\n}\n\n/// \n/// Author: Wind\n/// \nexport class AnnouncementEventTypeId {\n\tstatic _WITHDRAW = 1;\n\tstatic _WITHDRAW_WITH_FAKE = 2;\n\tstatic _DEPOSIT_WITH_FAKE = 3;\n\tstatic _LUCKY_SPIN = 4;\n\tstatic _LUCKY_SPIN_WITH_FAKE = 5;\n\tstatic _USER_DEFINED = 6;\n}\n\n/// \n/// Author: Wind\n/// \nexport class AnnouncementTag {\n\tstatic _USERNAME = \"username\";\n\tstatic _PRICE_NAME = \"priceName\";\n\tstatic _AMOUNT = \"amount\";\n}\n\n/// \n/// Author : CK\n/// \nexport class ValidationPattern {\n\tstatic _EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\tstatic _PHONE_NUMBER_REGEX = /^(\\+?6?01)[0|1|2|3|4|6|7|8|9]\\-*[0-9]{7,8}$/;\n\tstatic _NUMBER_REGEX = /^([1-9]|[1-9][0-9]|[1-9][0-9]*)$/;\n\tstatic _DECIMAL_REGEX = /^[1-9][0-9]*(\\.\\d{1,2})?$|^[0](\\.\\d{1,2})?$/;\n\tstatic _DIGIT_REGEX = /^\\d+$/;\n\tstatic _ALPHABETIC_REGEX = /^[a-zA-Z ]+$/;\n\tstatic _STANDARD_REGEX = /^[A-Za-z0-9!@#$%^&*()_+}{\":?><';,.~ /`|\\\\]*$/;\n\tstatic _IC_NUMBER_REGEX = /^(([[0-9]{2})(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01]))([0-9]{2})([0-9]{4})$/;\n\tstatic _PASSPORT_NUMBER_REGEX = /^[A-Za-z]{1,2}[0-9]{6,9}[A-Za-z]{0,1}$/;\n\tstatic _ALPHANUMBERIC_REGEX = /^[0-9a-zA-Z ]+$/;\n}\n\n/// \n/// Author: Wind\n/// \nexport class EventStatus {\n\tstatic _PAUSE = 0;\n\tstatic _START = 1;\n\tstatic _PENDING = 2;\n\tstatic _END = 3;\n}\n\n/// \n/// Author: CK\n/// \nexport class OverallTransactionTypeId {\n\tstatic _ONLINE_BANKING = 1;\n\tstatic _SHOP_SET_SCORE = 2;\n\tstatic _SHOP_SET_CREDIT = 3;\n\tstatic _SEND_CREDIT = 4;\n\tstatic _CONVERT_TO_CREDIT = 5;\n\tstatic _CONVERT_TO_SCORE = 6;\n\tstatic _TRANSFER_SCORE = 7;\n\tstatic _REWARD_TO_CREDIT = 8;\n\tstatic _EGHL = 9;\n\tstatic _E_WALLET_MXPAY = 10;\n\tstatic _DUITNOW = 11;\n\tstatic _PASSWORD_RESET= 12;\n\tstatic _ONLINE_WITHDRAWAL = 13;\n}\n\n/// \n/// Author: CK\n/// \nexport class PaymentGatewayType {\n\tstatic _ONLINE_BANKING_GPAY = 1;\n\tstatic _E_WALLET_MXPAY = 2;\n\tstatic _DUITNOW_GPAY = 3;\n\tstatic _VENDING_MACHINE = 4;\n\tstatic _WINPAY = 5;\n\tstatic _KINGPAY_DUITNOW = 6;\n}\n\n/// \n/// Author : A\n/// \nexport class PackageType {\n\tstatic _NORMAL = 0;\n\tstatic _GD = 1;\n}\n\n/// \n/// Author : A\n/// \nexport class PackagePayRateType {\n\tstatic _BASE = 0;\n\tstatic _CUSTOM = 1;\n}\n\n/// \n/// Author : A\n/// \nexport class ReportType {\n\tstatic _ALL = -1;\n\tstatic _SHOP = Role._SHOP;\n\tstatic _AGENT = Role._AGENT;\n}\n\n/// \n/// Author : A\n/// \nexport class BannerType {\n\tstatic _KOG = { key: 0, value: \"KOG\" };\n\tstatic _HOME = { key: 1, value: \"HOME\" };\n}\n\n/// \n/// Author : Wind\n/// \nexport const _PRINT_DELIMITER = \"|\";\n\n/// \n/// Author : Wind\n/// \nexport class OnlineWithdrawalStatus {\n\tstatic _SYSTEM_REJECTED = -2;\n\tstatic _REJECTED = -1;\n\tstatic _PENDING = 0;\n\tstatic _PENDING_APPROVAL = 1;\n\tstatic _SUCCESS = 2;\n}\n\n/// \n/// Author : Wind\n/// \nexport class ManagerTransactionType {\n\tstatic _MANAGER_LIMIT = 1;\n\tstatic _SHOP_LIMIT = 2;\n}\n\n/// \n/// Author : YJ\n/// \nexport class EventCalculationMethod {\n\tstatic _NORMAL = 1;\n\tstatic _WIN_DIVIDE_BET = 2;\n}\n\nexport const _SYSTEM_SUPPORT_ROLE_NAME = \"System Support\";\n\n/// \n/// Author : CK\n/// \nexport class ViewDataType {\n\tstatic _ALL = 0;\n\tstatic _JACKPOT = 1;\n\tstatic _BONUS = 2;\n}\n\n/// \n/// Author : YJ\n/// \nexport class ShopEghlTransactionType {\n\tstatic _USED = 1;\n\tstatic _SET = 2;\n}\n\n/// \n/// Author : YJ\n/// \nexport class ShopEghlTransactionStatus {\n\tstatic _PENDING = 0;\n\tstatic _SUCCESS = 1;\n\tstatic _FAILED = 2;\n}","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport { Language, SessionKey } from \"../util/Constant\";\n\nimport common_en from \"./en/common.json\";\nimport common_cn from \"./cn/common.json\";\nimport common_bm from \"./bm/common.json\";\n\n/// \n/// Author: CK\n/// \nconst _resources = {};\n_resources[Language._ENGLISH] = { common: common_en };\n_resources[Language._CHINESE] = { common: common_cn };\n_resources[Language._BAHASA_MELAYU] = { common: common_bm };\n\ni18n\n .use(initReactI18next)\n .init({\n defaultNS: \"common\",\n debug: false,\n resources : _resources,\n lng: localStorage.getItem(SessionKey._LANGUAGE) || Language._ENGLISH,\n fallbackLng: [Language._ENGLISH, Language._CHINESE, Language._BAHASA_MELAYU],\n keySeparator: false,\n interpolation: {\n escapeValue: false // react already safes from xss\n }\n });\n\n\nexport default i18n;","import { PhoneNumberType } from 'google-libphonenumber';\nimport { fetch } from 'whatwg-fetch';\nimport { InputValidationKey, ValidationPattern, _PRINT_DELIMITER } from './Constant';\nimport moment from 'moment';\n\n/// \n/// Author : Yong Sheng Chuan\n/// To Check if it is empty or null string\n/// \nexport function stringIsNullOrEmpty(data) {\n return data == null || data == '';\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// Convert array into form that use to post data\n/// \nexport function createFormBody(params) {\n let formBody = [];\n\n for (let property in params) {\n let encodedKey = encodeURIComponent(property);\n let encodedValue = encodeURIComponent(params[property]);\n formBody.push(encodedKey + \"=\" + encodedValue);\n }\n\n formBody = formBody.join(\"&\");\n return formBody;\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// Convert array into form that use to post data\n/// \nexport function createMultiPartFormBody(params) {\n var formBody = new FormData();\n\n for (const [key, value] of Object.entries(params)) {\n formBody.append(key, value);\n }\n\n return formBody;\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// Used to Navigation to certain path\n/// \nexport function navigateTo(history, url, state) {\n if (state !== undefined) {\n history.push({\n pathname: url,\n state: state\n });\n } else {\n history.push(url);\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport const dataTableFilterCaseInsensitive = (filter, row) => {\n const id = filter.pivotId || filter.id;\n if (row[id] !== null && typeof row[id] === 'string') {\n return (\n row[id] !== undefined ?\n String(row[id].toLowerCase()).startsWith(filter.value.toLowerCase()) : true\n )\n } else {\n return (\n String(row[filter.id]) === filter.value\n )\n }\n}\n\n/// \n/// Author: CK\n/// \nexport function getValidationMessage(error, patternErrorTxt = '') {\n var validationMsg = \"\";\n switch (error.type) {\n case InputValidationKey._REQUIRED_KEY:\n validationMsg = \"INPUT_FIELD_REQUIRED\";\n break;\n case InputValidationKey._MAX_LENGTH_KEY:\n validationMsg = \"MAX_LENGTH_EXCEEDED\";\n break;\n case InputValidationKey._MIN_LENGTH_KEY:\n validationMsg = \"MIN_LENGTH_NO_MET\";\n break;\n case InputValidationKey._MIN_LENGTH_KEY:\n validationMsg = \"MIN_LENGTH_NO_MET\";\n break;\n case InputValidationKey._MIN_KEY:\n validationMsg = \"MIN_ERROR\";\n break;\n case InputValidationKey._MAX_KEY:\n validationMsg = \"MAX_ERROR\";\n break;\n case InputValidationKey._PATTERN:\n validationMsg = !stringIsNullOrEmpty(patternErrorTxt) ? patternErrorTxt : \"INVALID_FORMAT\";\n break;\n default:\n validationMsg = error.message\n break;\n }\n return validationMsg;\n}\n\n/// \n/// Author: Chris\n/// \nexport const capitalize = (string) => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/// \n/// Author: Chris\n/// \nexport function isObjectEmpty(data) {\n return Object.keys(data).length === 0;\n}\n\n/// \n/// Author : Andrew\n/// \nexport async function imagePathToFileObject(imagePath) {\n const response = await fetch(imagePath);\n const blob = await response.blob();\n const file = new File([blob], imagePath);\n return file;\n}\n\n/// \n/// Author : Andrew\n/// \nexport function formatNumber(data, decimalPlaces) {\n return data.toLocaleString(undefined, { minimumFractionDigits: decimalPlaces })\n}\n\n/// \n/// Author : CK\n/// \nexport function arrayGroupByKey(array, key) {\n return array.reduce((result, currentValue) => {\n (result[currentValue[key]] = result[currentValue[key]] || []).push(\n currentValue\n );\n\n return result;\n }, {});\n};\n\n/// \n/// Author : YJ\n/// \nexport function numberWithCurrencyFormat(value, decimal = 2) {\n const CURRENCY_DECIMAL = 2;\n var convertedNumber = parseFloat((Math.round((value + Number.EPSILON) * Math.pow(10, decimal))) / Math.pow(10, decimal)).toFixed(decimal).toString().replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n\n if (decimal > CURRENCY_DECIMAL) {\n let afterDecimalNumber = convertedNumber.split('.');\n let decimalDiff = decimal - CURRENCY_DECIMAL;\n if (afterDecimalNumber.length == 2 && convertedNumber.lastIndexOf('0') == (convertedNumber.length - 1)) {\n let processNumber = afterDecimalNumber[1];\n for (let i = processNumber.length - 1; (i > 0 && decimalDiff > 0); i--) {\n if (processNumber.charAt(i) == '0') {\n processNumber = processNumber.substr(0, i) + processNumber.substr(i + 1);\n }\n else {\n break;\n }\n decimalDiff--;\n }\n convertedNumber = afterDecimalNumber[0] + \".\" + processNumber;\n }\n }\n\n return convertedNumber\n}\n\n/// \n/// Author : CK\n/// \nexport function ignoreDecimal(e, allowDecimal = false) {\n const _KEYCODE_DECIMAL = 190;\n const _KEYCODE_E = 69;\n let keyCode = e.keyCode;\n\n if ((keyCode == _KEYCODE_DECIMAL && !allowDecimal) || keyCode == _KEYCODE_E) {\n e.preventDefault();\n }\n}\n\n/// \n/// Author : YJ\n/// \nexport function validatePhoneNumber(phone, iso, normalCheck = false) {\n let validateResult = false;\n\n try {\n if (normalCheck) {\n validateResult = ValidationPattern._PHONE_NUMBER_REGEX.test(phone);\n }\n else {\n const phoneUtil = require('google-libphonenumber').PhoneNumberUtil.getInstance();\n let parsedPhone = phoneUtil.parse(phone, iso);\n validateResult = phoneUtil.isValidNumberForRegion(parsedPhone, iso) && phoneUtil.getNumberType(parsedPhone) == PhoneNumberType.MOBILE;\n }\n }\n catch (error) {\n validateResult = false;\n }\n\n return validateResult;\n}\n\n/// \n/// Author : CK\n/// \nexport function generateRandomAlphanumeric(length) {\n var result = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];\n return result;\n}\n\n/// \n/// Author : Wind\n/// \nexport function printReceipt(content) {\n var printWindow = window.open('', 'Print Receipt', 'height=650,width=1000');\n printWindow.document.write('Print');\n printWindow.document.write('');\n printWindow.document.write('
 
');\n\n if (content.includes(_PRINT_DELIMITER)) {\n content.split(_PRINT_DELIMITER).map(item => {\n printWindow.document.write(`
${item}
`);\n })\n }\n else {\n printWindow.document.write(`
${content}
`);\n }\n\n printWindow.document.write('
 
');\n printWindow.document.write(`
${moment().format('1922-MM-DD HH:mm:ss')}
`);\n printWindow.document.write('
 .
');\n printWindow.document.write('');\n\n printWindow.document.close();\n printWindow.focus()\n printWindow.print();\n}\n\n/// \n/// Author : Wind\n/// \nexport function range(from, to, step = 1) {\n return [...Array(Math.round((to - from) / step) + 1)].map((_, i) => numberWithCurrencyFormat(from + i * step));\n}\n\n/// \n/// Author : CK\n/// \nexport function getAmountClassName(value, decimalPlace = 2) {\n let convertedAmount = parseFloat(value).toFixed(decimalPlace);\n\n return convertedAmount > 0 ? \"text-blue\" : convertedAmount < 0 ? \"text-danger\" : \"text-default\";\n}","import { AlertTypes } from 'util/Constant.js';\nimport i18n from '../localization/i18n';\nimport { stringIsNullOrEmpty, printReceipt } from './../util/Util';\n\nexport const _BUSY = 'busy';\nexport const _IDLE = 'idle';\nexport const _API_CALLED = 'setApiCalled';\n\nexport const _ALERT_TYPES = {\n SET_ALERT: 'SetAlert',\n NONE: 'AlertNone',\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport const setBusy = (iconEnabled, message) => {\n return async dispatch => {\n dispatch({\n type: _BUSY,\n message: message,\n iconEnabled: iconEnabled\n });\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// this function is to only update user status to logout\n/// \nexport const setIdle = () => {\n return async dispatch => {\n dispatch({\n type: _IDLE\n });\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport const setPerformApiCall = (status, url) => {\n return async dispatch => {\n dispatch({\n type: _API_CALLED,\n data: { success: status, url: url}\n });\n }\n}\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nexport const showResponseMessage = (status, message, print, translateRequired = true) => {\n return dispatch => {\n var messageToShow = message;\n \n if (translateRequired) {\n messageToShow = i18n.t(message);\n }\n\n let printFunction = {};\n\n if (status && !stringIsNullOrEmpty(print)) {\n printFunction = {\n showCancel: true,\n cancelBtnText: i18n.t(\"PRINT\"),\n onCancel: () => printReceipt(print),\n cancelBtnBsStyle: \"success\"\n }\n }\n\n dispatch(showMessage({ type: (status ? AlertTypes._SUCCESS : AlertTypes._ERROR), content: messageToShow, ...printFunction }));\n }\n}\n\n/// \n/// Author: Chris\n/// \nexport const showMessage = (alertProps) => {\n return dispatch => {\n const customConfirm = alertProps.onConfirm;\n alertProps.onConfirm = async (...args) => {\n disposeMessage()(await dispatch);\n if (customConfirm) {\n customConfirm(...args);\n }\n }\n \n const customCancel = alertProps.onCancel;\n alertProps.onCancel = async (...args) => {\n disposeMessage()(await dispatch);\n if (customCancel) {\n customCancel(...args);\n }\n }\n \n alertProps.cancelBtnBsStyle = alertProps.cancelBtnBsStyle ?? 'danger';\n alertProps.title = alertProps.title ?? \"\";\n alertProps.allowEscape = false;\n alertProps.reverseButtons = alertProps.reverseButtons ?? true;\n \n dispatch({ type: _ALERT_TYPES.SET_ALERT, alert: alertProps });\n }\n}\n\n/// \n/// Author: Chris\n/// \nexport const disposeMessage = () => {\n return dispatch => {\n dispatch({ type: _ALERT_TYPES.NONE });\n }\n}","import { _IDLE, _BUSY, _ALERT_TYPES, _API_CALLED } from './AppAction';\nimport { stringIsNullOrEmpty } from '../util/Util'\n\nconst _INITIAL_STATE = {\n isBusy: false,\n message: \"Please Wait\",\n alert: {},\n iconEnabled: true,\n apiCalledResponse: {}\n};\n\nvar _busyCount = 0;\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _BUSY:\n _busyCount++;\n return {\n ...state,\n isBusy: true,\n message: stringIsNullOrEmpty(action.message) ? _INITIAL_STATE.message : action.message,\n iconEnabled: action.iconEnabled == null ? _INITIAL_STATE.iconEnabled : action.iconEnabled,\n }\n break;\n case _IDLE:\n _busyCount = Math.max(--_busyCount, 0);\n return {\n ...state,\n isBusy: (_busyCount != 0),\n }\n break;\n case _ALERT_TYPES.SET_ALERT:\n return {\n ...state,\n alert: Object.keys(state.alert) == 0 ? action.alert : state.alert\n };\n break;\n case _ALERT_TYPES.NONE:\n return {\n ...state,\n alert: {}\n };\n break;\n case _API_CALLED:\n return {\n ...state,\n apiCalledResponse: action.data\n };\n break;\n default:\n return state;\n break;\n }\n};","/// \n/// Author: Yong Sheng Chuan\n/// \nimport axios from 'axios';\nimport { ApiKey } from './Constant.js';\nimport * as AppActions from '../redux/AppAction';\nimport * as AuthActions from '../redux/AuthAction';\nimport Store from '../ApplicationStore';\n\nconst _HTTP_CODE_UNAUTHORIZED = 401;\nconst _HTTP_CODE_FORBIDDEN = 403;\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nasync function interceptRequest(requestConfig) {\n if (requestConfig.headers.skipLoading === undefined ||\n requestConfig.headers.skipLoading === false) {\n Store.dispatch(AppActions.setBusy());\n }\n return requestConfig;\n}\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nfunction interceptResponse(response) {\n Store.dispatch(AppActions.setPerformApiCall(response.data[ApiKey._API_SUCCESS_KEY], response.config.url));\n Store.dispatch(AppActions.setIdle());\n return response.data;\n}\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nfunction interceptError(error) {\n var returnData = {};\n\n Store.dispatch(AppActions.setIdle());\n\n if (error.response?.status == _HTTP_CODE_UNAUTHORIZED || error.response?.status == _HTTP_CODE_FORBIDDEN) {\n Store.dispatch(AuthActions.performLogout());\n Store.dispatch(AppActions.showResponseMessage(false, error.response.status == _HTTP_CODE_UNAUTHORIZED\n ? \"DUPLICATE_LOGIN_DETECTED\" : \"IP_FORBIDDEN\"));\n returnData = {\n \"success\": false,\n \"message\": error.response.status == _HTTP_CODE_UNAUTHORIZED ? \"DUPLICATE_LOGIN_DETECTED\" : \"IP_FORBIDDEN\"\n }\n }\n\n return returnData;\n}\n\nconst ApiEngine = axios.create({\n headers: {\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n },\n});\n\nApiEngine.interceptors.request.use(\n config => interceptRequest(config),\n error => interceptError(error),\n);\n\nApiEngine.interceptors.response.use(\n response => interceptResponse(response),\n error => interceptError(error),\n);\n\nexport default ApiEngine;","import { AppConfiguration } from \"read-appsettings-json\";\nimport firebase from 'firebase/app';\nimport 'firebase/database';\nimport 'firebase/auth';\nimport { performLogin } from \"./AuthAction\";\nimport { CommonStatus } from \"../util/Constant\";\nimport { isObjectEmpty } from \"../util/Util\";\nimport { disposeMessage, showResponseMessage } from \"./AppAction\";\n\nexport const _UPDATE_CONTENT = 'updateContent';\nexport const _UPDATE_REQUEST_CONTENT = 'updateRequestContent';\n\n/// \n/// Author: Nelson\n/// \nconst setupFirebaseSetting = new Promise((resolve, reject) => {\n if (!firebase.apps.length) {\n firebase.initializeApp({\n apiKey: AppConfiguration.Setting().ApplicationConfig.firebaseApiKey,\n projectId: AppConfiguration.Setting().ApplicationConfig.firebaseProjectId,\n messagingSenderId: AppConfiguration.Setting().ApplicationConfig.firebaseSenderId,\n appId: AppConfiguration.Setting().ApplicationConfig.firebaseAppId,\n databaseURL: AppConfiguration.Setting().ApplicationConfig.firebaseDatabaseUrl,\n });\n }\n\n firebase.auth().signInWithEmailAndPassword(AppConfiguration.Setting().ApplicationConfig.firebaseDatabaseEmail, AppConfiguration.Setting().ApplicationConfig.firebaseDatabaseCode)\n .then(function () {\n resolve(firebase.database());\n })\n .catch(function (error) {\n firebase.auth().signInAnonymously()\n .then(function () {\n resolve(firebase.database());\n })\n .catch(function (error) {\n reject(error);\n });\n });\n});\n\n/// \n/// Author: Nelson\n/// \nexport function initFirebaseDatabase(id, extraData = {}) {\n return async dispatch => {\n setupFirebaseSetting.then(async (database) => {\n await database.ref(`${AppConfiguration.Setting().ApplicationConfig.firebaseDatabaseName}/${id}`).on('value', async (shop) => {\n var data = null;\n\n if (shop.val()) {\n data = shop.val();\n }\n\n if (data != null) {\n await dispatch({\n type: _UPDATE_CONTENT,\n dataContent: data\n });\n\n if (!isObjectEmpty(extraData) && extraData['requestId'] == data['data'] && data['status'] != CommonStatus._PENDING_STATUS) {\n await dispatch(disposeMessage());\n if (data['status'] == CommonStatus._APPROVE_STATUS) {\n await dispatch(performLogin(extraData['username'], extraData['password']));\n }\n else if (data['status'] == CommonStatus._REJECT_STATUS) {\n await dispatch(showResponseMessage(false, 'LOGIN_REQUEST_REJECTED'));\n }\n else if (data['status'] == CommonStatus._INACTIVE_STATUS) {\n await dispatch(showResponseMessage(false, 'LOGIN_REQUEST_TIMEOUT'));\n }\n }\n }\n });\n });\n }\n}\n\n/// \n/// Author: YJ\n/// \nexport function initFirebaseTransactionRequestDatabase(key, code) {\n return async dispatch => {\n setupFirebaseSetting.then(async (database) => {\n await database.ref(`${AppConfiguration.Setting().ApplicationConfig.firebaseDatabaseName}/${key}`).on('value', async (request) => {\n var data = null;\n\n if (request.val()) {\n data = request.val();\n }\n\n if (data == null) {\n await dispatch({\n type: _UPDATE_REQUEST_CONTENT,\n requestCode: code\n });\n }\n });\n });\n }\n}","import { createMultiPartFormBody } from \"../util/Util\";\nimport { ApiKey, ApiUrl, SessionKey, AlertTypes, CommonStatus } from \"../util/Constant\";\nimport { showResponseMessage, showMessage } from \"./AppAction\";\nimport ApiEngine from '../util/ApiEngine.js';\nimport { initFirebaseDatabase } from \"./FirebaseAction\";\nimport i18n from '../localization/i18n';\n\nexport const _LOGIN_SUCCESS = 'LoginSuccess';\nexport const _LOGIN_FAILED = 'LoginFailed';\nexport const _LOGOUT = 'Logout';\nexport const _GET_SHOP_CREDIT = 'GetShopCredit';\nexport const _GET_PENDING_ONLINE_WITHDRAWAL_COUNT = 'GetPendingOnlineWithdrawalCount';\n\n/// \n/// Author : CK\n/// \nexport function getShopCredit() {\n return async (dispatch, getState) => {\n var userData = getState().authState.userData;\n\n if (userData) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + userData.userId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopData = responseJson[ApiKey._API_DATA_KEY];\n\n dispatch({\n eghlLimit: shopData.eghlLimit ?? 0, \n creditLimit: shopData.shopProfile ? shopData.shopProfile.creditLimit : shopData.managerProfile ? shopData.managerProfile.creditLimit : 0,\n type: _GET_SHOP_CREDIT\n });\n }\n }\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// expose login action as function to be called from classes\n/// Nelson - if return status code is 102 means require login approval\n/// \nexport function performLogin(username, password) {\n return async dispatch => {\n dispatch({\n type: _LOGOUT\n });\n\n const PROCESSING_STATUS_CODE = 102;\n\n let params = {\n \"username\": username,\n \"password\": password,\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_LOGIN, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var userData = responseJson[ApiKey._API_DATA_KEY];\n\n sessionStorage.setItem(SessionKey._LOGIN_GUID, userData.userId);\n localStorage.setItem(SessionKey._LOGIN_GUID, userData.userId);\n\n dispatch({\n type: _LOGIN_SUCCESS,\n userData: userData,\n });\n }\n else if (responseJson[ApiKey._API_CODE_KEY] == PROCESSING_STATUS_CODE) {\n dispatch(initFirebaseDatabase(responseJson[ApiKey._API_DATA_KEY].userId,\n {\n username: params.username,\n password: params.password,\n requestId: responseJson[ApiKey._API_DATA_KEY].requestId,\n userId: responseJson[ApiKey._API_DATA_KEY].userId\n }\n ));\n\n dispatch(showMessage({\n type: AlertTypes._INFO,\n content: i18n.t(responseJson[ApiKey._API_MESSAGE_KEY]),\n showCancel: true,\n showConfirm: false,\n cancelBtnText: i18n.t(\"BTN_CANCEL\"),\n closeOnClickOutside: false,\n onCancel: async () => {\n var response = await ApiEngine.post(ApiUrl._API_UPDATE_SHOP_REQUEST +\n \"?Id=\" + responseJson[ApiKey._API_DATA_KEY].requestId +\n \"&Status=\" + CommonStatus._REJECT_STATUS +\n \"&UpdatedBy=\" + responseJson[ApiKey._API_DATA_KEY].userId);\n\n if (!response[ApiKey._API_SUCCESS_KEY]) {\n dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }\n }));\n }\n else {\n dispatch({\n type: _LOGIN_FAILED,\n message: responseJson[ApiKey._API_MESSAGE_KEY],\n });\n dispatch(showResponseMessage(false, responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// this function is to only update user status to login if it is already considered authenticated in cookie\n/// \nexport const updateLoginUser = (userData) => {\n return {\n type: _LOGIN_SUCCESS,\n userData: userData,\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// expose logout action as function to be called from classes\n/// \nexport const performLogout = (isEmergency) => {\n return async dispatch => {\n const response = await fetch(ApiUrl._API_LOGOUT + \"?isEmergency=\" + (isEmergency ? \"true\" : \"false\"), {\n method: ApiKey._API_POST,\n headers: {\n 'Content-Type': ApiKey._API_FORM_URLENCODED,\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n }\n });\n\n await response.json();\n\n dispatch({\n type: _LOGOUT\n });\n }\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// this function is to only update user status to logout\n/// \nexport const resetLogin = () => {\n return async dispatch => {\n dispatch({\n type: _LOGOUT\n });\n }\n}\n\n/// \n/// Author : CK\n/// \nexport function getPendingOnlineWithdrawalCount() {\n return async (dispatch, getState) => {\n const PENDING_APPROVAL_STATUS = 1;\n var userData = getState().authState.userData;\n\n if (userData) {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_ONLINE_WITHDRAWAL_REQUEST}?status=${PENDING_APPROVAL_STATUS}`, { headers: { \"skipLoading\": true } });\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var data = responseJson[ApiKey._API_DATA_KEY];\n var count = data['data'].length ?? 0;\n\n dispatch({\n count: count,\n type: _GET_PENDING_ONLINE_WITHDRAWAL_COUNT\n });\n }\n }\n }\n}\n","import store from \"../ApplicationStore.js\";\nimport { AccessRight, Status } from \"./Constant\";\n\n//variable here will be long live throughout the process, this is intented\nvar _permissionArrKey = [];\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport function checkIfPermissionExist(permissionString, isWrite) {\n if (_permissionArrKey.length == 0 && store.getState()[\"authState\"][\"userData\"][\"accessString\"] !== undefined) {\n var userPermissionData = store.getState()[\"authState\"][\"userData\"][\"accessString\"].split(\";\");\n for (var i = 0; i < userPermissionData.length; i++) {\n var keyValuePermission = userPermissionData[i].split(\":\");\n if (keyValuePermission.length == 2) {\n if (keyValuePermission[1][AccessRight._READ_BIT_POSITION] == Status._ENABLED.toString()) {\n _permissionArrKey.push(keyValuePermission[0] + AccessRight._READ_PERMISSION_STRING);\n }\n if (keyValuePermission[1][AccessRight._WRITE_BIT_POSITION] == Status._ENABLED.toString()) {\n _permissionArrKey.push(keyValuePermission[0] + AccessRight._WRITE_PERMISSION_STRING);\n }\n }\n }\n }\n\n var completePermissionKey = permissionString + (isWrite ? AccessRight._WRITE_PERMISSION_STRING : AccessRight._READ_PERMISSION_STRING);\n return _permissionArrKey.filter(item => item == completePermissionKey).length != 0;\n}\n\n/// \n/// Author : Yong Sheng Chuan\n/// this expected to be call on logout so that next login can fetch new data\n/// \nexport function clearPermissionData() {\n _permissionArrKey = [];\n}","import { _LOGIN_SUCCESS, _LOGIN_FAILED, _LOGOUT, _GET_SHOP_CREDIT, _GET_PENDING_ONLINE_WITHDRAWAL_COUNT } from './AuthAction';\nimport { clearPermissionData } from \"../util/PermissionChecker\"\n\nconst _INITIAL_STATE = {\n userData: {},\n isLoggedIn: false,\n loginMessage: \"\",\n loginStateInitialized: false,\n creditLimit: 0,\n eghlLimit: 0,\n pendingOnlineWithdrawalCount: 0\n};\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _LOGIN_SUCCESS:\n return {\n ...state,\n userData: action.userData,\n isLoggedIn: true,\n loginMessage: \"\",\n loginStateInitialized: true\n }\n break;\n case _LOGIN_FAILED:\n return {\n loginMessage: action.message,\n isLoggedIn: false,\n userData: {},\n loginStateInitialized: true\n }\n break;\n case _GET_SHOP_CREDIT:\n return {\n ...state,\n creditLimit: action.creditLimit,\n eghlLimit: action.eghlLimit\n };\n break;\n case _GET_PENDING_ONLINE_WITHDRAWAL_COUNT:\n return {\n ...state,\n pendingOnlineWithdrawalCount: action.count,\n playSound: action.count > state.pendingOnlineWithdrawalCount\n };\n break;\n case _LOGOUT:\n clearPermissionData();\n return {\n userData: {},\n isLoggedIn: false,\n loginMessage: \"\",\n loginStateInitialized: true,\n creditLimit: 0,\n eghlLimit: 0\n };\n break;\n default:\n return state;\n break;\n }\n};\n","export const _SET_SEARCH_MEMBER_MODAL_VISIBLE = \"SET_SEARCH_MEMBER_MODAL_VISIBLE\";\n\n/// \n/// Author : CK\n/// \nexport const setSearchMemberModalVisible = (isModalVisible, targetUrl = null, isSearchAgent = false) => {\n return async dispatch => {\n dispatch({\n type: _SET_SEARCH_MEMBER_MODAL_VISIBLE,\n isModalVisible: isModalVisible,\n targetUrl: targetUrl,\n isSearchAgent: isSearchAgent\n });\n }\n}","import { _SET_SEARCH_MEMBER_MODAL_VISIBLE } from './MemberAction';\n\nconst _INITIAL_STATE = {\n isModalVisible: false,\n targetUrl: null,\n isSearchAgent: false\n};\n\n/// \n/// Author : CK\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _SET_SEARCH_MEMBER_MODAL_VISIBLE:\n return {\n ...state,\n isModalVisible: action.isModalVisible,\n targetUrl: action.targetUrl,\n isSearchAgent: action.isSearchAgent\n };\n break;\n default:\n return state;\n break;\n }\n};\n","import { _UPDATE_CONTENT, _UPDATE_REQUEST_CONTENT } from './FirebaseAction.js';\n\nconst _INITIAL_STATE = {\n dataContent: {},\n requestCode: \"\"\n};\n\n/// \n/// Author: Nelson\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _UPDATE_CONTENT:\n return {\n ...state,\n dataContent: action.dataContent\n }\n break;\n case _UPDATE_REQUEST_CONTENT:\n return {\n ...state,\n requestCode: action.requestCode\n }\n break;\n default:\n return state;\n break;\n }\n};","import { createStore, applyMiddleware, combineReducers } from \"redux\";\nimport appReducer from \"./redux/AppReducer\";\nimport authReducer from \"./redux/AuthReducer\";\nimport memberReducer from \"./redux/MemberReducer\";\nimport thunk from 'redux-thunk';\nimport firebaseReducer from \"./redux/FirebaseReducer\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst store = createStore(combineReducers({\n authState: authReducer,\n appState: appReducer,\n memberState: memberReducer,\n firebaseState: firebaseReducer\n}), applyMiddleware(thunk));\n\nexport default store;","import React from 'react';\n\nexport const PageSettings = React.createContext();","import React, { useState, useEffect } from 'react';\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { SessionKey, Language } from \"../../../util/Constant.js\";\nimport Cookies from 'universal-cookie';\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nconst DropdownLanguage = props => {\n const { t, i18n } = useTranslation();\n const [languageOptionVisibility, setLanguageOptionVisibility] = useState(false);\n var _cookies = new Cookies();\n const _LANGUAGE_OPTION = [\n {\n title: 'English',\n prefix: 'EN',\n value: Language._ENGLISH\n },\n {\n title: \"简体中文\",\n prefix: \"中文\",\n value: Language._CHINESE\n }\n ];\n\n const _LANGUAGE_MAPPING = {};\n _LANGUAGE_MAPPING[Language._ENGLISH] = \"en\";\n _LANGUAGE_MAPPING[Language._CHINESE] = \"zh\";\n _LANGUAGE_MAPPING[Language._BAHASA_MELAYU] = \"ms\";\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n useEffect(() => {\n onChangeLanguage((localStorage.getItem(SessionKey._LANGUAGE) ?? Language._ENGLISH));\n }, []);\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n function onChangeLanguage(selectedLanguage) {\n i18n.changeLanguage(selectedLanguage);\n localStorage.setItem(SessionKey._LANGUAGE, selectedLanguage);\n _cookies.set(SessionKey._LANGUAGE, _LANGUAGE_MAPPING[selectedLanguage]);\n }\n\n\t\treturn (\n setLanguageOptionVisibility(!languageOptionVisibility)} className=\"dropdown navbar-languager\" tag=\"li\">\n \n  \n {_LANGUAGE_OPTION.filter(i => i.value == (localStorage.getItem(SessionKey._LANGUAGE) ?? Language._ENGLISH))[0]?.prefix}\n\t\t\t\t\n\t\t\t\t\n {\n _LANGUAGE_OPTION.map((language, index) => {\n return { onChangeLanguage(language.value) }}>{language.title}\n })\n }\n\t\t\t\t\n\t\t\t\n\t\t);\n};\n\nexport default DropdownLanguage;","import React, { useState, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage } from \"../../redux/AppAction\";\nimport { ApiKey, ApiUrl, Status } from \"../../util/Constant\";\nimport { useDispatch } from \"react-redux\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { stringIsNullOrEmpty } from '../../util/Util';\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst ResetPasswordModal = (props) => {\n const [modalVisibility, setModalVisibility] = useState(false);\n const { register, handleSubmit, setValue, errors, reset, unregister, watch } = useForm();\n const { t, i18n } = useTranslation();\n var _dispatch = useDispatch();\n const [targetUserId, setTargetUserId] = useState('');\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function cleanup(isSuccess) {\n if (stringIsNullOrEmpty(targetUserId)) {\n setValue(\"oldPassword\", \"\");\n unregister(\"oldPassword\");\n\n }\n setValue(\"newPassword\", \"\");\n\n unregister(\"newPassword\");\n setTargetUserId(\"\");\n\n props.onFinish(isSuccess);\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n setTargetUserId(props[\"targetUserId\"]);\n }, [props[\"visible\"]]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n if (modalVisibility) {\n init();\n }\n else {\n cleanup(false);\n }\n }, [modalVisibility]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n if (stringIsNullOrEmpty(targetUserId)) {\n register({ name: \"oldPassword\" }, { required: \"PLEASE_ENTER_OLD_PASSWORD\" });\n }\n\n register({ name: \"newPassword\" }, { required: \"PLEASE_ENTER_NEW_PASSWORD\", minLength: { value: 6, message: \"PASSWORD_MIN_LENGTH\" } });\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// Edited : Wind - Added reset password param for shop\n /// \n const onSubmit = async (data, e) => {\n var apiUrl = ApiUrl._API_CHANGE_PASSWORD + \"?newPassword=\" + data.newPassword ;\n if (!stringIsNullOrEmpty(targetUserId)) {\n apiUrl += \"&targetUserId=\" + targetUserId;\n }\n else {\n apiUrl += \"&oldPassword=\" + data.oldPassword;\n }\n\n if (props.resetShopPassword) {\n apiUrl += \"&resetPassword=\" + props.resetShopPassword;\n }\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n setModalVisibility(!responseJson[ApiKey._API_SUCCESS_KEY]);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n setModalVisibility(!modalVisibility)} style={{ paddingBottom: \"100px\" }} >\n
\n setModalVisibility(!modalVisibility)}>{t(\"CHANGE_PASSWORD\")}\n \n
\n {stringIsNullOrEmpty(targetUserId) &&\n
\n \n
\n { setValue('oldPassword', e.target.value); }}\n className=\"form-control m-b-5\"\n name=\"oldPassword\" />\n
\n {errors.oldPassword &&
{t(errors.oldPassword.message)}
}\n
\n }\n
\n \n
\n { setValue('newPassword', e.target.value); }}\n className=\"form-control m-b-5\"\n name=\"newPassword\" />\n
\n {errors.newPassword &&
{t(errors.newPassword.message)}
}\n
\n
\n
\n \n \n \n \n
\n
\n );\n}\n\nexport default ResetPasswordModal","import React, { useState, useEffect } from 'react';\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { withRouter } from 'react-router';\nimport { performLogout } from \"../../../redux/AuthAction.js\";\nimport { connect, useDispatch, useSelector } from \"react-redux\";\nimport ResetPasswordModal from '../../../components/custom/ResetPasswordModal';\nimport { useHistory } from 'react-router-dom';\nimport { navigateTo } from '../../../util/Util';\nimport { WebUrl, Role } from '../../../util/Constant';\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst DropdownProfile = props => {\n const { t, i18n } = useTranslation();\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const [changePasswordModalVisibility, setChangePasswordModalVisibility] = useState(false);\n const _userData = useSelector(state => state.authState.userData);\n const _dispatch = useDispatch();\n const _history = useHistory();\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const toggle = () => {\n setDropdownOpen(!dropdownOpen);\n }\n\n return (\n <>\n \n \n {_userData.username} \n \n \n { navigateTo(_history, _userData.userRoleId != Role._SHOP ? WebUrl._URL_ADMIN_VIEW_ANNOUNCEMENT : WebUrl._URL_SHOP_VIEW_ANNOUNCEMENT) }}>{t(\"VIEW_ANNOUNCEMENT\")}\n {_userData.userRoleId != Role._SHOP &&\n {\n setChangePasswordModalVisibility(!changePasswordModalVisibility)\n }}>{t('CHANGE_PASSWORD')}\n }\n {/* {\n _userData.userRoleId == Role._SHOP && _userData.canEghlReload &&\n { navigateTo(_history, WebUrl._URL_SHOP_EGHL_RELOAD) }}>eGHL Reload\n } */}\n _dispatch(performLogout())}>{t('LOGOUT')}\n \n \n {\n setChangePasswordModalVisibility(false);\n }}\n visible={changePasswordModalVisibility} />\n \n );\n}\n\nexport default withRouter(DropdownProfile);\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem, Collapse } from 'reactstrap';\n\nclass DropdownMegaMenu extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default DropdownMegaMenu;\n","import React, { useState, useEffect, useContext } from 'react';\nimport DropdownLanguage from './dropdown/language.jsx';\nimport DropdownProfile from './dropdown/profile.jsx';\nimport DropdownMegaMenu from './dropdown/mega.jsx';\nimport { PageSettings } from './../../config/page-settings.js';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { ApiUrl, Theme, Role } from './../../util/Constant';\nimport { useTranslation } from 'react-i18next';\nimport { getShopCredit } from \"../../redux/AuthAction.js\";\n\nconst Header = props => {\n const { t } = useTranslation();\n const { isLoggedIn, creditLimit, userData } = useSelector(state => state.authState);\n const { apiCalledResponse } = useSelector(state => state.appState);\n const _dispatch = useDispatch();\n\n const _LIST_OF_API_TO_UPDATE_CREDIT = [\n ApiUrl._API_UPDATE_SHOP_LIMIT\n ];\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n // Get manager limit for manager user\n if (isLoggedIn && userData?.userRoleId == Role._MANAGER) {\n _dispatch(getShopCredit())\n }\n }, [isLoggedIn, creditLimit]);\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n if (userData?.userRoleId == Role._MANAGER && apiCalledResponse && apiCalledResponse.success && _LIST_OF_API_TO_UPDATE_CREDIT.filter(i => apiCalledResponse.url.includes(i)).length != 0) {\n _dispatch(getShopCredit())\n }\n }, [apiCalledResponse]);\n\n return (\n \n {({ toggleMobileSidebar, toggleRightSidebar, toggleMobileRightSidebar, toggleMobileTopMenu, pageHeaderLanguageBar, pageHeaderMegaMenu, pageTwoSidebar, pageTopMenu, pageSidebar }) => (\n
\n
\n {pageTwoSidebar && (\n \n )}\n\n {pageHeaderMegaMenu && (\n \n )}\n {pageTopMenu && pageSidebar && (\n \n )}\n {!pageSidebar && pageTopMenu && (\n \n )}\n {pageSidebar && (\n \n )}\n\n
\n \"epay-logo\"\n\n \n {\n process.env.REACT_APP_NAME == Theme._EPAY ?\n \"Epay Mobile Reload\" :\n process.env.REACT_APP_NAME == Theme._OREN ?\n \"Oren Mart\" : \"Mantap\"\n }\n \n
\n
\n\n {pageHeaderMegaMenu && (\n \n )}\n\n
    \n {\n userData?.userRoleId == Role._MANAGER &&\n \n }\n\n {pageHeaderLanguageBar && (\n \n )}\n\n \n
\n
\n )}\n
\n )\n}\n\nexport default Header;\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Link } from 'react-router-dom';\nimport DropdownLanguage from './dropdown/language.jsx';\nimport DropdownProfile from './dropdown/profile.jsx';\nimport { PageSettings } from './../../config/page-settings.js';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getShopCredit, getPendingOnlineWithdrawalCount } from \"../../redux/AuthAction.js\";\nimport { ApiUrl, Theme } from \"../../util/Constant\";\nimport { useTranslation } from 'react-i18next';\n\nconst Header = props => {\n const { t } = useTranslation();\n const { isLoggedIn, creditLimit, userData } = useSelector(state => state.authState);\n const { apiCalledResponse } = useSelector(state => state.appState);\n const [isFirstLoad, setIsFirstLoad] = useState(true);\n const _dispatch = useDispatch();\n\n const _LIST_OF_API_TO_UPDATE_CREDIT = [\n ApiUrl._API_CLAIM_REWARD,\n ApiUrl._API_SHOP_SET_SCORE,\n ApiUrl._API_SHOP_BULK_SET_SCORE,\n ApiUrl._API_SET_MEMBER_PRIZE_STATUS\n ];\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n if (isLoggedIn) {\n _dispatch(getShopCredit())\n }\n }, [isLoggedIn, creditLimit]);\n\n /// \n /// Author : CK\n /// Get pending online withdrawal count\n /// \n useEffect(() => {\n let intervalId;\n\n if (isLoggedIn && (userData?.isCustomerService || userData?.onlineWithdrawalShop)) {\n if (isFirstLoad) {\n _dispatch(getPendingOnlineWithdrawalCount());\n\n intervalId = setInterval(async () => {\n _dispatch(getPendingOnlineWithdrawalCount());\n }, 10000);\n\n setIsFirstLoad(false);\n }\n }\n else {\n setIsFirstLoad(true);\n }\n\n return () => {\n if (intervalId) {\n clearInterval(intervalId);\n }\n }\n }, [isLoggedIn, userData]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n if (apiCalledResponse && apiCalledResponse.success && _LIST_OF_API_TO_UPDATE_CREDIT.filter(i => apiCalledResponse.url.includes(i)).length != 0) {\n _dispatch(getShopCredit())\n }\n }, [apiCalledResponse]);\n\n return (\n \n {({ pageHeaderLanguageBar, pageSidebar, toggleMobileSidebar }) => (\n
\n
\n\n {pageSidebar && (\n \n )}\n
\n \n {process.env.REACT_APP_NAME == Theme._EPAY ? \"Epay Mobile Reload\" : process.env.REACT_APP_NAME == Theme._OREN ? \"Oren Mart\" : \"Mantap\"}\n
\n
\n\n
\n \"epay-logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n \"logo\"\n
\n\n
    \n \n\n {pageHeaderLanguageBar && (\n \n )}\n\n \n
\n
\n )}\n
\n )\n}\n\nexport default (Header);","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { PageSettings } from './../../config/page-settings.js';\nimport { connect } from \"react-redux\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nclass SidebarProfile extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n profileActive: 0\n };\n this.handleProfileExpand = this.handleProfileExpand.bind(this);\n }\n\n handleProfileExpand(e) {\n e.preventDefault();\n this.setState(state => ({\n profileActive: !this.state.profileActive,\n }));\n }\n\n render() {\n return (\n \n {({ pageSidebarMinify }) => (\n \n )}\n \n )\n }\n}\n\nconst mapStateToProps = state => ({\n ...state\n});\n\nexport default connect(\n mapStateToProps,\n null\n)(SidebarProfile);","import React, { useState } from 'react';\nimport { Route, Link } from 'react-router-dom';\nimport { PageSettings } from './../../config/page-settings.js';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Role } from \"../../util/Constant\";\n\n/// \n/// Author : CK\n/// Handle action for sidebar link\n/// \nconst SidebarNavList = props => {\n\tconst [active, setActive] = useState(-1);\n const [clicked, setClicked] = useState(-1);\n const _userData = useSelector(state => state.authState.userData);\n\tlet _dispatch = useDispatch();\n\tconst { t } = useTranslation();\n\n\tfunction handleExpand(e, i, match) {\n\t\te.preventDefault();\n\n\t\tsetActive(active === i ? -1 : i);\n\t\tsetClicked(1);\n\t}\n\n\tvar icon = props.data.icon && ;\n\tvar img = props.data.img &&
\"\"
;\n\tvar caret = (props.data.children && !props.data.badge) && ;\n\tvar label = props.data.label && {props.data.label};\n\tvar badge = props.data.badge && {props.data.badge};\n\tvar title = props.data.title && {props.isShop ? (props.index + 1) + '. ' + t(props.data.title) : t(props.data.title)} {label};\n\tvar highlight = props.data.highlight && ;\n\n\treturn (\n\t\t\n {({ handleSidebarOnMouseOver, handleSidebarOnMouseOut, pageSidebarMinified, toggleMobileSidebar }) => (\n\t\t\t\t (\n
  • \n\t\t\t\t\t\t{props.data.children ? (\n\t\t\t\t\t\t\t handleSidebarOnMouseOver(e, props.data)}\n\t\t\t\t\t\t\t\tonMouseOut={(e) => handleSidebarOnMouseOut(e, props.data)}\n\t\t\t\t\t\t\t\tonClick={props.expand}>{caret} {badge} {img} {icon} {title} {highlight}\n\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t(props.data.isDummy) ?\n\t\t\t\t\t\t\t\t
    {props.isShop ? (props.index + 1) + '. ' + t(props.data.title) : t(props.data.title)}
    \n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\tprops.data.action ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t:\n {caret} {img} {icon} {badge} {title} {highlight}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{props.data.children && (\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t{props.data.children && props.data.children.map((submenu, i) => (\n\t\t\t\t\t\t\t\t\t handleExpand(e, i, match)}\n\t\t\t\t\t\t\t\t\t\tactive={i === active}\n\t\t\t\t\t\t\t\t\t\tclicked={clicked}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprops.data.hasNotification &&\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t}\n\t\t\t\t\t
  • \n\t\t\t\t)} />\n\t\t\t)}\n\t\t
    \n\t);\n}\n\nexport default SidebarNavList;","import { WebUrl, AccessRight } from \"util/Constant\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst Menu = [\n\t{\n\t\tpath: WebUrl._URL_DASHBOARD,\n\t\ticon: \"fa fa-th\",\n\t\ttitle: \"DASHBOARD\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._DASHBOARD_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_VENDOR_CATEGORY,\n\t\ticon: \"fa fa-book\",\n\t\ttitle: \"VENDOR_CATEGORY\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_VENDOR,\n\t\ticon: \"fa fa-gamepad\",\n\t\ttitle: \"GAME_VENDORS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_VENDOR_API,\n\t\ticon: \"fa fa-link\",\n\t\ttitle: \"MANAGE_APIS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SYSTEM_SETTINGS,\n\t\ticon: \"fa fa-wrench\",\n\t\ttitle: \"SYSTEM_SETTINGS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SMS_SETTINGS,\n\t\ticon: \"fa fa-comments\",\n\t\ttitle: \"SMS_SETTINGS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SMS_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_NOTIFICATION_SETTINGS,\n\t\ticon: \"fa fa-bell\",\n\t\ttitle: \"NOTIFICATION_SETTINGS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SMS_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: \"/admin/account\",\n\t\ticon: \"fa fa-users\",\n\t\ttitle: \"ACCOUNTS\",\n\t\tisDummy: true,\n\t\tchildren: [\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_ROLE, title: \"ROLES\", permission: AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_ADMIN, title: \"ADMIN\", permission: AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_MANAGER, title: \"MANAGER\", permission: AccessRight._MANAGER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_AGENT, title: \"AGENT\", permission: AccessRight._AGENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_CUSTOMER_SERVICE, title: \"CUSTOMER_SERVICE\", permission: AccessRight._CUSTOMER_SERVICE_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_SHOP, title: \"SHOPS\", permission: AccessRight._SHOP_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_MEMBER, title: \"MEMBERS\", permission: AccessRight._MEMBER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_PLAYER, title: \"PLAYERS\", permission: AccessRight._PLAYER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t],\n\t},\n\t{\n\t\tpath: \"/announcement\",\n\t\ticon: \"fa fa-bell\",\n\t\ttitle: \"ANNOUNCEMENTS\",\n\t\tisDummy: true,\n\t\tchildren: [\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_SYSTEM_MESSAGE, title: \"SYSTEM\", permission: AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_SHOP_MESSAGE, title: \"SHOP\", permission: AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_PHONE_MESSAGE, title: \"CUSTOMER\", permission: AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_APP_ANNOUNCEMENT, title: \"APP\", permission: AccessRight._ANNOUNCEMENT_EVENT_CONTROL + AccessRight._READ_PERMISSION_STRING },\n\t\t],\n\t},\n\t{\n\t\tpath: \"/event\",\n\t\ticon: \"fa fa-trophy\",\n\t\ttitle: \"EVENTS\",\n\t\tisDummy: true,\n\t\tchildren: [\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_KOG_EVENT, title: \"KOG_EVENT\", permission: AccessRight._EVENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_MANAGE_BANNER, title: \"BANNER\", permission: AccessRight._BANNER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t],\n\t},\n\t{\n\t\tpath: \"/feedback\",\n\t\ticon: \"fa fa-file\",\n\t\ttitle: \"FEEDBACK\",\n\t\tisDummy: true,\n\t\tchildren: [\n\t\t\t{ path: WebUrl._URL_FEEDBACK_SETTINGS, title: \"FEEDBACK_SETTINGS\", permission: AccessRight._FEEDBACK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING, hideFromFeedbackAdmin: true },\n\t\t\t{ path: WebUrl._URL_MEMBER_FEEDBACK_REPORT, title: \"MEMBER_FEEDBACK\", permission: AccessRight._FEEDBACK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_SHOP_FEEDBACK_REPORT, title: \"SHOP_FEEDBACK\", permission: AccessRight._FEEDBACK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t],\n\t},\n\t{\n\t\tpath: \"/report\",\n\t\ticon: \"fa fa-clipboard\",\n\t\ttitle: \"REPORT\",\n\t\tisDummy: true,\n\t\tchildren: [\n\t\t\t{ path: WebUrl._URL_SET_LIMIT_REPORT, title: \"SET_LIMIT\", permission: AccessRight._SET_LIMIT_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_SET_SCORE_REPORT, title: \"SET_SCORE\", permission: AccessRight._SET_SCORE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t// { path: WebUrl._URL_REWARD_REPORT, title: 'REWARD', permission: AccessRight._REWARD_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_TURNOVER_REWARD_REPORT, title: \"REWARD_REPORT\", permission: AccessRight._REWARD_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_CLAIM_REWARD_REPORT, title: \"CLAIM_REWARD\", permission: AccessRight._SET_SCORE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_MANAGER_LIMIT_REPORT, title: \"MANAGER_LIMIT\", permission: AccessRight._MANAGER_LIMIT_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_MANAGER_LIMIT_TRANSACTION_REPORT, title: \"MANAGER_LIMIT_TRANSACTION\", permission: AccessRight._MANAGER_LIMIT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_SALES_REPORT, title: \"SALES\", permission: AccessRight._SALES_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_KIOSK_TIMEOUT_REPORT, title: \"KIOSK_TIMEOUT\", permission: AccessRight._KIOSK_TIMEOUT_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_AGENT_COMMISSION_REPORT, title: \"AGENT_COMMISSION\", permission: AccessRight._AGENT_COMM_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_AGENT_NETPROFIT_REPORT, title: \"AGENT_NET_PROFIT\", permission: AccessRight._AGENT_NETPROFIT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_TOPUP_REPORT, title: \"CREDIT_TOPUP\", permission: AccessRight._TOP_UP_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_CREDIT_TRANSFER_REPORT, title: \"CREDIT_TRANSFER\", permission: AccessRight._CREDIT_TRANSFER_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_STRIKE_REPORT, title: \"STRIKE\", permission: AccessRight._STRIKE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_MANAGE_ROLLOVER_REPORT, title: \"ROLLOVER\", permission: AccessRight._ROLLOVER_REPORT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_MANAGE_UPPER_LIMIT_WARNING_REPORT, title: \"UPPER_LIMIT_WARNING\", permission: AccessRight._UPPER_LIMIT_REPORT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_USER_EXPERIENCE_REPORT, title: \"USER_EXPERIENCE_REPORT\", permission: AccessRight._OPERATIONAL_LOG_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_TURNOVER_REPORT, title: \"TURNOVER\", permission: AccessRight._TURNOVER_REPORT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_MEMBER_ECREDIT_LOG, title: \"ECREDIT_TRANSFER_MEMBER\", permission: AccessRight._CREDIT_TRANSFER_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_REGION_ECREDIT_LOG, title: \"ECREDIT_TRANSFER_REGION\", permission: AccessRight._CREDIT_TRANSFER_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_OVERALL_DOWNLINE_REPORT, title: \"OVERALL_DOWNLINE\", permission: AccessRight._OVERALL_DOWNLINE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_ADMIN_RANK_SUMMARY_REPORT, title: \"RANK_SUMMARY\", permission: AccessRight._RANK_SUMMARY_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_AGENT_WINLOSS_REPORT, title: \"AGENT_WIN_LOSS\", permission: AccessRight._AGENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_LOTTO_SEAMLESS_SETTLEMENT_REPORT, title: \"LOTTO_SEAMLESS_SETTLEMENT\", permission: AccessRight._AGENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_USER_GROWTH_REPORT, title: \"USER_GROWTH_REPORT\", permission: AccessRight._USER_GROWTH_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t\t{ path: WebUrl._URL_SHOP_EGHL_REPORT, title: \"SHOP_EGHL_REPORT\", permission: AccessRight._SHOP_EGHL_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING },\n\t\t],\n\t},\n\t{\n\t\tpath: WebUrl._URL_ONLINE_WITHDRAWAL_REQUEST,\n\t\ticon: \"fa fa-credit-card\",\n\t\ttitle: \"ONLINE_WITHDRAWAL\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._ONLINE_WITHDRAWAL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_OPERATION_LOG,\n\t\ticon: \"fa fa-th\",\n\t\ttitle: \"OPERATION_LOG\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._OPERATIONAL_LOG_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_RANK,\n\t\ticon: \"fa fa-angle-double-up\",\n\t\ttitle: \"RANK_CONFIGURATION\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._RANK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_PROMOTION_MANAGE_PROMOTION,\n\t\ticon: \"fa fa-gift\",\n\t\ttitle: \"BONUS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._PROMOTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_PROMOTION_MANAGE_SPIN_PROMOTION,\n\t\ticon: \"fa fa-gift\",\n\t\ttitle: \"LUCKY_SPIN\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._PROMOTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_WELCOME_BONUS,\n\t\ticon: \"fa fa-child\",\n\t\ttitle: \"WELCOME_BONUS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._PROMOTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_LUCKY_NUMBER,\n\t\ticon: \"fa fa-star\",\n\t\ttitle: \"LUCKY_NUMBER\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._LUCKY_NUMBER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_MINI_PROGRAM,\n\t\ticon: \"fa fa-cubes\",\n\t\ttitle: \"MINI_PROGRAMS\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._MINI_PROGRAM_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_THIRD_PARTY,\n\t\ticon: \"fa fa-network-wired\",\n\t\ttitle: \"MANAGE_THIRD_PARTY\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_THIRD_PARTY_API,\n\t\ticon: \"fa fa-link\",\n\t\ttitle: \"MANAGE_THIRD_PARTY_API\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_PAYMENT_GATEWAY,\n\t\ticon: \"fa fa-wallet\",\n\t\ttitle: \"PAYMENT_GATEWAY\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_IP_BLACKLIST,\n\t\ticon: \"fa fa-ban\",\n\t\ttitle: \"IP_BLACKLIST\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_SHOP_LOGIN,\n\t\ticon: \"fa fa-store\",\n\t\ttitle: \"SHOP_LOGIN\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SHOP_LOGIN_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_APPEAL_TRANSACTION,\n\t\ticon: \"fa fa-gavel\",\n\t\ttitle: \"APPEAL_TRANSACTION\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._APPEAL_TRANSACTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n\t{\n\t\tpath: WebUrl._URL_API_LOG,\n\t\ticon: \"fa fa-paper-plane\",\n\t\ttitle: \"API_LOG\",\n\t\tisDummy: false,\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t},\n];\n\nexport default Menu;\n","import { setSearchMemberModalVisible } from \"../../redux/MemberAction\";\nimport { WebUrl, AccessRight } from \"../../util/Constant\";\n\n/// \n/// Author : Andrew\n/// \nconst Menu = [\n {\n path: WebUrl._URL_SHOP_SEARCH, title: 'NAV_SEARCH', isDummy: false\n },\n {\n title: \"NAV_RELOAD\",\n action: setSearchMemberModalVisible(true, { mainUrl: WebUrl._URL_SHOP_RELOAD, alternateUrl: WebUrl._URL_SHOP_PLAYER_RELOAD }),\n isDispatch: true,\n isDummy: false\n },\n {\n title: \"NAV_AGENT_RELOAD\",\n action: setSearchMemberModalVisible(true, null, true),\n isDispatch: true,\n isDummy: false,\n isRequiredAgentReload: true\n },\n {\n title: \"NAV_NEW_MEMBERSHIP\",\n path: WebUrl._URL_SHOP_REGISTER_MEMBER,\n isDummy: false\n },\n {\n title: \"NAV_NEW_PLAYER\",\n path: WebUrl._URL_SHOP_REGISTER_PLAYER,\n isDummy: false\n },\n {\n title: \"NAV_RELOAD_PIN_COMM\",\n path: WebUrl._URL_SHOP_AGENT_COMMISSION_REPORT,\n isDummy: false,\n isAgentOnly: true\n },\n {\n title: \"NAV_RELOAD_PIN\",\n path: WebUrl._URL_SHOP_TRANSACTION_REQUEST,\n isDummy: false\n },\n {\n title: \"NAV_CREDIT\", isDummy: true\n },\n {\n title: \"NAV_BLOCK_DELETE_PUK\",\n action: setSearchMemberModalVisible(true, { mainUrl: WebUrl._URL_SHOP_BLOCK_PUK, alternateUrl: \"\" }),\n isDispatch: true,\n isDummy: false\n },\n {\n title: \"NAV_RELOAD_INTERNATIONAL\",\n action: setSearchMemberModalVisible(true, { mainUrl: WebUrl._URL_SHOP_CLAIM_BONUS, alternateUrl: WebUrl._URL_SHOP_CLAIM_BONUS }),\n isDispatch: true,\n isDummy: false\n },\n {\n title: \"NAV_RELOAD_BATCH\", \n path: WebUrl._URL_SHOP_LIMIT_APPROVAL_REPORT,\n isDummy: false,\n },\n {\n path: WebUrl._URL_ONLINE_WITHDRAWAL_REQUEST, \n title: 'ONLINE_WITHDRAWAL', \n isDummy: false,\n isCustomerServiceOnly: true,\n onlineWithdrawalShop: true\n },\n {\n title: \"NAV_USER_INFO\", isDummy: true\n },\n {\n title: \"NAV_BANK_IN\", isDummy: true\n },\n {\n title: \"NAV_TRANSACTION_HISTORY\",\n isCustomerServiceOnly: false,\n isDummy: true\n },\n {\n title: \"NAV_TRANSACTION_HISTORY\",\n path: WebUrl._URL_SHOP_CREDIT_TOPUP_REPORT,\n isDummy: false,\n isCustomerServiceOnly: true\n },\n {\n title: \"NAV_REPORT\",\n path: WebUrl._URL_SHOP_REPORT,\n isDummy: false\n },\n {\n title: \"NAV_REPORT_USER_SALES\",\n path: WebUrl._URL_SHOP_CREDIT_TRANSFER_REPORT,\n isDummy: false,\n isCustomerServiceOnly: true\n },\n {\n title: \"NAV_REPORT_USER_SALES\",\n isDummy: true,\n isCustomerServiceOnly: false\n },\n {\n title: \"PLAYER_CREATION_REPORT\", \n path: WebUrl._URL_SHOP_PLAYER_CREATION_REPORT,\n isDummy: false,\n },\n {\n title: \"NAV_OUTGOING_MESSAGE\", isDummy: true\n },\n {\n title: \"NAV_SMS_COMMAND\", isDummy: true\n },\n {\n title: \"NAV_SMS_FEES\", isDummy: true\n },\n {\n title: \"NAV_CHANGE_PASSWORD\", isDummy: true\n },\n {\n title: \"NAV_TRACKING_PIN\", isDummy: true\n },\n {\n title: \"NAV_PIN\", isDummy: true\n },\n {\n title: \"NAV_PAY_BILL\", isDummy: true\n },\n]\n\nexport default Menu;\n","import React from \"react\";\nimport { Route } from \"react-router-dom\";\nimport { PageSettings } from \"./../../config/page-settings.js\";\nimport SidebarNavList from \"./sidebar-nav-list.jsx\";\nimport { connect } from \"react-redux\";\nimport Menus from \"./menu.jsx\";\nimport ShopMenus from \"./shop-menu.jsx\";\nimport { LoginType, Theme } from \"../../util/Constant\";\nimport { AccessRight, Status, WebUrl } from \"../../util/Constant\";\n\nclass SidebarNav extends React.Component {\n static contextType = PageSettings;\n constructor(props) {\n super(props);\n this.state = {\n active: -1,\n clicked: -1\n };\n }\n\n playSound = async () => {\n const audio = new Audio();\n audio.src = require(\"./notification.mp3\");\n\n try {\n await audio.load();\n await audio.play();\n } catch (error) {\n console.error(\"Error playing sound:\", error);\n }\n };\n\n filterMenuByPermission = () => {\n var menuToUse =\n this.props.authState.userData.loginType == LoginType._LOGIN_TYPE_SHOP\n ? ShopMenus\n : JSON.parse(JSON.stringify(Menus));\n\n if (this.props.authState.userData.accessString !== undefined) {\n if (\n this.props.authState.userData.loginType == LoginType._LOGIN_TYPE_SHOP\n ) {\n menuToUse = ShopMenus.filter((item) => {\n if (\n item.isAgentOnly == undefined &&\n item.isCustomerServiceOnly == undefined &&\n item.isRequiredAgentReload == undefined\n ) {\n return true;\n } else {\n return (\n item.isAgentOnly == this.props.authState.userData.isShopAgent ||\n item.isCustomerServiceOnly ==\n this.props.authState.userData.isCustomerService ||\n item.isRequiredAgentReload ==\n this.props.authState.userData.agentReload ||\n item.onlineWithdrawalShop ==\n this.props.authState.userData.onlineWithdrawalShop\n );\n }\n });\n } else {\n var userPermissionData =\n this.props.authState.userData.accessString.split(\";\");\n var permissionArrKey = [];\n menuToUse = JSON.parse(JSON.stringify(Menus));\n\n for (var i = 0; i < userPermissionData.length; i++) {\n var keyValuePermission = userPermissionData[i].split(\":\");\n if (keyValuePermission.length == 2) {\n if (\n keyValuePermission[1][AccessRight._READ_BIT_POSITION] ==\n Status._ENABLED.toString()\n ) {\n permissionArrKey.push(\n keyValuePermission[0] + AccessRight._READ_PERMISSION_STRING\n );\n }\n }\n }\n //first filter away non use children\n for (var i = 0; i < menuToUse.length; i++) {\n if (menuToUse[i].children) {\n menuToUse[i].children = menuToUse[i].children.filter((item) => {\n let permission = item[\"permission\"];\n let feedbackAdminFilter =\n this.props.authState.userData?.isFeedbackAdminOnly ==\n Status._ENABLED && item[\"hideFromFeedbackAdmin\"];\n\n if (feedbackAdminFilter) {\n return false;\n }\n if (permission !== undefined) {\n return (\n permissionArrKey.filter((item) => item == permission)\n .length != 0\n );\n } else {\n return true;\n }\n });\n }\n }\n\n //secondly filter away parent\n menuToUse = menuToUse.filter((item) => {\n if (!item.children || item.children.length == 0) {\n if (item.isDummy) {\n return false;\n } else {\n let permission = item.permission;\n if (permission !== undefined) {\n return (\n permissionArrKey.filter((item) => item == permission)\n .length != 0\n );\n } else {\n return true;\n }\n }\n } else {\n return true;\n }\n });\n }\n }\n\n // Set online withdrawal notification\n if (this.props.authState.pendingOnlineWithdrawalCount > 0) {\n menuToUse = menuToUse.map((i) =>\n i.path == WebUrl._URL_ONLINE_WITHDRAWAL_REQUEST\n ? { ...i, hasNotification: true }\n : i\n );\n\n if (this.props.authState.playSound) {\n this.playSound();\n }\n }\n\n return menuToUse;\n };\n\n handleExpand(e, i, match) {\n e.preventDefault();\n\n if (this.state.clicked === -1 && match) {\n this.setState((state) => ({\n active: -1,\n clicked: 1,\n }));\n } else {\n this.setState((state) => ({\n active: this.state.active === i ? -1 : i,\n clicked: 1,\n }));\n }\n }\n\n render() {\n var menuList = this.filterMenuByPermission();\n\n return (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n ...state,\n});\n\nexport default connect(mapStateToProps, null)(SidebarNav);\n","import React from 'react';\nimport { connect } from \"react-redux\";\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport { PageSettings } from './../../config/page-settings.js';\nimport SidebarProfile from './sidebar-profile.jsx';\nimport SidebarNav from './sidebar-nav.jsx';\nimport { Role } from \"../../util/Constant\";\n\nclass Sidebar extends React.Component {\n\tstatic contextType = PageSettings;\n\t\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{({toggleSidebarMinify, toggleMobileSidebar, pageSidebarTransparent}) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n \n {!this.context.pageSidebarSearch && this.props.authState.userData.userRoleId != Role._SHOP && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t)\n\t}\n}\nconst mapStateToProps = state => ({\n ...state\n});\n\nexport default connect(\n mapStateToProps,\n null\n)(Sidebar);","import React, { useState, useEffect, useContext } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { useHistory } from \"react-router-dom\";\nimport { PageSettings } from './../../config/page-settings.js';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useForm } from \"react-hook-form\";\nimport { performLogin, getShopCredit } from \"../../redux/AuthAction.js\";\nimport { ApiKey, ApiUrl, WebUrl, Role, Theme } from \"../../util/Constant\";\nimport { useTranslation } from 'react-i18next';\nimport { getValidationMessage } from \"../../util/Util\";\n\n/// \n/// Author : Andrew\n/// \nconst Login = props => {\n const { t, i18n } = useTranslation();\n let _history = useHistory();\n const _context = useContext(PageSettings);\n const _dispatch = useDispatch();\n const { isLoggedIn } = useSelector(state => state.authState);\n\n const { register, handleSubmit, errors } = useForm();\n\n useEffect(() => {\n _context.handleSetPageSidebar(false);\n _context.handleSetPageHeader(false);\n _context.handleSetPageContentFullWidth(true);\n\n return (() => {\n _context.handleSetPageSidebar(true);\n _context.handleSetPageHeader(true);\n _context.handleSetPageContentFullWidth(false);\n });\n }, []);\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n if (isLoggedIn) {\n _history.push(WebUrl._URL_MAIN);\n }\n }, [isLoggedIn]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n await _dispatch(performLogin(data.username, data.password));\n }\n\n /// \n /// Author : Andrew\n /// \n return (\n
    \n
    \n
    \n \n
    {process.env.REACT_APP_NAME == Theme._EPAY ? \"Epay Game Reload+\" : process.env.REACT_APP_NAME == Theme._OREN ? \"Oren Mart\" : \"Mantap\"}
    \n
    \n
    \n
    \n \n {errors.username &&
    {t(getValidationMessage(errors.username))}
    }\n
    \n
    \n \n {errors.password &&
    {t(getValidationMessage(errors.password))}
    }\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default withRouter(Login);","import React from 'react';\nimport classNames from 'classnames';\n\nconst PanelStat = React.createContext();\n\nclass Panel extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t\n\t\tthis.toggleExpand = () => {\n\t\t\tthis.setState(state => ({\n\t\t\t\texpand: !this.state.expand\n\t\t\t}));\n\t\t}\n\t\t\n\t\tthis.toggleRemove = () => {\n\t\t\tthis.setState(state => ({\n\t\t\t\tremove: !this.state.remove\n\t\t\t}));\n\t\t}\n\t\t\n\t\tthis.toggleCollapse = () => {\n\t\t\tthis.setState(state => ({\n\t\t\t\tcollapse: !this.state.collapse\n\t\t\t}));\n\t\t}\n\t\t\n\t\tthis.toggleReload = () => {\n\t\t\tif (this.state.reload !== true) {\n\t\t\t\tthis.setState(state => ({\n\t\t\t\t\treload: true\n\t\t\t\t}));\n\t\t\t\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState(state => ({\n\t\t\t\t\t\treload: false\n\t\t\t\t\t}));\n\t\t\t\t}, 2000);\n\t\t\t}\n\t\t}\n\t\t\n\t\tthis.state = {\n\t\t\texpand: false,\n\t\t\tcollapse: false,\n\t\t\treload: false,\n\t\t\tremove: false,\n\t\t\ttoggleExpand: this.toggleExpand,\n\t\t\ttoggleReload: this.toggleReload,\n\t\t\ttoggleRemove: this.toggleRemove,\n\t\t\ttoggleCollapse: this.toggleCollapse\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{(!this.state.remove && \n\t\t\t\t\t
    \n\t\t\t\t\t\t{ this.props.children }\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t);\n\t}\n};\n\nclass PanelHeader extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t

    { this.props.children }

    \n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t(!this.props.noButton &&\n\t\t\t\t\t\n\t\t\t\t\t\t{({ toggleExpand, toggleRemove, toggleCollapse, toggleReload }) => (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t)\n\t}\n}\n\nclass PanelBody extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{({ collapse, reload }) => (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{ this.props.children }\n\t\t\t\t\t\t\n\t\t\t\t\t\t{(reload && \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t);\n\t}\n};\n\nclass PanelFooter extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{ this.props.children }\n\t\t\t
    \n\t\t);\n\t}\n};\n\nexport { Panel, PanelHeader, PanelBody, PanelFooter };\n","import React from 'react';\nimport { stringIsNullOrEmpty } from \"../../util/Util\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// Used to create the navigation button\n/// It will form different button based on the existence of url\n/// \nconst NavigationButton = (props) => {\n if (!stringIsNullOrEmpty(props.url)) {\n return (\n \n );\n }\n else {\n return (\n \n );\n }\n}\n\nexport default NavigationButton","import React, { useEffect, useState } from \"react\";\nimport {\n useTable,\n usePagination,\n useSortBy,\n useFilters,\n useGroupBy,\n useExpanded,\n useRowSelect,\n useGlobalFilter,\n} from \"react-table\";\nimport { ApiKey } from '../../util/Constant';\nimport { useTranslation, Translation } from 'react-i18next';\nimport { stringIsNullOrEmpty, createFormBody, isObjectEmpty, numberWithCurrencyFormat } from \"../../util/Util\";\nimport { showResponseMessage, setBusy, setIdle } from \"../../redux/AppAction\";\nimport { useDispatch } from \"react-redux\";\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useExportData } from \"react-table-plugins\";\nimport Papa from \"papaparse\";\nimport XLSX from \"xlsx\";\nimport FileSaver from 'file-saver';\n\n// Define a default UI for filtering\nconst DefaultColumnFilter = ({\n column: { filterValue, preFilteredRows, setFilter }\n}) => {\n\n return (\n {\n setFilter(e.target.value || undefined); // Set undefined to remove the filter entirely\n }}\n />\n );\n}\n\n/// \n/// A default UI for Global Filtering\n/// \nconst GlobalFilter = ({\n preGlobalFilteredRows, globalFilter, setGlobalFilter\n}) => {\n return (\n \n {\n (t, { i18n }) => \n {\n setGlobalFilter(e.target.value || undefined);\n }}\n placeholder={t(\"SEARCH_HERE\")}\n />\n \n }\n \n )\n}\n\n/// \n/// table provided option for filter, global filter, minimum rows, and footer\n/// \nconst ReactTable = ({ columns,\n data = [], filterable = false, renderFooter = false, globalFilterable = true, tableStyle, defaultSortBy,\n minRows = 0, getFilteredRecords, fetchUrl, postData, className, initialPageSize = 10, customnPageSizeOptions,\n exportRequired = false, showOverallInfo = false, pageMultiply = true, isHidePagination = false, customLoader, hiddenColumns = [], exportExternalData = [] }) => {\n const { t } = useTranslation();\n const [tableData, setTableData] = useState([]);\n const [processedPageCount, setProcessedPageCount] = useState(0);\n const [totalRecordCount, setTotalRecordCount] = useState(0);\n const [overallInfo, setOverallInfo] = useState({});\n const [pageRange, setPageRange] = useState([]);\n const [fetchFinishFlag, setFetchFinishFlag] = useState(false);\n const _dispatch = useDispatch();\n const _PAGE_RANGE = 6;\n\n const defaultColumn = React.useMemo(\n () => ({\n Filter: DefaultColumnFilter,\n }),\n []\n );\n\n ///default page size option for select\n const pageSizeOptions = React.useMemo(() => { return customnPageSizeOptions != undefined ? customnPageSizeOptions : [10, 20, 50, 100, 200, 500] }, []);\n\n /// \n /// Author: YJ\n /// \n function getExportFileBlob({ columns, data, fileType, fileName }) {\n var response = null;\n if (!stringIsNullOrEmpty(fetchUrl)) {\n if (postData != null) {\n postData[\"StartCount\"] = 0;\n postData[\"PageSize\"] = totalRecordCount;\n\n response = ApiEngine.post(fetchUrl, postData);\n }\n else {\n fetchUrl += (fetchUrl.indexOf(\"?\") != -1) ? \"&\" : \"?\";\n\n response = ApiEngine.get(fetchUrl + \"StartCount=\" + 0 + \"&PageSize=\" + totalRecordCount);\n }\n\n response.then(function (responseJson) {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var allData = responseJson[ApiKey._API_DATA_KEY][ApiKey._API_DATA_KEY];\n\n if (fileType === \"csv\") {\n const csvString = Papa.unparse(allData);\n var csvData = new Blob([csvString], { type: \"text/csv\" });\n FileSaver.saveAs(csvData, `${fileName}.csv`);\n }\n else if (fileType === \"xlsx\") {\n const header = columns.map((c) => c.id);\n const headerNames = columns.map((c) => t(c.exportValue));\n\n const compatibleData = allData.map((row) => {\n const obj = {};\n header.forEach((col, index) => {\n obj[headerNames[index]] = row[col];\n });\n return obj;\n });\n\n let wb = XLSX.utils.book_new();\n let ws1 = XLSX.utils.json_to_sheet(compatibleData, {\n headerNames,\n });\n XLSX.utils.book_append_sheet(wb, ws1, \"React Table Data\");\n XLSX.writeFile(wb, `${fileName}.xlsx`);\n }\n return false;\n }\n });\n }\n }\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n footerGroups,\n prepareRow,\n page,\n canPreviousPage,\n canNextPage,\n pageOptions,\n pageCount,\n gotoPage,\n nextPage,\n previousPage,\n setPageSize,\n preGlobalFilteredRows,\n setGlobalFilter,\n exportData,\n state: {\n globalFilter,\n pageIndex,\n pageSize,\n sortBy,\n groupBy,\n expanded,\n filters,\n selectedRowIds\n }\n } = useTable(\n {\n columns,\n data: tableData,\n defaultColumn,\n disableMultiSort: true,\n initialState: {\n pageIndex: 0,\n pageSize: initialPageSize,\n sortBy: (defaultSortBy != null) ? defaultSortBy : [],\n hiddenColumns: hiddenColumns\n },\n manualPagination: !stringIsNullOrEmpty(fetchUrl),\n pageCount: processedPageCount,\n autoResetPage: stringIsNullOrEmpty(fetchUrl),\n getExportFileBlob\n },\n useGlobalFilter,\n useFilters,\n useGroupBy,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n useExportData\n );\n\n /// used to get the filtered record\n useEffect(() => {\n if (getFilteredRecords != null) {\n getFilteredRecords({ page });\n }\n }, [globalFilter, filters, pageSize, pageIndex])\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n if (fetchUrl == null) {\n if (data.length > 0) {\n setFetchFinishFlag(true);\n }\n setTableData(data);\n }\n }, [data]);\n\n /// \n /// Author : YJ\n /// \n function range(start, end) {\n return Array(end - start + 1).fill().map((_, idx) => start + idx)\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n let start = Math.max(1, (pageIndex + 1) - Math.floor(_PAGE_RANGE / 2));\n let end = start + _PAGE_RANGE;\n if (end >= processedPageCount) {\n let diff = end - processedPageCount;\n start = Math.max(start - diff, 1);\n end = processedPageCount;\n }\n let pgRange = range(start, end);\n setPageRange(pgRange);\n }, [pageIndex, processedPageCount]);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (fetchUrl == null) {\n setProcessedPageCount(Math.ceil(tableData.length / pageSize));\n }\n }, [tableData]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// used for triggering the fetch data function\n /// \n useEffect(() => {\n updateDisplay();\n }, [fetchUrl, postData, pageSize, pageIndex])\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function updateDisplay() {\n if (!stringIsNullOrEmpty(fetchUrl)) {\n setFetchFinishFlag(false);\n let startRow = pageIndex;\n\n if (pageMultiply) {\n startRow = pageSize * pageIndex;\n }\n\n if (postData != null) {\n postData[\"StartCount\"] = startRow;\n postData[\"PageSize\"] = pageSize;\n\n var responseJson = await ApiEngine.post(fetchUrl, postData);\n }\n else {\n fetchUrl += (fetchUrl.indexOf(\"?\") != -1) ? \"&\" : \"?\";\n\n var responseJson = await ApiEngine.get(fetchUrl + \"StartCount=\" + startRow + \"&PageSize=\" + pageSize);\n }\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setTableData(responseJson[ApiKey._API_DATA_KEY][ApiKey._API_DATA_KEY]);\n let calculatedPageCount = Math.ceil(responseJson[ApiKey._API_DATA_KEY][\"totalCount\"] / pageSize);\n setProcessedPageCount(calculatedPageCount);\n setTotalRecordCount(responseJson[ApiKey._API_DATA_KEY][\"totalCount\"]);\n setOverallInfo(responseJson[ApiKey._API_DATA_KEY][\"overallInfo\"] ?? {});\n\n if (calculatedPageCount < pageIndex) {\n gotoPage(Math.max(calculatedPageCount - 1, 0));\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n\n setFetchFinishFlag(true);\n }\n else {\n setProcessedPageCount(Math.ceil(tableData.length / pageSize));\n }\n }\n\n function exportExternalDataToXlsx() {\n const compatibleData = data.map(item => {\n const newItem = {};\n exportExternalData.forEach(field => {\n newItem[field] = item[field];\n });\n return newItem;\n });\n\n let wb = XLSX.utils.book_new();\n let ws1 = XLSX.utils.json_to_sheet(compatibleData, {\n exportExternalData,\n });\n XLSX.utils.book_append_sheet(wb, ws1, \"React Table Data\");\n XLSX.writeFile(wb, `data.xlsx`);\n }\n\n // Render the UI for your table\n return (\n
    \n {\n (!isObjectEmpty(overallInfo) && showOverallInfo) &&
    \n {Object.keys(overallInfo).map((key, index) => {\n return
    \n {t(key)}: = 0 ? \"success\" : \"danger\")}>{numberWithCurrencyFormat(Number(overallInfo[key]), 4)}\n
    \n })}\n
    \n }\n {\n totalRecordCount > 0 && exportRequired &&
    \n
    \n \n \n
    \n
    \n }\n {\n data.length > 0 && exportExternalData.length > 0 &&
    \n
    \n \n
    \n
    \n }\n {globalFilterable &&\n
    \n
    \n setPageSize(Number(e.target.value))} >\n {pageSizeOptions.map(pageSize => (\n \n ))}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n }\n
    \n \n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n \n ))}\n \n ))}\n \n {(fetchFinishFlag || customLoader == null) && \n {page.map(row => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => {\n return (\n \n );\n })}\n \n );\n })}\n {\n page.length === 0\n ? \n : (minRows > 0) && [...Array((pageSize <= minRows ? (pageSize - page.length) : Math.max(0, (minRows - page.length))))].map((x, i) =>\n \n {[...Array(page[0].cells.length)].map((a, b) => (\n \n ))}\n \n )\n }\n }\n {renderFooter && \n {footerGroups.map(group => (\n \n {group.headers.map(column => (\n \n ))}\n \n ))}\n }\n {(!fetchFinishFlag && customLoader != null) && \n \n \n \n }\n
    \n {\n typeof column.render(\"Header\").props === 'object' ?\n column.render(\"Header\") :\n (\n
    \n {t(column.render(\"Header\"))}\n {column.disableSortBy == true ? null :\n column.isSorted\n ? column.isSortedDesc\n ? \n : \n : }\n {\n page.length > 0 && column.disableSortBy && column.sortColumn &&\n <>\n {\n column.isAsc ?\n :\n \n }\n \n }\n {\n page.length > 0 && column.showSortIcon && column.disableSortBy && !column.sortColumn &&\n \n }\n
    \n )\n }\n {/* Render the columns filter UI */}\n
    {filterable && column.canFilter ? column.render(\"Filter\") : null}
    \n
    \n {cell.render(\"Cell\")}\n
    {t(\"NO_DATA_FOUND\")}
    {column.render('Footer')}
    {customLoader}
    \n
    \n {\n !isHidePagination &&\n
    \n
    \n
    \n {\" \"}\n {\" \"}\n {pageRange.map((pageI, key) => {\n return ()\n })}\n {\" \"}\n {\" \"}\n
    \n
    \n
    \n
    \n \n {t(\"PAGE\")}{\" \"}\n \n {pageIndex + 1} of {pageOptions.length}\n {\" \"}\n \n \n {t(\"GO_TO_PAGE\")}:{\" \"}\n {\n if (!stringIsNullOrEmpty(e.target.value)) {\n const page = e.target.value ? Number(e.target.value) - 1 : 0;\n gotoPage(page);\n }\n }}\n style={{ width: \"100px\" }}\n />\n {\" \"}\n
    \n
    \n
    \n }\n
    \n );\n}\n\nexport default ReactTable;","import React, { useState, useMemo, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from '../../util/Util';\nimport { ApiUrl, ApiKey, Role, AlertTypes } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { showMessage, showResponseMessage } from \"redux/AppAction\";\nimport { useForm } from \"react-hook-form\";\n\n/// \n/// Author: Chris\n/// \nconst SetShopLimitModal = ({ visible, shopLimitDetails, onFinish }) => {\n var _userData = useSelector(state => state.authState.userData);\n const _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [currentLimit, setCurrentLimit] = useState();\n const _FIXED_LIMIT_OPTIONS = [\n { label: \"1,000\", value: 1000 },\n { label: \"2,000\", value: 2000 },\n { label: \"3,000\", value: 3000 },\n { label: \"5,000\", value: 5000 }\n ];\n\n /// \n /// Author: YJ\n /// get the latest credit\n /// \n useEffect(() => {\n if (visible) {\n refreshCreditLimit();\n }\n }, [visible])\n\n /// \n /// Author: Chris\n /// \n const refreshCreditLimit = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + shopLimitDetails.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue('currentCreditLimit', responseJson[ApiKey._API_DATA_KEY].shopProfile.creditLimit);\n setCurrentLimit(responseJson[ApiKey._API_DATA_KEY].shopProfile.creditLimit);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: Chris\n /// \n const onSubmit = async (data) => {\n let apiUrl = ApiUrl._API_UPDATE_SHOP_LIMIT;\n\n if (_userData.userRoleId == Role._MANAGER && shopLimitDetails.isRequiredSetLimitApproval) {\n apiUrl = ApiUrl._API_REQUEST_ADJUST_SHOP_LIMIT;\n }\n\n var responseJson = await ApiEngine.post(apiUrl + \"?amount=\" + data.creditLimit + \"&shopId=\" + shopLimitDetails.id + \"&remark=\" + data.billNumber);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n onFinish(true);\n }\n\n /// \n /// Author: YJ\n /// \n const renderFixedLimitBtns = useMemo(() => {\n return _FIXED_LIMIT_OPTIONS.map((option, index) => {\n let parsedNumber = parseFloat(option.value);\n let parsedCurrLimit = parseFloat(currentLimit);\n var valueToSet = 0;\n\n if (parsedCurrLimit > parsedNumber) {\n valueToSet = (parsedCurrLimit - parsedNumber) * -1;\n }\n else {\n valueToSet = parsedNumber - parsedCurrLimit;\n }\n\n return (\n \n );\n })\n }, [currentLimit, shopLimitDetails]);\n\n return (\n \n {t(\"SET_SHOP_LIMIT_FOR\")} {shopLimitDetails.userFullName}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n {errors.creditLimit &&
    {t(errors.creditLimit.message)}
    }\n
    \n
    \n \n \n {errors.billNumber &&
    {t(errors.billNumber.message)}
    }\n
    \n
    \n {renderFixedLimitBtns}\n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default SetShopLimitModal;","import React, { useState, useMemo, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { useDispatch } from \"react-redux\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from '../../util/Util';\nimport { ApiUrl, ApiKey, Role, AlertTypes } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { showMessage, showResponseMessage } from \"redux/AppAction\";\nimport { useForm } from \"react-hook-form\";\n\n/// \n/// Author: CK\n/// \nconst SetShopUpperLimitModal = ({ visible, shopLimitDetails, onFinish }) => {\n const _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [currentLimit, setCurrentLimit] = useState();\n const [currentUpperLimit, setCurrentUpperLimit] = useState();\n\n /// \n /// Author: CK\n /// get the latest credit\n /// \n useEffect(() => {\n if (visible) {\n refreshUpperCreditLimit();\n }\n }, [visible])\n\n /// \n /// Author: CK\n /// \n const refreshUpperCreditLimit = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + shopLimitDetails.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue('currentLimit', responseJson[ApiKey._API_DATA_KEY].shopProfile.creditLimit);\n setValue('currentUpperCreditLimit', responseJson[ApiKey._API_DATA_KEY].shopProfile.shopUpperLimit);\n setCurrentLimit(responseJson[ApiKey._API_DATA_KEY].shopProfile.creditLimit);\n setCurrentUpperLimit(responseJson[ApiKey._API_DATA_KEY].shopProfile.shopUpperLimit);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n const onSubmit = async (data) => {\n let apiUrl = ApiUrl._API_UPDATE_UPPER_SHOP_LIMIT + \"?shopId=\" + shopLimitDetails.id;\n\n if (!stringIsNullOrEmpty(data.upperCreditLimit)) {\n if (Number(currentLimit) > Number(data.upperCreditLimit)) {\n _dispatch(showResponseMessage(false, t(\"CREDIT_LIMIT_EXCEED_UPPER_LIMIT\")));\n return;\n }\n\n apiUrl += \"&shopUpperLimit=\" + data.upperCreditLimit;\n }\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n onFinish(true);\n }\n }\n\n return (\n \n {t(\"SET_SHOP_UPPER_LIMIT_FOR\")} {shopLimitDetails.userFullName}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n {t(\"REMARK\")}: {t(\"UPPER_LIMIT_INPUT_REMARK\")}\n {errors.upperCreditLimit &&
    {t(errors.upperCreditLimit.message)}
    }\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default SetShopUpperLimitModal;","import React, { useState, useEffect, useRef } from 'react';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { ApiKey, ApiUrl, Role, AlertTypes } from '../../util/Constant';\nimport { useDispatch } from 'react-redux';\nimport { showMessage, showResponseMessage } from 'redux/AppAction.js';\nimport { useForm } from \"react-hook-form\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty, validatePhoneNumber, getValidationMessage } from \"../../util/Util\";\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport IntlTelInput from 'react-intl-tel-input/dist/components/IntlTelInput';\n\n/// \n/// Author: YJ\n/// \nconst CopyAccountDetailModal = props => {\n const { t } = useTranslation();\n var _dispatch = useDispatch();\n const { register, handleSubmit, errors, triggerValidation, setValue, getValues, watch } = useForm();\n const [modalVisibility, setModalVisibility] = useState(false);\n const [refId, setRefId] = useState('');\n const [refRole, setRefRole] = useState('');\n const _phoneFieldRef = useRef(null);\n const [enrollKogEvent, setEnrollKogEvent] = useState(false);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n setRefId(props.refId);\n setRefRole(props.refRole);\n\n if (props.refRole == Role._AGENT) {\n register({ name: 'phone' }, { required: true });\n setValue('phone', '');\n }\n }, [props[\"visible\"]]);\n\n /// \n /// Author: YJ\n /// \n function cleanUp(refreshRequired) {\n setRefId(\"\");\n setRefRole(\"\");\n props.onFinish(refreshRequired);\n }\n\n /// \n /// Author: YJ\n /// \n const onSubmit = async (data) => {\n if (data.password != data.confirmPassword) {\n _dispatch(showResponseMessage(false, t(\"CONFIRM_PASSWORD_AND_PASSWORD_IS_NOT_TALLY\")));\n return;\n }\n\n let params = {\n refId: refId,\n username: data.username,\n roleId: refRole,\n password: data.password,\n userFullName: data.userFullName\n };\n\n if (refRole == Role._SHOP) {\n params[\"shopName\"] = data.userFullName;\n \n if (!props.isCustomerService) {\n params[\"enrollCurrentKogEvent\"] = enrollKogEvent;\n }\n } else if (refRole == Role._AGENT) {\n params[\"phoneNumber\"] = data.phone;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_COPY_USER_ACCOUNT, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && cleanUp(true)\n }));\n };\n\n /// \n /// Author : A\n /// \n const getTitle = () => {\n let title = \"\";\n switch (refRole) {\n case Role._SHOP:\n title = t(\"SHOP\")\n break;\n case Role._MANAGER:\n title = t(\"MANAGER\")\n break;\n case Role._AGENT:\n title = t(\"AGENT\")\n break;\n }\n return title;\n }\n\n /// \n /// Author : A\n /// \n const onChangePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n // setPhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n register({ name: \"phone\" }, {\n validate: (value) => (validatePhoneNumber(fullNumber, countryData[\"iso2\"]) && validatePhoneNumber(newNumber, countryData[\"iso2\"])) || stringIsNullOrEmpty(newNumber) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n setValue(\"phone\", stringIsNullOrEmpty(newNumber) ? '' : formattedNumber);\n triggerValidation(\"phone\")\n }\n\n return (\n { cleanUp(false) }} size=\"lg\">\n
    \n { cleanUp(false) }}>{t(\"COPY\")} {getTitle()}\n \n
    \n
    \n
    \n \n \n {errors.userFullName &&
    {t(errors.userFullName.message)}
    }\n
    \n
    \n {\n props.refRole == Role._AGENT &&\n
    \n
    \n \n {\n onChangePhoneNumber(_phoneFieldRef.current.isValidNumber(getValues(\"form\")), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={''}\n useMobileFullscreenDropdown={false}\n separateDialCode\n />\n {errors.phone &&
    {t(getValidationMessage(errors.phone))}
    }\n
    \n
    \n }\n
    \n
    \n \n \n {errors.username &&
    {t(errors.username.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.password &&
    {t(errors.password.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.confirmPassword &&
    {t(errors.confirmPassword.message)}
    }\n
    \n
    \n {\n refRole == Role._SHOP && !props.isCustomerService &&\n
    \n
    \n
    \n
    \n setEnrollKogEvent(e.target.checked)}\n checked={enrollKogEvent}\n ref={register} />\n \n
    \n
    \n
    \n }\n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default CopyAccountDetailModal;","import React, { useState, useMemo, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from '../../util/Util';\nimport { ApiUrl, ApiKey, Role, AlertTypes } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { showMessage, showResponseMessage } from \"redux/AppAction\";\nimport { useForm } from \"react-hook-form\";\n\n/// \n/// Author: YJ\n/// \nconst SetShopEghlLimitModal = ({ visible, shopLimitDetails, onFinish }) => {\n var _userData = useSelector(state => state.authState.userData);\n const _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [currentLimit, setCurrentLimit] = useState();\n const _FIXED_LIMIT_OPTIONS = [\n { label: \"500\", value: 500 },\n { label: \"1,000\", value: 1000 },\n { label: \"2,000\", value: 2000 },\n { label: \"3,000\", value: 3000 },\n { label: \"5,000\", value: 5000 }\n ];\n\n /// \n /// Author: YJ\n /// get the latest credit\n /// \n useEffect(() => {\n if (visible) {\n refreshEghlLimit();\n }\n }, [visible])\n\n /// \n /// Author: YJ\n /// \n const refreshEghlLimit = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOP_EGHL_LIMIT + \"?userId=\" + shopLimitDetails.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue('currentEghlLimit', responseJson[ApiKey._API_DATA_KEY]);\n setCurrentLimit(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: YJ\n /// \n const onSubmit = async (data) => {\n let params = {\n \"amount\": parseFloat(data.creditLimit),\n \"userId\": shopLimitDetails.id,\n \"remark\": data.billNumber\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_SET_SHOP_EGHL_LIMIT, params);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n onFinish(true);\n }\n\n /// \n /// Author: YJ\n /// \n const renderFixedLimitBtns = useMemo(() => {\n return _FIXED_LIMIT_OPTIONS.map((option, index) => {\n let parsedNumber = parseFloat(option.value);\n let parsedCurrLimit = parseFloat(currentLimit);\n var valueToSet = 0;\n\n if (parsedCurrLimit > parsedNumber) {\n valueToSet = (parsedCurrLimit - parsedNumber) * -1;\n }\n else {\n valueToSet = parsedNumber - parsedCurrLimit;\n }\n\n return (\n \n );\n })\n }, [currentLimit, shopLimitDetails]);\n\n return (\n \n {t(\"SET_SHOP_EGHL_LIMIT_FOR\")} {shopLimitDetails.userFullName}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n {errors.creditLimit &&
    {t(errors.creditLimit.message)}
    }\n
    \n
    \n \n \n {errors.billNumber &&
    {t(errors.billNumber.message)}
    }\n
    \n
    \n {renderFixedLimitBtns}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default SetShopEghlLimitModal;","import React, { useMemo, useEffect, useState } from 'react';\nimport { Panel, PanelHeader, PanelBody } from 'components/panel/panel.jsx';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Collapse, Card, CardHeader, CardBody } from 'reactstrap';\nimport { useForm } from 'react-hook-form';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport ReactTable from 'components/custom/ReactTable';\nimport { FilterStatus, WebUrl, ApiKey, ApiUrl, Role, AccessRight, AlertTypes, Status } from 'util/Constant';\nimport { navigateTo, createMultiPartFormBody, stringIsNullOrEmpty, numberWithCurrencyFormat, isObjectEmpty } from \"../../../util/Util\";\nimport { useTranslation } from 'react-i18next';\nimport ResetPasswordModal from '../../../components/custom/ResetPasswordModal';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport SetShopLimitModal from '../../../components/custom/SetShopLimitModal';\nimport SetShopUpperLimitModal from '../../../components/custom/SetShopUpperLimitModal';\nimport { showMessage, showResponseMessage } from '../../../redux/AppAction';\nimport CopyAccountDetailModal from '../../../components/custom/CopyAccountDetailModal';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport SetShopEghlLimitModal from 'components/custom/SetShopEghlLimitModal';\n\n/// \n/// Author: Chris\n/// Edited: Wind - Added resetPasswordAfterLogin\n/// \nconst MassAssignSettingsComponent = ({ selectedShops, massAssignHandler }) => {\n const { t } = useTranslation();\n const { register, handleSubmit } = useForm();\n var _dispatch = useDispatch();\n\n const [checkShopSettings, setCheckShopSettings] = useState({\n canCreateMember: false,\n canCreatePlayer: false,\n canReload: false,\n canDeposit: false,\n resetPassword: false,\n agentReload: false,\n onlineWithdrawalShop: false,\n canClaimReward: false,\n canCreatePlayerWithoutMember: false,\n canBlockMember: false,\n canUnblockMember: false,\n canEghlReload: false\n });\n\n /// \n /// Author: Chris\n /// \n const resetValues = () => {\n setCheckShopSettings({\n canCreateMember: false,\n canCreatePlayer: false,\n canReload: false,\n canDeposit: false,\n resetPassword: false,\n agentReload: false,\n onlineWithdrawalShop: false,\n canClaimReward: false,\n canCreatePlayerWithoutMember: false,\n canBlockMember: false,\n canUnblockMember: false,\n canEghlReload: false\n });\n }\n\n /// \n /// Author: Chris\n /// \n const onSubmit = (shopSettingsData) => {\n let selectedShopIds = [];\n\n Object.keys(selectedShops).map((key) => {\n if (selectedShops[key]) {\n selectedShopIds.push(key);\n }\n });\n\n if (selectedShopIds.length > 0) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t('MASS_ASSIGN_SETTINGS_WARNING'),\n showCancel: true,\n onConfirm: async () => {\n massAssignHandler(selectedShopIds, shopSettingsData);\n resetValues();\n }\n }));\n }\n else {\n _dispatch(showMessage({ type: AlertTypes._WARNING, content: t('PLEASE_SELECT_A_SHOP') }));\n }\n }\n\n return (\n \n \n {t(\"MASS_ASSIGN_SHOP_SETTINGS\")}\n \n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canCreateMember: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canCreatePlayer: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canReload: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canDeposit: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, resetPassword: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, isRequiredSetLimitApproval: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, agentReload: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, onlineWithdrawalShop: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canClaimReward: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canCreatePlayerWithoutMember: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canBlockMember: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canUnblockMember: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckShopSettings({ ...checkShopSettings, canEghlReload: e.target.checked })}\n ref={register} />\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\n/// \n/// Author: Chris\n/// Edited: Wind - Added resetPasswordAfterLogin\n/// \nconst ManageShop = props => {\n const _dispatch = useDispatch();\n var _history = useHistory();\n var _location = useLocation();\n const { t } = useTranslation();\n const { register, handleSubmit, watch, setValue } = useForm();\n const [shops, setShops] = useState([]);\n const [isResetPasswordModalVisible, setIsResetPasswordModalVisible] = useState(false);\n const [regionOptions, setRegionOptions] = useState([]);\n const [userId, setUserId] = useState('');\n const [isSetShopLimitModalVisible, setIsSetShopLimitModalVisible] = useState(false);\n const [isSetUpperLimitModalVisible, setIsSetUpperLimitModalVisible] = useState(false);\n const [userShopLimitDetails, setUserShopLimitDetails] = useState({\n userFullName: '',\n currentCreditLimit: 0\n });\n const [checkAll, setCheckAll] = useState(false);\n const [selectedShops, setSelectedShops] = useState({});\n const [shopApiUrl, setShopApiUrl] = useState('');\n var [count, setCount] = useState(0);\n const [selectedShopId, setSelectedShopId] = useState('');\n const [modalVisibility, setModalVisibility] = useState(false);\n const [eghlLimitDetail, setEghlLimitDetail] = useState({});\n const _userData = useSelector(state => state.authState.userData);\n\n const _tableColumns = useMemo(() => [\n {\n id: 'checkbox',\n Header: ({ data }) => {\n return (\n
    \n {\n setShops(data);\n setCheckAll(!checkAll);\n }} checked={checkAll} />\n \n
    \n )\n },\n Cell: ({ row }) => {\n return (\n
    \n setSelectedShops({ ...selectedShops, [row.original.id]: !selectedShops[row.original.id] })}\n checked={selectedShops[row.original.id]} />\n \n
    \n )\n },\n width: 30,\n disableSortBy: true,\n },\n {\n Header: t('NAME'),\n accessor: 'userFullName',\n disableSortBy: true\n },\n {\n Header: t('USERNAME'),\n accessor: 'username',\n disableSortBy: true\n },\n {\n Header: t('REGION'),\n accessor: 'regionName',\n disableSortBy: true\n },\n {\n Header: t('CURRENT_LIMIT'),\n accessor: 'creditLimit',\n Cell: ({ row }) => {\n return (\n \n
    {\n setUserShopLimitDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n currentCreditLimit: row.original.shopProfile.creditLimit,\n isRequiredSetLimitApproval: row.original.shopProfile.isRequiredSetLimitApproval\n });\n setIsSetShopLimitModalVisible(true)\n }}>\n {numberWithCurrencyFormat(row.original.shopProfile?.creditLimit)}\n
    \n {\n !stringIsNullOrEmpty(row.original.shopProfile?.shopUpperLimit) &&\n <>\n /\n
    {\n setUserShopLimitDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n currentCreditLimit: row.original.shopProfile.creditLimit\n });\n setIsSetUpperLimitModalVisible(true)\n }}>\n {numberWithCurrencyFormat(row.original.shopProfile?.shopUpperLimit)}\n
    \n \n }\n
    \n )\n },\n disableSortBy: true\n },\n {\n Header: t('EGHL_LIMIT'),\n accessor: 'eghlLimit',\n Cell: ({ row }) => {\n return (\n \n
    {\n setEghlLimitDetail(row.original);\n }}>\n {numberWithCurrencyFormat(row.original.eghlLimit)}\n
    \n
    \n )\n }\n },\n {\n Header: t('STATUS'),\n accessor: 'status',\n Cell: ({ row }) => {\n return (\n \n {\n row.original.status == FilterStatus._ACTIVE ?\n {t(\"ACTIVE\")} :\n {t(\"SUSPENDED\") + \" (\" + row.original.invalidLoginCount + \")\"}\n }\n \n )\n },\n disableSortBy: true\n },\n {\n Header: t('SETTINGS'),\n Cell: ({ row }) => {\n return <>\n {row.original.shopProfile.createPlayerEnable && <>- {t('ADD_PLAYER')}
    }\n {row.original.shopProfile.createMemberEnable && <>- {t('CREATE')} {t('MEMBER')}
    }\n {row.original.shopProfile.reloadEnable && <>- {t('RELOAD')}
    }\n {row.original.shopProfile.depositEnable && <>- {t('CAN_DEPOSIT')}
    }\n {row.original.shopProfile.isRequiredSetLimitApproval && <>- {t('SET_LIMIT_APPROVAL')}
    }\n {row.original.shopProfile.passwordResetAfterLogin && <>- {t('RESET_PASSWORD_AFTER_LOGIN')}
    }\n {row.original.shopProfile.agentReload && <>- {t('CAN_RELOAD_AGENT')}
    }\n {row.original.shopProfile.onlineWithdrawalShop && <>- {t('ONLINE_WITHDRAWAL')}
    }\n {row.original.shopProfile.canClaimReward && <>- {t('CAN_CLAIM_REWARD')}
    }\n {!props.isCustomerService && row.original.shopProfile.createPlayerWithoutMemberEnable && <>- {t('CAN_CREATE_PLAYER_WITHOUT_MEMBER')}
    }\n {!props.isCustomerService && row.original.shopProfile.canBlockMember && <>- {t('CAN_BLOCK_MEMBER')}
    }\n {!props.isCustomerService && row.original.shopProfile.canUnblockMember && <>- {t('CAN_UNBLOCK_MEMBER')}
    }\n {!props.isCustomerService && row.original.shopProfile.canEghlReload && <>- {t('CAN_EGHL_RELOAD')}
    }\n \n },\n disableFilters: true,\n disableSortBy: true,\n },\n {\n\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => {\n var suspended = row.original.status === FilterStatus._SUSPENDED;\n\n return (\n checkIfPermissionExist(props.isCustomerService ? AccessRight._CUSTOMER_SERVICE_CONTROL_PERMISSION : AccessRight._SHOP_CONTROL_PERMISSION, true) &&
    \n \n \n \n {_userData.isAdminLevel &&\n {\n navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_SHOP_API, row.original)\n }}>{t(\"VENDOR_API_DETAILS\")}\n }\n {\n setUserShopLimitDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n currentCreditLimit: row.original.shopProfile.creditLimit,\n isRequiredSetLimitApproval: row.original.shopProfile.isRequiredSetLimitApproval\n });\n setIsSetShopLimitModalVisible(true)\n }}>{t(\"SET_SHOP_LIMIT\")}\n {\n setUserShopLimitDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n currentCreditLimit: row.original.shopProfile.creditLimit,\n isRequiredSetLimitApproval: row.original.shopProfile.isRequiredSetLimitApproval\n });\n setIsSetUpperLimitModalVisible(true)\n }}>{t(\"SET_SHOP_UPPER_LIMIT\")}\n {\n setUserId(row.original.id);\n setIsResetPasswordModalVisible(true);\n }}>{t(\"RESET_PASSWORD\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: `${t(!suspended ? \"BLOCK_SHOP_ALERT\" : \"UNBLOCK_SHOP_ALERT\")} ${row.original.userFullName}?`,\n showCancel: true,\n confirmBtnText: t(!suspended ? \"BLOCK_SHOP\" : \"UNBLOCK_SHOP\"),\n onConfirm: () => updateShopHandler(\n row.original.id,\n (suspended) ? FilterStatus._ACTIVE : FilterStatus._SUSPENDED\n )\n }));\n }}>\n \n {t(!suspended ? \"BLOCK_SHOP\" : \"UNBLOCK_SHOP\")}\n \n \n {checkIfPermissionExist(AccessRight._CUSTOMER_SERVICE_CONTROL_PERMISSION, true) && checkIfPermissionExist(AccessRight._SHOP_CONTROL_PERMISSION, true) &&\n (_userData.userRoleId == Role._SUPER_ADMIN || _userData.userRoleId > Role._MEMBER) &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_PROMO_THIS_SHOP\"),\n showCancel: true,\n onConfirm: () => promoteShop(row.original.id)\n }));\n }}>{t(\"PROMOTE_USER\")}\n }\n {(_userData.isAdminLevel && checkIfPermissionExist(AccessRight._SHOP_CONTROL_PERMISSION, true)) &&\n <>\n { navigateTo(_history, (props.isCustomerService ? WebUrl._URL_ADMIN_CREATE_OR_UPDATE_CUSTOMER_SERVICE : WebUrl._URL_ADMIN_CREATE_OR_UPDATE_SHOP), row.original) }}>{t(\"EDIT\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_SHOP\"),\n showCancel: true,\n onConfirm: () => updateShopHandler(row.original.id, Status._DELETED)\n }));\n }}>{t(\"DELETE_SHOP\")}\n {\n setSelectedShopId(row.original.id);\n setModalVisibility(true);\n }}>{t(\"COPY\")}\n \n \n }\n {\n const win = window.open(WebUrl._URL_VIEW_USER_ACTION_LOG + \"?username=\" + row.original.username\n , \"_blank\");\n win.focus();\n }}>\n {t('VIEW_USER_ACTION_LOG')}\n \n \n \n
    \n )\n },\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ], [checkAll, selectedShops, count]);\n\n /// \n /// Author: Chris\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function promoteShop(userId) {\n let params = {\n id: userId,\n roleId: Role._SHOP,\n isCustomerService: true\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function saveSession() {\n var data = watch();\n sessionStorage.setItem(\"shopFullname\", data.name);\n sessionStorage.setItem(\"shopUsername\", data.username);\n sessionStorage.setItem(\"shopRegionId\", data.regionId);\n sessionStorage.setItem(\"shopStatus\", data.status);\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION)\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n regionList.push({ label: t(\"ALL\"), value: \"\" });\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n\n setRegionOptions(regionList);\n }\n\n setValue(\"regionId\", sessionStorage.getItem(\"shopRegionId\"));\n setValue(\"status\", sessionStorage.getItem(\"shopStatus\"));\n handleSubmit(onSubmit)();\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n const onSubmit = async (data) => {\n var rawUrl = ApiUrl._API_GET_USERS + \"?RoleId=\" + Role._SHOP + \"&v=\" + (++count) + \"&IsCustomerService=\" + props.isCustomerService;\n setCount(count);\n\n if (data) {\n rawUrl += \"&FullName=\" + data.name + \"&RegionId=\" + data.regionId + \"&Username=\" + data.username + \"&Status=\" + data.status;\n }\n\n saveSession();\n setShopApiUrl(rawUrl);\n setCheckAll(false);\n }\n\n /// \n /// Author: Chris\n /// \n const updateShopHandler = async (userId, status) => {\n let params = {\n id: userId,\n status: status\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(onSubmit)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: Chris\n /// \n useEffect(() => {\n let checkedList = {};\n shops.map((shop) => {\n checkedList[shop.id] = checkAll;\n });\n\n setSelectedShops(checkedList);\n }, [checkAll]);\n\n /// \n /// Author: Chris\n /// \n const massAssignHandler = async (selectedShopIds, shopSettingsData) => {\n let params = {\n ids: selectedShopIds,\n ...shopSettingsData\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_BULK_ASSIGN_SHOP_SETTINGS, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(onSubmit)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return <>\n {\n if (refreshRequired) {\n init();\n }\n setModalVisibility(false);\n\n }}\n visible={modalVisibility} />\n
    \n

    {props.isCustomerService ? t(\"MANAGE_CUSTOMER_SERVICE\") : t(\"MANAGE_SHOP\")}

    \n {\n (checkIfPermissionExist(props.isCustomerService ? AccessRight._CUSTOMER_SERVICE_CONTROL_PERMISSION : AccessRight._SHOP_CONTROL_PERMISSION, true) && _userData.isAdminLevel) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n {!props.isCustomerService && }\n \n \n \n \n \n {\n setIsResetPasswordModalVisible(false);\n }}\n resetShopPassword={true}\n targetUserId={userId}\n visible={isResetPasswordModalVisible} />\n {\n if (isSuccess) {\n handleSubmit(onSubmit)();\n }\n\n setIsSetShopLimitModalVisible(false);\n }}\n shopLimitDetails={userShopLimitDetails}\n visible={isSetShopLimitModalVisible} />\n {\n if (isSuccess) {\n handleSubmit(onSubmit)();\n }\n\n setIsSetUpperLimitModalVisible(false);\n }}\n shopLimitDetails={userShopLimitDetails}\n visible={isSetUpperLimitModalVisible} />\n {\n if (isSuccess) {\n handleSubmit(onSubmit)();\n }\n\n setEghlLimitDetail({});\n }}\n shopLimitDetails={eghlLimitDetail}\n visible={!isObjectEmpty(eghlLimitDetail)} />\n ;\n}\n\nexport default ManageShop;","import React from 'react';\n\n/// \n/// Author : YJ\n/// \nconst DualListBoxItemRow = props => {\n const { options, selected } = props;\n \n /// \n /// Author : YJ\n /// \n function calculateCount(availableOptions = false) {\n let count = 0;\n\n try {\n if (availableOptions) {\n if (options.some(item => item.hasOwnProperty('options'))) {\n options.map((i) => {\n count += i.options.filter(y => !(selected ?? []).includes(y.value)).length;\n })\n }\n else if (options.some(item => item.hasOwnProperty(\"value\"))) {\n count = (options ?? []).filter(y => !(selected ?? []).includes(y.value)).length;\n }\n else {\n count = (options ?? []).filter(y => !(selected ?? []).includes(y)).length;\n }\n }\n else {\n count = (selected ?? []).length;\n }\n }\n catch(err) {\n // do nth\n }\n\n return count;\n }\n\n return (\n
    \n
    \n Available [{calculateCount(true)}]\n
    \n
    \n
    \n Selected [{calculateCount(false)}]\n
    \n
    \n )\n}\n\nexport default DualListBoxItemRow;","import React, { useState, useEffect, useRef } from 'react';\nimport { Panel, PanelHeader, PanelBody, PanelFooter } from 'components/panel/panel.jsx';\nimport { useForm } from 'react-hook-form';\nimport { useHistory } from 'react-router-dom';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage, navigateTo, validatePhoneNumber } from \"../../../util/Util\";\nimport { ShopSettings, Status, Role, AlertTypes, ApiUrl, ApiKey, WebUrl } from 'util/Constant';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport { showMessage } from 'redux/AppAction';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport Select from \"react-select\";\nimport { useLocation } from \"react-router-dom\";\nimport IntlTelInput from 'react-intl-tel-input';\nimport 'react-intl-tel-input/dist/main.css';\nimport DualListBox from 'react-dual-listbox';\nimport { Util } from 'reactstrap';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author: Chris\n/// Edit : Wind - Added WhatsAppLink, DepartmentName, AlternatePhone, ResetPasswordAfterLogin\n/// \nconst ShopDetail = props => {\n var _history = useHistory();\n var _dispatch = useDispatch();\n var _location = useLocation();\n const { register, handleSubmit, errors, watch, unregister, setValue, triggerValidation } = useForm();\n const [regionOptions, setRegionOptions] = useState([]);\n const { t } = useTranslation();\n const [phone, setPhone] = useState('');\n const [defaultRegionId, setDefaultRegionId] = useState('');\n const [regionId, setRegionId] = useState('');\n const [renderPhone, setRenderPhone] = useState(false);\n const _phoneFieldRef = useRef(null);\n\n const [managerOptions, setManagerOptions] = useState([]);\n const [selectedManager, setSelectedManager] = useState([]);\n const [defaultSelectedManager, setDefaultSelectedManager] = useState([]);\n const [defaultManagerOption, setDefaultManagerOption] = useState([]);\n\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [defaultSelectedShop, setDefaultSelectedShop] = useState([]);\n const [defaultShopOptions, setDefaultShopOptions] = useState([]);\n\n const [canCreateMember, setCanCreateMember] = useState(false);\n const [canCreatePlayer, setCanCreatePlayer] = useState(false);\n const [canReload, setCanReload] = useState(false);\n const [canDeposit, setCanDeposit] = useState(true);\n const [isRequiredSetLimitApproval, setIsRequiredSetLimitApproval] = useState(false);\n const [passwordResetAfterLogin, setPasswordResetAfterLogin] = useState(false);\n const [isCustomerService, setIsCustomerService] = useState(false);\n const [isMainShop, setIsMainShop] = useState(false);\n\n const [address, setAddress] = useState('');\n const [postalCode, setPostalCode] = useState('');\n const [state, setState] = useState('');\n const [city, setCity] = useState('');\n const [latitude, setLatitude] = useState('');\n const [longitude, setLongitude] = useState('');\n\n const [username, setUsername] = useState('');\n const [fullName, setFullName] = useState('');\n const [creditLimit, setCreditLimit] = useState('');\n const [userId, setUserId] = useState('');\n const [isAgent, setIsAgent] = useState(false);\n const [eghlStatus, setEghlStatus] = useState(true);\n const [enrollKogEvent, setEnrollKogEvent] = useState(false);\n\n const [alternatePhone, setAlternatePhone] = useState('');\n const [departmentName, setDepartmentName] = useState('');\n const [whatsappLink, setWhatsappLink] = useState('');\n const [referralCode, setReferralCode] = useState('');\n const [agentReload, setAgentReload] = useState(false);\n const [onlineWithdrawalShop, setOnlineWithdrawalShop] = useState(false);\n const [canClaimReward, setCanClaimReward] = useState(true);\n const [canCreatePlayerWithoutMember, setCanCreatePlayerWithoutMember] = useState(true);\n const [canBlockMember, setCanBlockMember] = useState(false);\n const [canUnblockMember, setCanUnblockMember] = useState(false);\n const [canEghlReload, setCanEghlReload] = useState(false);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'regionId' }, { required: \"PLEASE_SELECT_REGION\" });\n register({ name: 'phone' });\n register({ name: 'alternatePhone' });\n setValue(\"phone\", \"\");\n setValue(\"alternatePhone\", \"\");\n init();\n }, []);\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(regionId) && regionOptions.length != 0) {\n var filteredManagerOptions = [];\n let filteredShopOptions = [];\n\n regionOptions.map(region => {\n let shopsByRegion = defaultShopOptions.filter(shop => shop.regionId == region.value);\n let managersByRegion = defaultManagerOption.filter(manager => manager.regionId == region.value);\n\n if (shopsByRegion.length) {\n let options = [];\n shopsByRegion.map(shop => {\n options.push({\n label: shop.label,\n value: shop.value,\n regionId: shop.regionId\n });\n });\n\n filteredShopOptions.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n\n if (managersByRegion.length) {\n let options = [];\n managersByRegion.map(manager => {\n options.push({\n label: manager.label,\n value: manager.value,\n regionId: manager.regionId\n });\n });\n\n filteredManagerOptions.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n });\n\n setShopOption(filteredShopOptions);\n setManagerOptions(filteredManagerOptions);\n\n setSelectedManager(regionId == defaultRegionId ? defaultSelectedManager : []);\n setSelectedShop(regionId == defaultRegionId ? defaultSelectedShop : []);\n }\n }, [regionId, defaultRegionId, regionOptions]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._MANAGER);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var managerOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n managerOptionList.push({ label: user.username + \" (\" + user.userFullName + \")\", value: user.id, regionId: user.regionId });\n });\n\n setDefaultManagerOption(managerOptionList);\n }\n\n responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._SHOP + \"&IsCustomerService=false\");\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (shop) {\n shopOptionList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id, regionId: shop.regionId });\n });\n\n setDefaultShopOptions(shopOptionList);\n }\n\n\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + _location.state[\"id\"]);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setUsername(responseJson[ApiKey._API_DATA_KEY][\"username\"]);\n setFullName(responseJson[ApiKey._API_DATA_KEY][\"userFullName\"]);\n if (!stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"])) {\n setPhone(responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"]);\n setValue(\"phone\", responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"]);\n }\n setUserId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setRegionId(responseJson[ApiKey._API_DATA_KEY][\"regionId\"]);\n setDefaultRegionId(responseJson[ApiKey._API_DATA_KEY][\"regionId\"]);\n setValue('regionId', responseJson[ApiKey._API_DATA_KEY][\"regionId\"]);\n setCreditLimit(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"creditLimit\"]);\n\n setCanCreateMember(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"createMemberEnable\"]);\n setCanCreatePlayer(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"createPlayerEnable\"]);\n setCanReload(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"reloadEnable\"]);\n setCanDeposit(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"depositEnable\"]);\n setIsRequiredSetLimitApproval(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"isRequiredSetLimitApproval\"]);\n setPasswordResetAfterLogin(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"passwordResetAfterLogin\"]);\n setIsAgent(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"isAgentShop\"]);\n setAgentReload(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"agentReload\"]);\n setOnlineWithdrawalShop(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"onlineWithdrawalShop\"]);\n setCanClaimReward(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"canClaimReward\"]);\n setCanCreatePlayerWithoutMember(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"createPlayerWithoutMemberEnable\"]);\n setCanBlockMember(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"canBlockMember\"]);\n setCanUnblockMember(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"canUnblockMember\"]);\n setCanEghlReload(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"canEghlReload\"]);\n\n setAddress(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"address\"]);\n setCity(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"city\"]);\n setState(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"state\"]);\n setPostalCode(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"postalCode\"]);\n setLatitude(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"latitude\"]);\n setLongitude(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"longitude\"]);\n setIsCustomerService(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"isCustomerService\"]);\n setIsMainShop(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"isMainShop\"]);\n setEghlStatus(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"eghlStatus\"]);\n setDepartmentName(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"departmentName\"]);\n setWhatsappLink(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"whatsAppLink\"]);\n if (!stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"alternatePhone\"])) {\n setAlternatePhone(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"alternatePhone\"]);\n setValue(\"alternatePhone\", responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"alternatePhone\"]);\n }\n\n if (!stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"referralCode\"])) {\n setReferralCode(responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"referralCode\"]);\n }\n\n let shopManager = [];\n let managers = responseJson[ApiKey._API_DATA_KEY][\"associatedManagers\"];\n if (managers != null) {\n managers.forEach(function (manager) {\n shopManager.push(manager.managerUserId);\n });\n setSelectedManager(shopManager);\n setDefaultSelectedManager(shopManager);\n }\n\n if (responseJson[ApiKey._API_DATA_KEY][\"shopProfile\"][\"isCustomerService\"]) {\n let ownedShop = [];\n let shops = responseJson[ApiKey._API_DATA_KEY][\"ownedShops\"];\n if (shops != null) {\n shops.forEach(function (shop) {\n ownedShop.push(shop.shopUserId);\n });\n setSelectedShop(ownedShop);\n setDefaultSelectedShop(ownedShop);\n }\n }\n\n unregister('regionId');\n }\n }\n\n setRenderPhone(true);\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let regionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n setRegionOptions(regionList);\n }\n }\n\n /// \n /// Author : Wind\n /// \n const onChangeAlernatePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n setAlternatePhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n register({ name: \"alternatePhone\" }, {\n validate: (value) => (validatePhoneNumber(fullNumber, countryData[\"iso2\"]) && validatePhoneNumber(newNumber, countryData[\"iso2\"])) || stringIsNullOrEmpty(newNumber) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n setValue(\"alternatePhone\", stringIsNullOrEmpty(newNumber) ? '' : formattedNumber);\n triggerValidation(\"alternatePhone\")\n }\n\n\n /// \n /// Author: Chris\n /// CK - Redirect back once completed submission\n /// \n const onSubmit = async (data) => {\n let params = {\n username: data.username,\n userFullName: data.userFullName,\n roleId: Role._SHOP,\n phoneNumber: data.phone,\n regionId: regionId,\n createPlayerEnable: canCreatePlayer,\n createMemberEnable: canCreateMember,\n reloadEnable: canReload,\n depositEnable: canDeposit,\n isRequiredSetLimitApproval: isRequiredSetLimitApproval,\n passwordResetAfterLogin: passwordResetAfterLogin,\n isAgentShop: data.isAgent,\n shopName: data.userFullName,\n address: data.address,\n postalCode: data.postalCode,\n state: data.state,\n shopManagerList: selectedManager.join(\",\"),\n latitude: data.latitude,\n longitude: data.longitude,\n city: data.city,\n alternatePhone: data.alternatePhone,\n departmentName: departmentName,\n whatsAppLink: whatsappLink,\n referralCode: referralCode,\n agentReload: agentReload,\n onlineWithdrawalShop: onlineWithdrawalShop,\n canClaimReward: canClaimReward,\n createPlayerWithoutMemberEnable: canCreatePlayerWithoutMember,\n canBlockMember: canBlockMember,\n canUnblockMember: canUnblockMember,\n canEghlReload: canEghlReload\n };\n if (props.isCustomerService) {\n params[\"shopServiceList\"] = selectedShop.join(\",\");\n params[\"isCustomerService\"] = props.isCustomerService;\n }\n else {\n params[\"isMainShop\"] = isMainShop;\n params[\"eghlStatus\"] = data.eghlStatus;\n }\n\n if (!stringIsNullOrEmpty(userId)) {\n params[\"id\"] = userId;\n }\n else {\n params[\"status\"] = Status._ENABLED;\n params[\"password\"] = data.password;\n params[\"creditLimit\"] = data.creditLimit;\n params[\"enrollCurrentKogEvent\"] = enrollKogEvent;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, props.isCustomerService ? WebUrl._URL_ADMIN_MANAGE_CUSTOMER_SERVICE : WebUrl._URL_ADMIN_MANAGE_SHOP),\n }));\n\n };\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const onChangePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n setPhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n register({ name: \"phone\" }, {\n validate: (value) => (validatePhoneNumber(fullNumber, countryData[\"iso2\"]) && validatePhoneNumber(newNumber, countryData[\"iso2\"])) || stringIsNullOrEmpty(newNumber) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n setValue(\"phone\", stringIsNullOrEmpty(newNumber) ? '' : formattedNumber);\n triggerValidation(\"phone\")\n }\n\n return (\n
    \n

    {_location.state ? (props.isCustomerService ? t(\"EDIT_CUSTOMER_SERVICE\") : t(\"EDIT_SHOP\")) :\n (props.isCustomerService ? t(\"CREATE_CUSTOMER_SERVICE\") : t(\"CREATE_SHOP\"))}

    \n
    \n \n {t(\"SHOP_DETAIL\")}\n \n
    \n
    \n
    \n \n \n {errors.userFullName &&
    {t(getValidationMessage(errors.userFullName))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.username &&
    {t(getValidationMessage(errors.username))}
    }\n
    \n
    \n {!_location.state &&\n <>\n
    \n
    \n \n \n {errors.password &&
    {t(getValidationMessage(errors.password))}
    }\n
    \n
    \n
    \n
    \n \n {\n return value === watch('password') || 'PASSWORD_DO_NOT_MATCH'\n }\n })} />\n {errors.confirmPassword &&
    {t(getValidationMessage(errors.confirmPassword))}
    }\n
    \n
    \n \n }\n
    \n
    \n \n {renderPhone && {\n onChangePhoneNumber(_phoneFieldRef.current.isValidNumber(phone), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={phone}\n value={phone}\n useMobileFullscreenDropdown={false}\n separateDialCode\n />}\n {errors.phone &&
    {t(getValidationMessage(errors.phone))}
    }\n
    \n
    \n
    \n
    \n \n setIsAgent(e.target.value)}\n ref={register} value={isAgent}>\n \n \n \n
    \n
    \n {!_location.state &&\n
    \n
    \n \n \n {errors.creditLimit &&
    {t(getValidationMessage(errors.creditLimit))}
    }\n
    \n
    \n }\n {props.isCustomerService &&\n <>\n
    \n
    \n \n {renderPhone && {\n onChangeAlernatePhoneNumber(_phoneFieldRef.current.isValidNumber(phone), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangeAlernatePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangeAlernatePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={alternatePhone}\n value={alternatePhone}\n useMobileFullscreenDropdown={false}\n separateDialCode\n />}\n {(errors.alternatePhone) &&
    {t(errors.alternatePhone.message)}
    }\n
    \n
    \n
    \n
    \n \n { setDepartmentName(e.target.value) }}\n className=\"form-control form-control-lg m-b-5\" placeholder={t(\"ENTER_DEPARTMENT_NAME\")} />\n
    \n
    \n
    \n
    \n \n { setWhatsappLink(e.target.value) }}\n className=\"form-control form-control-lg m-b-5\" placeholder={t(\"ENTER_WHATSAPP_LINK\")} />\n
    \n
    \n \n }\n {!props.isCustomerService &&\n <>\n
    \n
    \n \n { setReferralCode(e.target.value) }}\n className=\"form-control form-control-lg m-b-5\" placeholder={t(\"ENTER_REFERRAL_CODE\")} />\n
    \n
    \n
    \n
    \n
    \n
    \n setEghlStatus(e.target.checked)}\n value={true}\n checked={eghlStatus}\n ref={register} />\n \n
    \n
    \n
    \n {\n !_location.state &&\n
    \n
    \n
    \n
    \n setEnrollKogEvent(e.target.checked)}\n value={enrollKogEvent}\n ref={register} />\n \n
    \n
    \n
    \n }\n \n }\n
    \n
    \n {t(\"SHOP_ADDRESS\")}\n \n
    \n
    \n
    \n \n \n {errors.address &&
    {t(getValidationMessage(errors.address))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.city &&
    {t(getValidationMessage(errors.city))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.state &&
    {t(getValidationMessage(errors.state))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.postalCode &&
    {t(getValidationMessage(errors.postalCode))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.latitude &&
    {t(getValidationMessage(errors.latitude))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.longitude &&
    {t(getValidationMessage(errors.longitude))}
    }\n
    \n
    \n {!props.isCustomerService &&\n
    \n
    \n
    \n
    \n setIsMainShop(e.target.checked)}\n value={true}\n checked={isMainShop}\n ref={register} />\n \n
    \n
    \n
    \n }\n
    \n
    \n {t(\"ASSIGN_MANAGERS\")}\n \n
    \n \n { setSelectedManager(e) }}\n />\n
    \n
    \n {props.isCustomerService && <>\n {t('ASSIGN_SHOPS')}\n \n
    \n \n \n {\n setSelectedShop(e);\n }}\n />\n
    \n
    \n \n }\n {t(\"SHOP_SETTING\")}\n \n
    \n setCanCreateMember(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanCreatePlayer(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanReload(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanDeposit(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setIsRequiredSetLimitApproval(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setPasswordResetAfterLogin(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setAgentReload(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setOnlineWithdrawalShop(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanClaimReward(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanEghlReload(e.target.checked)}\n ref={register} />\n \n
    \n {\n !props.isCustomerService &&\n <>\n
    \n setCanCreatePlayerWithoutMember(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanBlockMember(e.target.checked)}\n ref={register} />\n \n
    \n
    \n setCanUnblockMember(e.target.checked)}\n ref={register} />\n \n
    \n \n }\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default ShopDetail;","import React, { useState, useMemo, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from '../../util/Util';\nimport { ApiUrl, ApiKey, Role, AlertTypes } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { showMessage, showResponseMessage } from \"redux/AppAction\";\nimport { useForm } from \"react-hook-form\";\n\n/// \n/// Author: CK\n/// \nconst SetManagerLimitModal = ({ visible, managerLimitDetails, onFinish }) => {\n var _userData = useSelector(state => state.authState.userData);\n const _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [currentLimit, setCurrentLimit] = useState();\n const _FIXED_LIMIT_OPTIONS = [\n { label: \"1,000\", value: 1000 },\n { label: \"2,500\", value: 2500 },\n { label: \"5,000\", value: 5000 },\n { label: \"10,000\", value: 10000 },\n { label: \"15,000\", value: 15000 },\n { label: \"20,000\", value: 20000 },\n ];\n\n /// \n /// Author: CK\n /// get the latest credit\n /// \n useEffect(() => {\n if (visible) {\n refreshCreditLimit();\n }\n }, [visible])\n\n /// \n /// Author: CK\n /// \n const refreshCreditLimit = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + managerLimitDetails.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue('currentCreditLimit', responseJson[ApiKey._API_DATA_KEY].managerProfile.creditLimit);\n setCurrentLimit(responseJson[ApiKey._API_DATA_KEY].managerProfile.creditLimit);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n const onSubmit = async (data) => {\n try {\n let params = {\n userId: managerLimitDetails.id,\n creditLimit: parseFloat(data.creditLimit),\n remark: data.remark\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_UPDATE_MANAGER_LIMIT, params);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n content: t('OPERATION_SUCCESS'),\n onConfirm: () => {\n onFinish(true);\n }\n }))\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n /// \n /// Author: CK\n /// \n const renderFixedLimitBtns = useMemo(() => {\n return _FIXED_LIMIT_OPTIONS.map((option, index) => {\n let parsedNumber = parseFloat(option.value);\n let parsedCurrLimit = parseFloat(currentLimit);\n var valueToSet = 0;\n\n if (parsedCurrLimit > parsedNumber) {\n valueToSet = (parsedCurrLimit - parsedNumber) * -1;\n }\n else {\n valueToSet = parsedNumber - parsedCurrLimit;\n }\n\n return (\n \n );\n })\n }, [currentLimit, managerLimitDetails]);\n\n return (\n \n {t(\"SET_LIMIT_FOR\")} {managerLimitDetails.userFullName}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n {errors.creditLimit &&
    {t(errors.creditLimit.message)}
    }\n
    \n
    \n \n \n {errors.remark &&
    {t(errors.remark.message)}
    }\n
    \n
    \n {renderFixedLimitBtns}\n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default SetManagerLimitModal;","import React, { useState, useMemo, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { useDispatch } from \"react-redux\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from '../../util/Util';\nimport { ApiUrl, ApiKey, Role, AlertTypes } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { showMessage, showResponseMessage } from \"redux/AppAction\";\nimport { useForm } from \"react-hook-form\";\n\n/// \n/// Author: CK\n/// \nconst SetManagerUpperLimitModal = ({ visible, managerLimitDetails, onFinish }) => {\n const _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [currentLimit, setCurrentLimit] = useState();\n const [currentUpperLimit, setCurrentUpperLimit] = useState();\n\n /// \n /// Author: CK\n /// get the latest credit\n /// \n useEffect(() => {\n if (visible) {\n refreshUpperCreditLimit();\n }\n }, [visible])\n\n /// \n /// Author: CK\n /// \n const refreshUpperCreditLimit = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + managerLimitDetails.id);\n \n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue('currentLimit', responseJson[ApiKey._API_DATA_KEY].managerProfile.creditLimit);\n setValue('currentUpperCreditLimit', responseJson[ApiKey._API_DATA_KEY].managerProfile.limitThreshold);\n setCurrentLimit(responseJson[ApiKey._API_DATA_KEY].managerProfile.creditLimit);\n setCurrentUpperLimit(responseJson[ApiKey._API_DATA_KEY].managerProfile.limitThreshold);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n const onSubmit = async (data) => {\n try {\n let params = {\n userId: managerLimitDetails.id,\n limitThreshold: parseFloat(data.limitThreshold)\n };\n var responseJson = await ApiEngine.post(ApiUrl._API_UPDATE_MANAGER_THRESHOLD, params);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n content: t('OPERATION_SUCCESS'),\n onConfirm: () => {\n onFinish(true);\n }\n }))\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n return (\n \n {t(\"SET_SHOP_UPPER_LIMIT_FOR\")} {managerLimitDetails.userFullName}\n \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n {errors.limitThreshold &&
    {t(errors.limitThreshold.message)}
    }\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default SetManagerUpperLimitModal;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory, Link } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody, isObjectEmpty, stringIsNullOrEmpty, numberWithCurrencyFormat } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, FilterStatus, Role, Status, AlertTypes } from \"../../../util/Constant\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport ResetPasswordModal from '../../../components/custom/ResetPasswordModal';\nimport CopyAccountDetailModal from '../../../components/custom/CopyAccountDetailModal';\nimport SetManagerLimitModal from '../../../components/custom/SetManagerLimitModal';\nimport SetManagerUpperLimitModal from '../../../components/custom/SetManagerUpperLimitModal';\nimport { showResponseMessage, showMessage } from 'redux/AppAction';\n\n/// \n/// Author : Andrew\n/// \nconst ManageManager = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n let _dispatch = useDispatch();\n const { register, handleSubmit, watch, setValue } = useForm();\n const [regionOptions, setRegionOptions] = useState([]);\n const [roleOption, setRoleOption] = useState([]);\n const [targetRoleId, setTargetRoleId] = useState('');\n const [userId, setUserId] = useState('');\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [limitModal, setLimitModal] = useState({});\n const [upperLimitModal, setUpperLimitModal] = useState({});\n \n const [managerApiUrl, setManagerApiUrl] = useState('');\n var [count, setCount] = useState(0);\n const [selectedManagerId, setSelectedManagerId] = useState('');\n const [modalVisibility, setModalVisibility] = useState(false);\n const [promotionModalVisibility, setPromotionModalVisibility] = useState(false);\n const _userData = useSelector(state => state.authState.userData);\n\n /// \n /// Author : Andrew\n /// \n let _tableColumns = useMemo(() => [\n {\n Header: \"FULLNAME\",\n accessor: \"userFullName\",\n disableSortBy: true\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"REGION\",\n accessor: \"regionName\",\n disableSortBy: true\n },\n {\n Header: \"CREDIT_LIMIT\",\n Cell: ({ row }) => {\n let data = row.original.managerProfile;\n return (\n checkIfPermissionExist(AccessRight._MANAGER_LIMIT_CONTROL_PERMISSION, true) ?\n <>\n \n
    {\n setLimitModal(row.original);\n }}>\n {numberWithCurrencyFormat(data.creditLimit)}\n
    \n <>\n /\n
    {\n setUpperLimitModal(row.original);\n }}>\n {numberWithCurrencyFormat(data.limitThreshold)}\n
    \n \n   \n {\n data.creditLimit != data.limitThreshold &&\n \n }\n
    \n :\n {`${data.creditLimit} / ${data.limitThreshold}`}\n )\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return {row.original.status == 1 ? {t(\"ACTIVE\")} : {t(\"SUSPENDED\") + \" (\" + row.original.invalidLoginCount + \")\"}}\n },\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._MANAGER_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n navigateTo(_history, WebUrl._URL_ADMIN_MANAGER_DETAIL, row.original);\n }}>{t(\"EDIT\")}\n {\n setUserId(row.original.id);\n setIsModalVisible(true);\n }}>{t(\"RESET_PASSWORD\")}\n {\n setSelectedManagerId(row.original.id);\n setModalVisibility(true);\n }}>{t(\"COPY\")}\n \n {_userData.isAdminLevel && checkIfPermissionExist(AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION, true) && roleOption.length != 0 &&\n {\n setUserId(row.original.id);\n setPromotionModalVisibility(true);\n }}>{t(\"PROMOTE_USER\")}\n }\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: row.original.status == Status._ENABLED ? t(\"ARE_YOU_SURE_YOU_WANT_TO_BLOCK_THIS_USER\") : t(\"ARE_YOU_SURE_YOU_WANT_TO_UNBLOCK_THIS_USER\"),\n showCancel: true,\n onConfirm: () => userStatusHandler(row.original.id, row.original.status == Status._ENABLED ? Status._DISABLED : Status._ENABLED)\n }));\n }}>{row.original.status == Status._ENABLED ? t(\"BLOCK\") : t(\"UNBLOCK\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(row.original.isAbleViewLastMessage ? \"CONFIRM_TO_BLOCK_VIEW_LAST_MESSAGE\" : \"CONFIRM_TO_ENABLE_VIEW_LAST_MESSAGE\"),\n showCancel: true,\n onConfirm: async () => await viewLastMessageSetup(row.original.id, !row.original.isAbleViewLastMessage)\n }));\n }}>\n {t(row.original.isAbleViewLastMessage ? \"BLOCK_TO_VIEW_LAST_MESSAGE\" : \"ENABLE_TO_VIEW_LAST_MESSAGE\")}\n \n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_DELETE_THIS_MANAGER\"),\n showCancel: true,\n onConfirm: () => userStatusHandler(row.original.id, Status._DELETED)\n }));\n }}>{t(\"DELETE\")}\n {\n const win = window.open(WebUrl._URL_VIEW_USER_ACTION_LOG + \"?username=\" + row.original.username\n , \"_blank\");\n win.focus();\n }}>\n {t('VIEW_USER_ACTION_LOG')}\n \n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ], [_userData, roleOption, managerApiUrl]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function saveSession() {\n var data = watch();\n sessionStorage.setItem(\"managerFullname\", data.fullName);\n sessionStorage.setItem(\"managerUsername\", data.username);\n sessionStorage.setItem(\"managerRegionId\", data.regionId);\n sessionStorage.setItem(\"managerStatus\", data.status);\n }\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n if (!isObjectEmpty(limitModal)) {\n refreshLimit();\n }\n }, [limitModal]);\n\n /// \n /// Author : Wind\n /// \n async function refreshLimit() {\n try {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + limitModal.id);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setValue('currentCreditLimit', responseJson[ApiKey._API_DATA_KEY]['managerProfile']['creditLimit']);\n setValue('currentLimitThreshold', responseJson[ApiKey._API_DATA_KEY]['managerProfile']['limitThreshold']);\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n /// \n /// Author : Wind\n /// \n async function resetCreditLimit(userId) {\n try {\n let params = {\n userId: userId,\n reset: true\n }\n var responseJson = await ApiEngine.post(ApiUrl._API_UPDATE_MANAGER_LIMIT, params);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n handleSubmit(filterManagers)();\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n await getRoleData();\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n regionList.push({ label: t(\"ALL\"), value: \"\" });\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n\n setRegionOptions(regionList);\n }\n\n setValue(\"regionId\", sessionStorage.getItem(\"managerRegionId\"));\n setValue(\"status\", sessionStorage.getItem(\"managerStatus\"));\n handleSubmit(filterManagers)();\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function getRoleData() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS_ROLE);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setRoleOption(responseJson[ApiKey._API_DATA_KEY]);\n if (responseJson[ApiKey._API_DATA_KEY].length > 0) {\n setTargetRoleId(responseJson[ApiKey._API_DATA_KEY][0].id);\n }\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function promoteUser() {\n let params = {\n id: userId,\n roleId: targetRoleId,\n isSubAccount: true\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setPromotionModalVisibility(false);\n init();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : Andrew\n /// \n async function fetchManagers(data) {\n var rawUrl = ApiUrl._API_GET_USERS + \"?RoleId=\" + Role._MANAGER + \"&v=\" + (++count);\n setCount(count);\n\n if (data) {\n rawUrl += \"&FullName=\" + data.fullName + \"&RegionId=\" + data.regionId + \"&Username=\" + data.username + \"&Status=\" + data.status;\n }\n\n setManagerApiUrl(rawUrl);\n }\n\n /// \n /// Author : Andrew\n /// \n async function filterManagers(data, e) {\n saveSession();\n fetchManagers(data);\n }\n\n /// \n /// Author : CK\n /// \n async function userStatusHandler(userId, status) {\n let params = {\n id: userId,\n status: status,\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(filterManagers());\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: Nelson\n /// \n async function viewLastMessageSetup(id, isAbleViewLastMsg) {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT}`, createMultiPartFormBody({ id: id, isAbleViewLastMessage: isAbleViewLastMsg }));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(filterManagers)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n\n return (\n
    \n {\n if (refreshRequired) {\n handleSubmit(filterManagers());\n }\n setModalVisibility(false);\n\n }}\n visible={modalVisibility} />\n { setPromotionModalVisibility(false) }}>\n { setPromotionModalVisibility(false) }}>{t(\"USER_PROMOTION\")}\n \n
    \n
    \n
    \n \n setTargetRoleId(e.target.value)}>\n {\n roleOption.map(role => {\n return (\n \n )\n })\n }\n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n

    {t(\"MANAGE_MANAGER\")}

    \n {\n checkIfPermissionExist(AccessRight._MANAGER_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n {\n setIsModalVisible(false);\n }}\n targetUserId={userId}\n visible={isModalVisible}\n />\n {\n if (isSuccess) {\n handleSubmit(filterManagers)();\n }\n\n setLimitModal({});\n }}\n managerLimitDetails={limitModal}\n visible={!isObjectEmpty(limitModal)}\n />\n {\n if (isSuccess) {\n handleSubmit(filterManagers)();\n }\n\n setUpperLimitModal({});\n }}\n managerLimitDetails={upperLimitModal}\n visible={!isObjectEmpty(upperLimitModal)}\n />\n
    \n )\n}\n\nexport default ManageManager;","import React, { useState, useEffect, Fragment, useRef } from 'react';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport Select from \"react-select\";\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, Status, Role, WebUrl, AlertTypes } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, validatePhoneNumber } from \"../../../util/Util\";\nimport { useLocation } from \"react-router-dom\";\nimport { showResponseMessage } from '../../../redux/AppAction';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport IntlTelInput from 'react-intl-tel-input';\nimport 'react-intl-tel-input/dist/main.css';\nimport DualListBox from 'react-dual-listbox';\nimport { showMessage } from 'redux/AppAction';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow.js';\n\n/// \n/// Author : Andrew\n/// \nconst ManagerDetail = props => {\n const { t } = useTranslation();\n var _location = useLocation();\n var _dispatch = useDispatch();\n var _history = useHistory();\n const { register, unregister, handleSubmit, errors, setValue, triggerValidation } = useForm();\n const [regionOptions, setRegionOptions] = useState([]);\n\n const [status, setStatus] = useState(true);\n const [username, setUsername] = useState('');\n const [fullName, setFullName] = useState('');\n const [phone, setPhone] = useState('');\n const [userId, setUserId] = useState('');\n const [regionId, setRegionId] = useState('');\n const [viewOwnActionOnly, setViewOwnActionOnly] = useState(false);\n const [ableEditUsername, setAbleEditUsername] = useState(false);\n const [isAbleViewLastMessage, setIsAbleViewLastMessage] = useState(false);\n\n const [shopOptions, setShopOptions] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [defaultSelectedShop, setDefaultSelectedShop] = useState([]);\n const [defaultRegionId, setDefaultRegionId] = useState([]);\n const [defaultOptions, setDefaultOptions] = useState([]);\n\n const [renderPhone, setRenderPhone] = useState(false);\n const _phoneFieldRef = useRef(null);\n\n /// \n /// Author : Andrew\n /// \n const submitForm = async (data, e) => {\n if (data.password != data.confirmPassword) {\n _dispatch(showResponseMessage(false, t(\"CONFIRM_PASSWORD_AND_PASSWORD_IS_NOT_TALLY\")));\n return;\n }\n\n let params = {\n username: data.username,\n phoneNumber: data.phone,\n userFullName: data.fullName,\n roleId: Role._MANAGER,\n regionId: regionId,\n status: data.status ? Status._ENABLED : Status._DISABLED,\n shopManagerList: selectedShop.join(\",\"),\n viewOwnActionOnly: viewOwnActionOnly,\n isAbleViewLastMessage: isAbleViewLastMessage,\n ableEditUsername: ableEditUsername\n };\n \n if (!stringIsNullOrEmpty(userId)) {\n params[\"id\"] = userId;\n }\n else {\n params[\"password\"] = data.password;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setUserId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setDefaultSelectedShop(selectedShop);\n }\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_MANAGER),\n }));\n }\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n register({ name: 'regionId' }, { required: t(\"PLEASE_SELECT_REGION\") });\n register({ name: 'phone' });\n setValue(\"phone\", \"\");\n init();\n }, []);\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n if (regionOptions.length != 0) {\n let filteredShopOptions = [];\n\n regionOptions.map(region => {\n let shopsByRegion = defaultOptions.filter(shop => shop.regionId == region.value);\n\n if (shopsByRegion.length) {\n let options = [];\n shopsByRegion.map(shop => {\n options.push({\n label: shop.label,\n value: shop.value,\n regionId: shop.regionId\n });\n });\n\n filteredShopOptions.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n });\n\n setShopOptions(filteredShopOptions);\n setSelectedShop(regionId == defaultRegionId ? defaultSelectedShop : []);\n }\n }, [regionId, regionOptions]);\n\n /// \n /// Author : Andrew\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._SHOP);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n shopOptionList.push({ label: user.username + \" (\" + user.shopName + \")\", value: user.id, regionId: user.regionId });\n });\n\n setDefaultOptions(shopOptionList);\n }\n\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + _location.state[\"id\"]);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"] == Status._ENABLED);\n setViewOwnActionOnly(responseJson[ApiKey._API_DATA_KEY][\"viewOwnActionOnly\"] == Status._ENABLED);\n setIsAbleViewLastMessage(responseJson[ApiKey._API_DATA_KEY][\"isAbleViewLastMessage\"] == Status._ENABLED);\n setAbleEditUsername(responseJson[ApiKey._API_DATA_KEY][\"ableEditUsername\"] == Status._ENABLED);\n setUsername(responseJson[ApiKey._API_DATA_KEY][\"username\"]);\n setFullName(responseJson[ApiKey._API_DATA_KEY][\"userFullName\"]);\n if (!stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"])) {\n setPhone(responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"]);\n setValue(\"phone\", responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"]);\n }\n setUserId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setRegionId(responseJson[ApiKey._API_DATA_KEY][\"regionId\"]);\n setDefaultRegionId(responseJson[ApiKey._API_DATA_KEY][\"regionId\"]);\n\n let selectedShops = [];\n let shops = responseJson[ApiKey._API_DATA_KEY][\"ownedShops\"];\n if (shops != null) {\n shops.forEach(function (shop) {\n selectedShops.push(shop.shopUserId);\n });\n setSelectedShop(selectedShops);\n setDefaultSelectedShop(selectedShops);\n }\n unregister('regionId');\n }\n }\n\n setRenderPhone(true);\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let regionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n setRegionOptions(regionList);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const onChangePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n setPhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n register({ name: \"phone\" }, {\n validate: (value) => (validatePhoneNumber(fullNumber, countryData[\"iso2\"]) && validatePhoneNumber(newNumber, countryData[\"iso2\"])) || stringIsNullOrEmpty(newNumber) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n setValue(\"phone\", stringIsNullOrEmpty(newNumber) ? '' : formattedNumber);\n triggerValidation(\"phone\")\n }\n\n return (\n
    \n

    {!stringIsNullOrEmpty(userId) ? t(\"EDIT_MANAGER\") : t(\"ADD_NEW_MANAGER\")}

    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n {errors.fullName &&
    {t(errors.fullName.message)}
    }\n
    \n
    \n
    \n
    \n \n {renderPhone && {\n onChangePhoneNumber(_phoneFieldRef.current.isValidNumber(phone), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={phone}\n value={phone}\n useMobileFullscreenDropdown={false}\n separateDialCode\n />}\n {(errors.phone) &&
    {t(errors.phone.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.username &&
    {t(errors.username.message)}
    }\n
    \n
    \n {!_location.state &&\n <>\n
    \n
    \n \n \n {errors.password &&
    {t(errors.password.message)}
    }\n
    \n
    \n\n\n
    \n
    \n \n \n {errors.confirmPassword &&
    {t(errors.confirmPassword.message)}
    }\n
    \n
    \n \n }\n
    \n
    \n \n setStatus(e.target.checked)}\n value={true}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n setViewOwnActionOnly(e.target.checked)}\n value={false}\n checked={viewOwnActionOnly}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n setIsAbleViewLastMessage(e.target.checked)}\n value={false}\n checked={isAbleViewLastMessage}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n setAbleEditUsername(e.target.checked)}\n value={false}\n checked={ableEditUsername}\n ref={register} />\n \n
    \n
    \n
    \n
    \n \n {t('ASSIGN_SHOPS')}\n \n \n { setSelectedShop(e) }}\n />\n \n \n \n \n
    \n
    \n \n )\n}\n\nexport default ManagerDetail;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, dataTableFilterCaseInsensitive } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, Status, AccessRight, LanguageKey } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from '../../../util/ApiEngine.js';\n\n/// \n/// Author : YJ\n/// \nconst ManageRole = props => {\n\tconst { t } = useTranslation();\n let _history = useHistory();\n const [roleData, setRoleData] = useState([]);\n\n\tlet _tableColumns = useMemo(() => [\n\t\t{\n\t\t\tHeader: t(\"NAME\"),\n\t\t\taccessor: \"roleName\"\n\t\t},\n\t\t{\n\t\t\tHeader: t(\"DESCRIPTION\"),\n\t\t\taccessor: \"description\"\n\t\t},\n\t\t{\n\t\t\tHeader: t(\"STATUS\"),\n\t\t\taccessor: \"status\",\n\t\t\tCell: ({ row }) => {\n\t\t\t\treturn {row.original.status == 1 ? {t(\"ACTIVE\")} : {t(\"SUSPENDED\")}}\n\t\t\t},\n\t\t\tminWidth: 100\n\t\t},\n\t\t{\n\t\t\tid: \"action\",\n\t\t\tHeader: \"\",\n\t\t\tCell: ({ row }) => (\n\t\t\t\tcheckIfPermissionExist(AccessRight._ACCESS_LEVEL_CONTROL_PERMISSION, true) &&
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t { navigateTo(_history, WebUrl._URL_ADMIN_ROLE_DETAIL, row.original) }}>{t(\"EDIT\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t),\n\t\t\tdisableSortBy: true,\n\t\t\tdisableFilters: true,\n\t\t\twidth: 100,\n\t\t\tstyle: { overflow: \"visible\" }\n\t\t}\n\t], []);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS_ROLE);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setRoleData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n\treturn (\n
    \n
    \n

    {t(\"ROLES\")}

    \n {\n checkIfPermissionExist(AccessRight._ACCESS_LEVEL_CONTROL_PERMISSION, true) &&\n \n }\n
    \n\t\t\t\n\t\t\t\t\n \n\t\t\t\t\n\t\t\t\n\t\t
    \n\t)\n}\n\nexport default ManageRole;","import React, { useMemo, useState, useEffect } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, WebUrl, AlertTypes } from \"../../../util/Constant\";\nimport { useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { setBusy, setIdle, showMessage } from '../../../redux/AppAction';\nimport { useTranslation } from 'react-i18next';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport ApiEngine from '../../../util/ApiEngine.js';\n\n/// \n/// Author : YJ\n/// \nconst EditRole = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n var _location = useLocation();\n var _dispatch = useDispatch();\n const { register, handleSubmit, errors, setValue, getValues } = useForm();\n\n const [name, setName] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [status, setStatus] = useState(true);\n const [controlOnlyAssignedUser, setControlOnlyAssignedUser] = useState(false);\n const [accessRightOption, setAccessRightOption] = useState({});\n const [roleId, setRoleId] = useState(\"\");\n const [regionTrigger, setRegionTrigger] = useState(false)\n\n const _REGION_ARRAY = [\n { name: \"agentRegion\", displayName: \"AGENT\" },\n { name: \"eastRegion\", displayName: \"EAST\" },\n { name: \"middleRegion\", displayName: \"MIDDLE\" },\n { name: \"northRegion\", displayName: \"NORTH\" },\n { name: \"southRegion\", displayName: \"SOUTH\" }\n ]\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function init() {\n var accessOption = {};\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ROLE_ACCESS_DATA);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n accessOption = responseJson[ApiKey._API_DATA_KEY];\n }\n\n if (_location.state) {\n var apiUrl = ApiUrl._API_GET_ROLE_BY_ID;\n apiUrl += \"?roleId=\" + _location.state[\"id\"];\n var responseJson = await ApiEngine.get(apiUrl);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n Object.keys(accessOption).map((key, value) => {\n Object.keys(accessOption[key]).map((innerKey, innerValue) => {\n accessOption[key][innerKey] = responseJson[ApiKey._API_DATA_KEY][innerKey[0].toLowerCase() + innerKey.substr(1).replace(/\\s+/g, '')];\n });\n });\n setName(responseJson[ApiKey._API_DATA_KEY][\"roleName\"]);\n setDescription(responseJson[ApiKey._API_DATA_KEY][\"description\"]);\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n setControlOnlyAssignedUser(responseJson[ApiKey._API_DATA_KEY][\"controlOnlyAssignedUser\"]);\n setRoleId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n\n _REGION_ARRAY.map((region, index) => {\n if (responseJson[ApiKey._API_DATA_KEY][region.name] == true) {\n setRegionTrigger(true);\n setValue(\"regionTrigger\", true);\n setValue(region.name, true);\n }\n })\n }\n }\n\n setAccessRightOption(accessOption);\n }\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n let params = {\n \"roleName\": data.roleName,\n \"description\": data.description,\n \"status\": data.status,\n \"controlOnlyAssignedUser\": data.controlOnlyAssignedUser,\n }\n\n if (!stringIsNullOrEmpty(roleId)) {\n params[\"id\"] = roleId;\n }\n\n Object.keys(data).map((key, value) => {\n params[key] = data[key];\n });\n\n if (data.regionTrigger == false) {\n _REGION_ARRAY.map((region, index) => {\n params[region.name] = false;\n })\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_ROLE, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_ROLE)\n }));\n }\n\n /// \n /// Author : YJ\n /// \n function validateCheckbox(value) {\n var valid = true;\n\n if (value == true) {\n let checkedArr = [];\n checkedArr = _REGION_ARRAY.filter((region) => {\n return getValues()[region.name] == true\n })\n valid = checkedArr.length > 0;\n }\n\n return valid;\n }\n\n /// \n /// Author : YJ\n /// \n function bulkUpdatePermission(isReset = false) {\n Object.keys(accessRightOption).map((key, value) => {\n Object.keys(accessRightOption[key]).map((innerKey, innerValue) => {\n var finalPermission = \"0\";\n\n if (!isReset) {\n var accessString = (\"00\" + accessRightOption[key][innerKey].toString(2));\n accessString = accessString.substr(accessString.length - 2);\n var canWrite = checkIfPermissionExist(innerKey, true);\n var canRead = checkIfPermissionExist(innerKey, false);\n\n finalPermission = (canWrite && canRead) ? \"3\" : (canWrite ? \"2\" : (canRead ? \"1\" : \"0\"));\n }\n\n setValue(innerKey[0].toLowerCase() + innerKey.substr(1).replace(/\\s+/g, ''), finalPermission);\n });\n });\n }\n\n return (\n
    \n

    {roleId ? t(\"EDIT_ROLE\") : t(\"ADD_NEW_ROLE\")}

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

    {t(\"ROLE_INFORMATION\")}

    \n
    \n
    \n
    \n \n \n {errors.roleName &&
    {t(errors.roleName.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.description &&
    {t(errors.description.message)}
    }\n
    \n
    \n
    \n
    \n
    \n
    \n setStatus(e.target.checked)}\n value={true}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n setControlOnlyAssignedUser(e.target.checked)}\n value={true}\n checked={controlOnlyAssignedUser}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n validateCheckbox(value) || \"PLEASE_CHOOSE_ONE_OF_THE_REGION\"\n })}\n name=\"regionTrigger\"\n id=\"regionTrigger\"\n onChange={() => { setRegionTrigger(!regionTrigger) }} />\n \n
    \n {regionTrigger &&
    \n {\n _REGION_ARRAY.map((region, index) => {\n return
    \n
    \n \n \n
    \n
    \n })\n }\n
    }\n {errors.regionTrigger &&
    {t(errors.regionTrigger.message)}
    }\n
    \n
    \n
    \n
    \n

    {t(\"FUNCTION_LIST\")}

    \n
    \n {Object.keys(accessRightOption).map((key, value) => {\n return (
    \n
    \n
    \n {t(key.toUpperCase())}\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n {Object.keys(accessRightOption[key]).map((innerKey, innerValue) => {\n var accessString = (\"00\" + accessRightOption[key][innerKey]?.toString(2));\n accessString = accessString.substr(accessString.length - 2);\n var canWrite = checkIfPermissionExist(innerKey, true);\n var canRead = checkIfPermissionExist(innerKey, false);\n\n return (\n \n \n )\n })}\n \n
    {t(\"FUNCTION_NAME\")}{t(\"ACCESS_LEVEL\")}
    {t(innerKey.toUpperCase().replace(/ /g, \"_\"))}\n \n
    \n
    \n
    \n
    \n
    );\n })}\n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default withRouter(EditRole);","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role, Status, AlertTypes } from \"../../../util/Constant\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ResetPasswordModal from '../../../components/custom/ResetPasswordModal';\nimport { useDispatch } from \"react-redux\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { showResponseMessage, showMessage } from 'redux/AppAction';\nimport { createMultiPartFormBody } from \"../../../util/Util\";\n\n/// \n/// Author : YJ\n/// \nconst ManageAdmin = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n const { register, handleSubmit } = useForm();\n const [adminApiUrl, setAdminApiUrl] = useState('');\n var [count, setCount] = useState(0);\n const [userId, setUserId] = useState('');\n const [isModalVisible, setIsModalVisible] = useState(false);\n var _dispatch = useDispatch();\n\n let _tableColumns = useMemo(() => [\n {\n Header: t(\"USERNAME\"),\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: t(\"FULLNAME\"),\n accessor: \"userFullName\",\n disableSortBy: true\n },\n {\n Header: t(\"ROLES\"),\n accessor: \"roleName\",\n disableSortBy: true\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return {row.original.status == 1 ? {t(\"ACTIVE\")} : {t(\"SUSPENDED\") + \" (\" + row.original.invalidLoginCount + \")\"}}\n },\n minWidth: 100,\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION, true) &&
    \n \n \n \n { navigateTo(_history, WebUrl._URL_ADMIN_ADMIN_DETAIL, row.original) }}>{t(\"EDIT\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: row.original.status == Status._ENABLED ? t(\"ARE_YOU_SURE_YOU_WANT_TO_BLOCK_THIS_USER\") : t(\"ARE_YOU_SURE_YOU_WANT_TO_UNBLOCK_THIS_USER\"),\n showCancel: true,\n onConfirm: () => userStatusHandler(row.original.id, row.original.status == Status._ENABLED ? Status._DISABLED : Status._ENABLED)\n }));\n }}>{row.original.status == Status._ENABLED ? t(\"BLOCK\") : t(\"UNBLOCK\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_USER\"),\n showCancel: true,\n onConfirm: () => userStatusHandler(row.original.id, Status._DELETED)\n }));\n }}>{t(\"DELETE\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(row.original.isAbleViewLastMessage ? \"CONFIRM_TO_BLOCK_VIEW_LAST_MESSAGE\" : \"CONFIRM_TO_ENABLE_VIEW_LAST_MESSAGE\"),\n showCancel: true,\n onConfirm: async () => await viewLastMessageSetup(row.original.id, !row.original.isAbleViewLastMessage)\n }));\n }}>\n className=\"text-warning\"{t(row.original.isAbleViewLastMessage ? \"BLOCK_TO_VIEW_LAST_MESSAGE\" : \"ENABLE_TO_VIEW_LAST_MESSAGE\")}\n \n {\n setUserId(row.original.id);\n setIsModalVisible(true);\n }}>{t(\"RESET_PASSWORD\")}\n {\n const win = window.open(WebUrl._URL_VIEW_USER_ACTION_LOG + \"?username=\" + row.original.username\n , \"_blank\");\n win.focus();\n }}>\n {t('VIEW_USER_ACTION_LOG')}\n \n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ], [adminApiUrl]);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n var rawUrl = ApiUrl._API_GET_USERS + \"?RoleId=\" + Role._ADMIN_SUB_ACCOUNT + \"&v=\" + (++count);\n setCount(count);\n\n if (data) {\n rawUrl += \"&FullName=\" + data.name + \"&RegionId=\" + data.region + \"&Username=\" + data.username;\n }\n\n setAdminApiUrl(rawUrl);\n }\n\n /// \n /// Author: YJ\n /// \n async function userStatusHandler(userId, status) {\n let params = {\n id: userId,\n status: status,\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: Nelson\n /// \n async function viewLastMessageSetup(id, isAbleViewLastMsg) {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT}`, createMultiPartFormBody({ id: id, isAbleViewLastMessage: isAbleViewLastMsg }));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_ADMIN\")}

    \n {\n checkIfPermissionExist(AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n\n {\n setIsModalVisible(false);\n }}\n targetUserId={userId}\n visible={isModalVisible} />\n
    \n )\n}\n\nexport default ManageAdmin;","import React, { useState, useEffect, useRef } from 'react';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport Select from \"react-select\";\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, Status, WebUrl, AlertTypes, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, validatePhoneNumber } from \"../../../util/Util\";\nimport { useLocation } from \"react-router-dom\";\nimport { setBusy, setIdle, showMessage, showResponseMessage } from '../../../redux/AppAction';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport IntlTelInput from 'react-intl-tel-input';\nimport 'react-intl-tel-input/dist/main.css';\nimport DualListBox from 'react-dual-listbox';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow.js';\n\n/// \n/// Author : YJ\n/// Edited: CK - Shop assignment\n/// \nconst AdminDetail = props => {\n const { t } = useTranslation();\n var _location = useLocation();\n var _dispatch = useDispatch();\n var _history = useHistory();\n const { register, unregister, handleSubmit, errors, triggerValidation, formState, setValue } = useForm();\n const [roleOptions, setRoleOptions] = useState([]);\n const _userData = useSelector(state => state.authState.userData);\n\n const [status, setStatus] = useState(true);\n const [username, setUsername] = useState('');\n const [password, setPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [fullName, setFullName] = useState('');\n const [phone, setPhone] = useState('');\n const [userId, setUserId] = useState('');\n const [roleId, setRoleId] = useState('');\n const [renderPhone, setRenderPhone] = useState(false);\n const _phoneFieldRef = useRef(null);\n const [regionOptions, setRegionOptions] = useState([]);\n const [selectedRegions, setSelectedRegions] = useState([]);\n const [shopOptions, setShopOptions] = useState([]);\n const [attachedShops, setAttachedShops] = useState([]);\n const [shopAvailableList, setShopAvailableList] = useState([]);\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n if (data.password != data.confirmPassword) {\n _dispatch(showResponseMessage(false, \"CONFIRM_PASSWORD_AND_PASSWORD_IS_NOT_TALLY\"));\n return;\n }\n\n let params = {\n \"username\": data.username,\n \"password\": data.password,\n \"phoneNumber\": data.phone,\n \"userFullName\": data.fullName,\n \"roleId\": roleId,\n \"status\": data.status ? Status._ENABLED : Status._DISABLED,\n \"isSubAccount\": true,\n \"regionId\": _userData.regionId,\n \"shopManagerList\": attachedShops.join(\",\"),\n };\n\n if (!stringIsNullOrEmpty(userId)) {\n params[\"id\"] = userId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_ADMIN)\n }));\n }\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (shopOptions.length) {\n let tempShopAvailableList = [];\n selectedRegions.map(selectedRegion => {\n let filteredShops = shopOptions.filter(shopOption => shopOption.value == selectedRegion);\n\n if (filteredShops.length && filteredShops[0].options.length) {\n filteredShops[0].options.map(filteredShop => {\n tempShopAvailableList.push(filteredShop.value);\n })\n }\n })\n\n setShopAvailableList(tempShopAvailableList);\n }\n }, [selectedRegions, shopOptions]);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n register({ name: 'roleId' }, { required: \"PLEASE_SELECT_ROLE\" });\n register({ name: 'phone' });\n setValue(\"phone\", \"\");\n init();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function init() {\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + _location.state[\"id\"]);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"] == Status._ENABLED);\n setUsername(responseJson[ApiKey._API_DATA_KEY][\"username\"]);\n setPassword(responseJson[ApiKey._API_DATA_KEY][\"password\"]);\n setConfirmPassword(responseJson[ApiKey._API_DATA_KEY][\"password\"]);\n setFullName(responseJson[ApiKey._API_DATA_KEY][\"userFullName\"]);\n if (!stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"])) {\n setPhone(responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"]);\n setValue(\"phone\", responseJson[ApiKey._API_DATA_KEY][\"phoneNumber\"]);\n }\n setUserId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setRoleId(responseJson[ApiKey._API_DATA_KEY][\"roleId\"]);\n\n let selectedShops = [];\n let shops = responseJson[ApiKey._API_DATA_KEY][\"ownedShops\"];\n\n if (shops != null) {\n shops.forEach(function (shop) {\n selectedShops.push(shop.shopUserId);\n });\n\n setAttachedShops(selectedShops);\n }\n\n unregister('roleId');\n }\n }\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS_ROLE);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n const roleList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (role) {\n roleList.push({ label: role.roleName, value: role.id });\n });\n\n setRoleOptions(roleList);\n }\n\n setRenderPhone(true);\n getRegionList();\n }\n\n /// \n /// Author: CK\n /// \n async function getRegionList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION)\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n var selectedRegionList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n selectedRegionList.push(region.id);\n });\n\n setRegionOptions(regionList);\n getShopList(regionList);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function getShopList(regionList) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let shopOptionsByRegion = [];\n\n regionList.map(region => {\n let shopsByRegion = responseJson[ApiKey._API_DATA_KEY].filter(shop => shop.regionId == region.value);\n\n if (shopsByRegion.length) {\n let options = [];\n\n shopsByRegion.map(shop => {\n options.push({\n label: shop.username + \" (\" + shop.shopName + \")\" ,\n value: shop.id,\n regionId: shop.regionId\n });\n });\n\n shopOptionsByRegion.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n })\n\n setShopOptions(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : CK\n /// Checkbox check/uncheck handler\n /// \n function onSelectedRegionChange(e) {\n if (selectedRegions.filter(selectedRegion => selectedRegion == e.target.value).length) {\n setSelectedRegions(selectedRegions.filter(selectedRegion => selectedRegion != e.target.value));\n }\n else {\n setSelectedRegions([...selectedRegions, e.target.value]);\n }\n }\n\n /// \n /// Author : YJ\n /// \n const onChangePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n setPhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n\n register({ name: \"phone\" }, {\n validate: (value) => (validatePhoneNumber(newNumber, countryData.iso2) && validatePhoneNumber(fullNumber, countryData.iso2)) || stringIsNullOrEmpty(newNumber) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n\n setValue(\"phone\", stringIsNullOrEmpty(newNumber) ? '' : formattedNumber);\n triggerValidation(\"phone\")\n }\n\n return (\n
    \n

    {!stringIsNullOrEmpty(userId) ? t(\"EDIT_ADMIN\") : t(\"ADD_NEW_ADMIN\")}

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

    {t(\"PERSONAL_INFORMATION\")}

    \n
    \n
    \n
    \n \n \n {errors.username &&
    {t(errors.username.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.password &&
    {t(errors.password.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.confirmPassword &&
    {t(errors.confirmPassword.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.fullName &&
    {t(errors.fullName.message)}
    }\n
    \n
    \n
    \n
    \n \n {renderPhone && {\n onChangePhoneNumber(_phoneFieldRef.current.isValidNumber(phone), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={phone}\n value={phone}\n useMobileFullscreenDropdown={false}\n separateDialCode\n />}\n {(errors.phone) &&
    {t(errors.phone.message)}
    }\n
    \n
    \n
    \n
    \n \n setStatus(e.target.checked)}\n value={true}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n \n {t('ASSIGN_SHOPS')}\n \n
    \n \n
    \n {\n regionOptions.map((region, index) => {\n return (\n
    \n
    \n selectedRegion == region.value).length}\n value={region.value}\n ref={register}\n onChange={onSelectedRegionChange} />\n \n
    \n
    \n );\n })\n }\n
    \n
    \n
    \n \n \n {\n setAttachedShops(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n )\n}\n\nexport default AdminDetail;","import React, { useState, useEffect } from 'react';\nimport { ApiKey, ApiUrl, Role } from '../../util/Constant';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport ApiEngine from '../../util/ApiEngine';\nimport { getValidationMessage } from '../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from 'react-redux';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport ReactTable from \"./ReactTable\";\nimport { Panel, PanelBody } from '../../components/panel/panel.jsx';\nimport { showResponseMessage } from \"../../redux/AppAction\";\n\n/// \n/// Author: Yong Sheng Chuan\n/// 20200904: Wind - Score log table\n/// \nconst ScoreLogModal = props => {\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, errors, unregister, setValue } = useForm();\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [player, setPlayer] = useState('');\n const [scoreLogData, setScoreLogData] = useState([]);\n\n let _scoreLogTableColumns = [\n {\n Header: t(\"CREATED_DATE\"),\n accessor: \"createdDate\",\n disableSortBy: true,\n },\n {\n Header: t(\"SCORE\"),\n accessor: \"score\",\n Cell: ({ row }) => {\n return row.original.score > 0 ? {parseFloat(row.original.score).toFixed(2)} : {parseFloat(row.original.score).toFixed(2)};\n },\n disableSortBy: true,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"success\",\n Cell: ({ row }) => {\n return {row.original.success ? {t(\"SUCCESS\")} : {t(\"FAILED\")}}\n },\n disableSortBy: true,\n }\n ];\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n useEffect(() => {\n if (props.isModalVisible) {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setPlayer(props.player)\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setStartDate(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setEndDate(moment().format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n unregister('startDate');\n unregister('endDate');\n\n setStartDate('');\n setEndDate('');\n setPlayer(null);\n setScoreLogData([]);\n }\n }, [props.isModalVisible]);\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function onSubmit() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SCORE_LOG + \"?playerUsername=\" + player.username + \"&Code=\" +\n player.vendorCode + \"&StartDate=\" + startDate + \"&EndDate=\" + endDate);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setScoreLogData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return (\n { props.onFinish() }} size=\"lg\">\n
    \n { props.onFinish() }}>

    {t(\"SCORE_LOG\")}

    \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default ScoreLogModal;","import React, { useState, useEffect } from 'react';\nimport { ApiKey, ApiUrl, Role } from '../../util/Constant';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { getValidationMessage, isObjectEmpty } from '../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport ReactTable from \"./ReactTable\";\n\n/// \n/// Author: YJ\n/// \nconst GameLogModal = props => {\n const { t, i18n } = useTranslation();\n const { register, handleSubmit, errors, unregister, setValue, watch } = useForm();\n const [player, setPlayer] = useState('');\n const [gameLogUrl, setGameLogUrl] = useState(\"\");\n\n let _scoreLogTableColumns = [\n {\n Header: t(\"CREATED_DATE\"),\n accessor: \"createdTime\",\n disableSortBy: true,\n },\n {\n Header: t(\"GAME\"),\n accessor: \"gameString\",\n disableSortBy: true,\n },\n {\n Header: t(\"BET\"),\n accessor: \"ticketAmount\",\n Cell: ({ row }) => {\n return {parseFloat(row.original.ticketAmount).toFixed(2)};\n },\n Footer: ({ page }) => {\n const betTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.ticketAmount);\n }, 0);\n\n return {betTotal.toFixed(2)}\n },\n disableSortBy: true,\n },\n {\n Header: t(\"WIN\"),\n accessor: \"winAmount\",\n Cell: ({ row }) => {\n return {parseFloat(row.original.winAmount).toFixed(2)};\n },\n Footer: ({ page }) => {\n const winTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.winAmount);\n }, 0);\n\n return {winTotal.toFixed(2)}\n },\n disableSortBy: true,\n },\n {\n Header: t(\"WIN_LOSE\"),\n accessor: \"\",\n Cell: ({ row }) => {\n let winLose = row.original.winAmount - row.original.ticketAmount;\n return 0 ? \"text-success\" : \"text-danger\"}>{parseFloat(winLose).toFixed(2)};\n },\n Footer: ({ page }) => {\n const pageTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.winAmount) - parseFloat(currentValue.original.ticketAmount);\n }, 0);\n\n return 0 ? \"text-success\" : \"text-danger\"}>{pageTotal.toFixed(2)}\n },\n disableSortBy: true,\n }\n ];\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (props.isModalVisible) {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setPlayer(props.player)\n setValue('startDate', moment().startOf(\"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf(\"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n unregister('startDate');\n unregister('endDate');\n setPlayer(null);\n setGameLogUrl(\"\");\n }\n }, [props.isModalVisible]);\n\n /// \n /// Author: YJ\n /// \n async function onSubmit() {\n setGameLogUrl(ApiUrl._API_GET_GAME_LOG + \"?playerUsername=\" + player.username + \"&Code=\" +\n player.vendorCode + \"&ShopId=\" + player.shopId + \"&StartDate=\" + watch(\"startDate\") + \"&EndDate=\" + watch(\"endDate\") + \"&v=\" + Date.now());\n }\n\n return (\n { props.onFinish() }} size=\"lg\">\n
    \n { props.onFinish() }}>

    {t(\"GAME_LOG\")}

    \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default GameLogModal;","import React, { useState, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage } from \"../../redux/AppAction\";\nimport { ApiKey, ApiUrl, Status } from \"../../util/Constant\";\nimport { useDispatch } from \"react-redux\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { stringIsNullOrEmpty } from '../../util/Util';\n\n/// \n/// Author : Wind\n/// \nconst ReferralCodeModal = (props) => {\n const [modalVisibility, setModalVisibility] = useState(false);\n const { register, handleSubmit, setValue, errors, reset, unregister, watch } = useForm();\n const { t, i18n } = useTranslation();\n var _dispatch = useDispatch();\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n }, [props[\"visible\"]]);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n if (modalVisibility) {\n register({ name: \"referralCode\" }, { required: \"PLEASE_ENTER_REFERRAL_CODE\" });\n }\n else {\n setValue(\"referralCode\", \"\");\n unregister(\"referralCode\");\n }\n }, [modalVisibility]);\n\n /// \n /// Author : Wind\n /// \n const onSubmit = async (data, e) => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOP_BY_REFERRAL_CODE + \"?referralCode=\" + data.referralCode);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n props.onFinish(responseJson);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY]))); \n }\n }\n\n return (\n props.onFinish()}>\n
    \n props.onFinish()}>\n

    {t('ENTER_REFERRAL_CODE')}

    \n
    \n \n
    \n \n
    \n { setValue(\"referralCode\", e.target.value) }} />\n {errors.referralCode &&
    {t(errors.referralCode.message)}
    }\n
    \n
    \n
    \n \n \n \n \n
    \n
    \n );\n}\n\nexport default ReferralCodeModal","import React, { useEffect, useState, useRef } from 'react';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { ApiKey, ApiUrl, AlertTypes, Role, Status } from '../../util/Constant';\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { useForm } from 'react-hook-form';\nimport { stringIsNullOrEmpty, ignoreDecimal } from '../../util/Util';\n\n/// \n/// Author: YJ\n/// \nconst AccountStatusModal = props => {\n const { register, watch } = useForm();\n const [modalVisibility, setModalVisibility] = useState(false);\n const { t } = useTranslation();\n const [detail, setDetail] = useState({});\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n setDetail(props[\"detail\"]);\n }, [props[\"visible\"]]);\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (!modalVisibility) {\n cleanUp(false);\n }\n }, [modalVisibility])\n\n /// \n /// Author: YJ\n /// \n function cleanUp(isConfirm) {\n props.onFinish(isConfirm, (detail.toStatus != Status._ENABLED ? watch('remark') : \"\"));\n }\n\n /// \n /// Author: YJ\n /// \n const renderMessageContent = (fromStatus, toStatus) => {\n let returnContent = null;\n\n if(toStatus != Status._ENABLED) {\n returnContent = (\n
    \n {toStatus == Status._DISABLED ? t(\"ARE_YOU_SURE_YOU_WANT_TO_BLOCK_THIS_USER\") : t(\"ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_USER\")}\n \n
    \n )\n }\n else {\n returnContent = (\n
    \n {fromStatus == Status._DISABLED ? t(\"ARE_YOU_SURE_YOU_WANT_TO_UNBLOCK_THIS_USER\") : t(\"ARE_YOU_SURE_YOU_WANT_TO_RECOVER_THIS_USER\")}\n
    \n {!stringIsNullOrEmpty(detail.remark) ?
    {\"Remark: \" + detail.remark}
    : \"\"}\n
    \n )\n }\n return returnContent;\n\n }\n\n return (\n
    \n {modalVisibility && { cleanUp(true) }}\n onCancel={() => { cleanUp(false) }}\n cancelBtnBsStyle={\"danger\"}\n reverseButtons={true}\n allowEscape={false}\n showCancel={true}>\n
    \n {renderMessageContent(detail.fromStatus, detail.toStatus)}\n
    \n }\n
    \n );\n}\nexport default AccountStatusModal;","import React, { useEffect, useState, useRef } from 'react';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { ApiKey, ApiUrl, AlertTypes, TransactionTypeId } from '../../util/Constant';\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { useForm } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, setBusy, setIdle } from '../../redux/AppAction';\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from '../../util/Util';\n\n/// \n/// Author: YJ\n/// \nconst AppealRequestModal = props => {\n var _dispatch = useDispatch();\n const { register, watch } = useForm();\n const [modalVisibility, setModalVisibility] = useState(false);\n const { t } = useTranslation();\n const [detail, setDetail] = useState({});\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n setDetail(props[\"detail\"]);\n }, [props[\"visible\"]]);\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (!modalVisibility) {\n props.onFinish(false);\n }\n }, [modalVisibility]);\n\n /// \n /// Author: YJ\n /// \n async function requestAppeal() {\n try {\n let params = {\n \"memberId\": detail.memberId ?? \"\",\n \"amount\": detail.amount,\n \"transactionTypeId\": detail.type\n };\n\n if (detail[\"type\"] == TransactionTypeId._SET_SCORE) {\n params[\"code\"] = detail.code;\n params[\"username\"] = detail.username;\n }\n\n if(!stringIsNullOrEmpty(detail[\"shopId\"]))\n {\n params[\"shopId\"] = detail[\"shopId\"];\n }\n\n let responseJson = await ApiEngine.post(ApiUrl._API_REQUEST_APPEAL_TRANSACTION, createMultiPartFormBody(params));\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])))\n\n props.onFinish(responseJson[ApiKey._API_SUCCESS_KEY]);\n }\n catch(err) {\n props.onFinish(false);\n _dispatch(showResponseMessage(false, err))\n }\n }\n\n return (\n
    \n {modalVisibility && \n
    \n \n \n
    \n
    }\n allowEscape={false}>\n {t(\"DO_YOU_WANT_TO_APPEAL_THIS_TRANSACTION\")}\n }\n \n );\n}\nexport default AppealRequestModal;","import React, { useEffect, useState, useRef } from 'react';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { ApiKey, ApiUrl, AlertTypes, Role, Status, CustomResponseCode } from '../../util/Constant';\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { stringIsNullOrEmpty, ignoreDecimal, isObjectEmpty } from '../../util/Util';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport AccountStatusModal from './AccountStatusModal';\n\n/// \n/// Author: YJ\n/// \nconst ReloadDetailModal = props => {\n const _userData = useSelector(state => state.authState.userData);\n const [modalVisibility, setModalVisibility] = useState(false);\n const { t } = useTranslation();\n const [vendorCode, setVendorCode] = useState(\"\");\n const [shopId, setShopId] = useState(\"\");\n const [username, setUsername] = useState(\"\");\n const [playerEnable, setPlayerEnable] = useState(false);\n const [playerScore, setPlayerScore] = useState(false);\n const [adjustScoreAmount, setAdjustScoreAmount] = useState(\"\");\n const _dispatch = useDispatch();\n const _inputTxtRef = useRef(null);\n const [status, setStatus] = useState();\n const [changeRequired, setChangeRequired] = useState(false);\n const [remark, setRemark] = useState(\"\");\n const [accountDetail, setAccountDetail] = useState(false);\n \n const _BTN_TYPE = {\n RELOAD: \"RELOAD\",\n BLOCK: \"BLOCK\",\n RESET: \"RESET\"\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n setVendorCode(props.vendorCode);\n setUsername(props.username);\n setShopId(props.shopId);\n setStatus(props.status);\n setRemark(props.remark);\n }, [props[\"visible\"]]);\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (modalVisibility) {\n init();\n }\n else {\n cleanUp(false);\n }\n }, [modalVisibility])\n\n /// \n /// Author: YJ\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_PLAYER_DETAIL + \"?code=\" + vendorCode + \"&playerUsername=\" + username);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setPlayerScore(responseJson[ApiKey._API_DATA_KEY][\"scoreNum\"]);\n setPlayerEnable(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n\n if (responseJson[ApiKey._API_DATA_KEY][\"status\"] != status) {\n setChangeRequired(true)\n }\n\n if (_inputTxtRef.current) {\n _inputTxtRef.current.focus();\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n cleanUp(false);\n }\n }\n\n /// \n /// Author: YJ\n /// \n function cleanUp(refreshRequired) {\n let processedRefresh = (refreshRequired || changeRequired);\n setChangeRequired(false);\n setVendorCode(\"\");\n setUsername(\"\");\n setShopId(\"\");\n setAdjustScoreAmount(\"\");\n setAccountDetail({});\n setRemark(\"\");\n props.onFinish(processedRefresh);\n }\n\n /// \n /// Author: YJ\n /// \n async function btnHandler(type) {\n let apiUrl = \"\";\n let useCustomAlert = false;\n switch (type) {\n case _BTN_TYPE.RELOAD:\n if (stringIsNullOrEmpty(adjustScoreAmount) || (!stringIsNullOrEmpty(adjustScoreAmount) && parseFloat(playerScore) + parseFloat(adjustScoreAmount) < 0)) {\n _dispatch(showResponseMessage(false, t(\"INVALID_RELOAD_AMOUNT\")));\n return;\n }\n\n apiUrl = ApiUrl._API_SHOP_SET_SCORE + \"?code=\" + vendorCode + \"&playerUsername=\" + username + \"&score=\" + adjustScoreAmount + \"&v=\" + + Date.now();\n if (_userData.userRoleId == Role._SHOP) {\n let details = {\n \"code\": vendorCode,\n \"username\": username,\n \"amount\": adjustScoreAmount\n };\n\n props.onFinish(false, apiUrl, adjustScoreAmount, details);\n return;\n }\n else {\n break;\n }\n case _BTN_TYPE.RESET:\n apiUrl = ApiUrl._API_SHOP_RESET_PASSWORD + \"?code=\" + vendorCode + \"&playerUsername=\" + username;\n break;\n case _BTN_TYPE.BLOCK: {\n setAccountDetail({\n fromStatus: playerEnable ? Status._ENABLED : Status._DISABLED,\n toStatus: !playerEnable ? Status._ENABLED : Status._DISABLED,\n remark: remark\n });\n useCustomAlert = true;\n break;\n }\n default:\n return;\n }\n\n if (!stringIsNullOrEmpty(shopId)) {\n apiUrl += \"&shopId=\" + shopId;\n }\n\n if (!stringIsNullOrEmpty(apiUrl) && !useCustomAlert) {\n var responseJson = await ApiEngine.post(apiUrl);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY] && !stringIsNullOrEmpty(responseJson[ApiKey._API_CODE_KEY]) && responseJson[ApiKey._API_CODE_KEY] == CustomResponseCode._ROLLOVER_APPEAL_REQUIRED)\n {\n let details = {\n \"code\": vendorCode,\n \"username\": username,\n \"amount\": adjustScoreAmount\n };\n props.onFinish(false, null, null, details, true)\n }\n else\n {\n cleanUp(responseJson[ApiKey._API_SUCCESS_KEY]);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n }\n\n /// \n /// Author: YJ\n /// \n async function performBlockAction(remark) {\n let apiUrl = ApiUrl._API_SHOP_SET_PLAYER_STATUS + \"?code=\" + vendorCode + \"&playerUsername=\" + username + \"&status=\" + (playerEnable ? \"false\" : \"true\") + \"&remark=\" + remark;\n\n if (!stringIsNullOrEmpty(shopId)) {\n apiUrl += \"&shopId=\" + shopId;\n }\n\n if (!stringIsNullOrEmpty(apiUrl)) {\n var responseJson = await ApiEngine.post(apiUrl);\n\n cleanUp(responseJson[ApiKey._API_SUCCESS_KEY]);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return (\n
    \n {\n if(isConfirm) {\n performBlockAction(remark);\n }\n setAccountDetail({});\n }} />\n {modalVisibility && \n
    \n ignoreDecimal(e, _userData?.username?.includes(\"demo\") || _userData?.isAdminLevel)}\n ref={_inputTxtRef} value={adjustScoreAmount} onChange={(e) => { setAdjustScoreAmount(e.target.value) }} />\n
    \n
    \n \n \n \n \n
    \n
    }>\n
    {t('SCORE')}: {playerScore}
    \n
    {t('STATUS')}: {playerEnable ? t('ENABLED') : t('DISABLED')}
    \n }\n \n );\n}\nexport default ReloadDetailModal;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, FilterStatus, Status, AlertTypes, Role, CustomResponseCode, TransactionTypeId } from \"../../../util/Constant\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport ScoreLogModal from '../../../components/custom/ScoreLogModal';\nimport GameLogModal from '../../../components/custom/GameLogModal';\nimport { showResponseMessage, showMessage, setBusy, setIdle } from 'redux/AppAction';\nimport * as Util from '../../../util/Util';\nimport Select from \"react-select\";\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport ReferralCodeModal from '../../../components/custom/ReferralCodeModal';\nimport { Link, useLocation, useHistory } from 'react-router-dom';\nimport AccountStatusModal from '../../../components/custom/AccountStatusModal';\nimport AppealRequestModal from '../../../components/custom/AppealRequestModal';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ReloadDetailModal from '../../../components/custom/ReloadDetailModal';\n\n/// \n/// Author : Andrew\n/// \nconst ManagePlayer = props => {\n const { t } = useTranslation();\n let _dispatch = useDispatch();\n var _location = useLocation();\n var _history = useHistory();\n const _userData = useSelector(state => state.authState.userData);\n const { register, unregister, handleSubmit, errors, setValue } = useForm();\n\n const { register: registerSetScoreForm, errors: errorsSetScoreForm,\n handleSubmit: handleSubmitSetScoreForm, unregister: unregisterSetScoreForm,\n setValue: setValueSetScoreForm } = useForm();\n\n const [vendorOption, setVendorOption] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [vendorCode, setVendorCode] = useState('');\n const [shopId, setShopId] = useState('');\n const [scoreShopId, setScoreShopId] = useState('');\n const [modalVisibility, setModalVisibility] = useState(false);\n const [scoreLogModalVisibility, setScoreLogModalVisibility] = useState(false);\n var [filterUsername, setFilterUsername] = useState('');\n const [selectedPlayer, setSelectedPlayer] = useState('');\n const [playerApiUrl, setPlayerApiUrl] = useState('');\n var [count, setCount] = useState(0);\n const [scoreShopOption, setScoreShopOption] = useState([]);\n const [referralCodeModalVisibility, setReferralCodeModalVisibility] = useState(false);\n const [deactivateAccountDetail, setDeactivateAccountDetail] = useState({});\n const [transactionDetail, setTransactionDetail] = useState({});\n const [agentId, setAgentId] = useState(\"\");\n const [filterVendorList, setFilterVendorList] = useState([]);\n const [filterVendor, setFilterVendor] = useState('');\n const [gameLogModalVisibility, setGameLogModalVisibility] = useState(false);\n const [reloadPlayerDetail, setReloadPlayerDetail] = useState(null);\n\n /// \n /// Author : Andrew\n /// \n let _tableColumns = useMemo(() => [\n {\n Header: _location.state && !Util.stringIsNullOrEmpty(_location.state.agentId) ? t(\"AGENT\") : t(\"SHOP\"),\n accessor: 'shopName',\n Cell: ({ row }) => !Util.stringIsNullOrEmpty(row.original.shopName) ?\n {row.original.shopName} : '',\n disableSortBy: true\n },\n {\n Header: t(\"VENDOR\"),\n accessor: \"vendorName\",\n disableSortBy: true\n },\n {\n Header: t(\"REGION\"),\n accessor: \"regionName\",\n disableSortBy: true\n },\n {\n Header: t(\"MEMBER\"),\n accessor: 'memberUsername',\n Cell: ({ row }) => !Util.stringIsNullOrEmpty(row.original.memberUsername) ?\n {row.original.memberUsername} : '',\n disableSortBy: true\n },\n {\n Header: t(\"USERNAME\"),\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return {row.original.status == 1 ? {t(\"ACTIVE\")} : {t(\"SUSPENDED\")}}\n },\n disableSortBy: true\n },\n {\n Header: t(\"CREATED_DATE\"),\n accessor: \"createdTime\",\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._PLAYER_CONTROL_PERMISSION, true) &&
    \n \n \n \n {_userData.accessibleRegion.filter(i => i == row.original.regionId).length != 0 &&\n {\n // If Agent player, set score like shop interface\n if (_location.state && !Util.stringIsNullOrEmpty(_location.state.agentId)) {\n setReloadPlayerDetail(row.original);\n }\n else {\n initSetScoreModel(row.original);\n }\n }}>{t(\"SET_SCORE\")}\n }\n {(_userData.accessibleRegion.filter(i => i == row.original.regionId).length != 0 || row.original.status == Status._ENABLED) &&\n {\n let currentStatus = row.original.status;\n setDeactivateAccountDetail({\n ...row.original,\n fromStatus: currentStatus,\n toStatus: currentStatus == Status._ENABLED ? Status._DISABLED : Status._ENABLED\n });\n }}>{row.original.status == Status._ENABLED ? t(\"BLOCK\") : t(\"UNBLOCK\")}\n }\n {\n let currentStatus = row.original.status;\n onDeleteClick({\n ...row.original,\n fromStatus: currentStatus,\n toStatus: Status._DELETED\n });\n }}>{t(\"DELETE\")}\n {\n resetPassword(row.original);\n }}>{t(\"RESET_PASSWORD\")}\n {\n setSelectedPlayer(row.original);\n setScoreLogModalVisibility(true);\n }}>{t(\"VIEW_SCORE_LOG\")}\n {\n setSelectedPlayer(row.original);\n setGameLogModalVisibility(true);\n }}>{t(\"VIEW_GAME_LOG\")}\n {\n const win = window.open(WebUrl._URL_VIEW_USER_ACTION_LOG + \"?username=\" + row.original.memberUsername\n , \"_blank\");\n win.focus();\n }}>\n {t('VIEW_USER_ACTION_LOG')}\n \n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ], [_userData, filterUsername]);\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n if (!_location.state || Util.stringIsNullOrEmpty(_location.state.agentId)) {\n register({ name: 'shop' }, { required: true });\n }\n\n register({ name: 'vendor' }, { required: true });\n init();\n }, []);\n\n /// \n /// Author : YOng Sheng Chuan\n /// \n useEffect(() => {\n if (!Util.stringIsNullOrEmpty(shopId)) {\n updateAvailableVendor(shopId);\n }\n }, [shopId]);\n\n // \n /// Author: YJ\n /// \n async function verifyPassword(password, data) {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_VERIFY_PASSWORD}?userId=${_userData['userId']}&password=${password}`);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setDeactivateAccountDetail(data);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n // \n /// Author: YJ\n /// \n async function onDeleteClick(data) {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, data);\n }\n }));\n }\n\n /// \n /// Author : YOng Sheng Chuan\n /// \n async function updateAvailableVendor(shopId) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST + (!Util.stringIsNullOrEmpty(agentId) ? \"?agentId=\" + agentId : \"?shopId=\" + shopId));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n var filterVendors = [{ label: \"All\", value: \"\" }];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.code });\n filterVendors.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n setFilterVendorList(filterVendors);\n }\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n (async () => {\n if (!Util.stringIsNullOrEmpty(agentId)) {\n await updateAvailableVendor();\n }\n })();\n }, [agentId])\n\n /// \n /// Author : Andrew\n /// \n async function init() {\n try {\n if (_location.state && !Util.stringIsNullOrEmpty(_location.state.agentId)) {\n setAgentId(_location.state.agentId);\n }\n else {\n _dispatch(setBusy());\n await fetchPlayers();\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (shop) {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n setShopOption(shopList);\n }\n }\n }\n catch (e) {\n //do nothing\n }\n finally {\n _dispatch(setIdle());\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function initSetScoreModel(data) {\n if (Util.stringIsNullOrEmpty(agentId)) {\n registerSetScoreForm({ name: 'scoreShopId' }, { required: true });\n var shopUserList = await getShopUser(data.regionId);\n\n if (shopUserList.filter(i => i.value == data.shopId).length > 0) {\n setValueSetScoreForm(\"scoreShopId\", shopUserList.filter(i => i.value == data.shopId)[0].value);\n setScoreShopId(shopUserList.filter(i => i.value == data.shopId)[0].value);\n }\n }\n\n setSelectedPlayer(data);\n setModalVisibility(true);\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function cleanupSetScoreModal() {\n unregisterSetScoreForm(\"scoreShopId\");\n setModalVisibility(false);\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function getShopUser(regionId) {\n const shopList = [];\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP + \"&RegionId=\" + regionId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n responseJson[ApiKey._API_DATA_KEY].forEach(function (shop) {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n setScoreShopOption(shopList);\n }\n\n return shopList;\n }\n\n /// \n /// Author : Andrew\n /// \n async function fetchPlayers() {\n var rawUrl = ApiUrl._API_GET_PLAYER_LIST + \"?v=\" + (++count);\n setCount(count);\n\n if (!Util.stringIsNullOrEmpty(filterUsername)) {\n rawUrl += \"&Username=\" + filterUsername;\n }\n\n if (!Util.stringIsNullOrEmpty(_location.state?.agentId)) {\n rawUrl += \"&AgentId=\" + _location.state.agentId;\n }\n\n if (!Util.stringIsNullOrEmpty(filterVendor)) {\n rawUrl += \"&VendorId=\" + filterVendor;\n }\n\n setPlayerApiUrl(rawUrl);\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function blockPlayer(data, remark = \"\") {\n var shopIdParam = !Util.stringIsNullOrEmpty(agentId) ? agentId : data.shopId;\n let apiUrl = ApiUrl._API_SHOP_SET_PLAYER_STATUS + \"?code=\" + data.vendorCode + \"&playerUsername=\"\n + data.username + \"&status=\" + (FilterStatus._ACTIVE == data.status ? \"false\" : \"true\") + \"&shopId=\" + shopIdParam + \"&remark=\" + remark;\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await fetchPlayers();\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function resetPassword(data) {\n var shopIdParam = !Util.stringIsNullOrEmpty(agentId) ? agentId : data.shopId;\n var responseJson = await ApiEngine.post(ApiUrl._API_SHOP_RESET_PASSWORD + \"?code=\" + data.vendorCode + \"&playerUsername=\" + data.username + \"&shopId=\" + shopIdParam);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await fetchPlayers();\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function deletePlayer(data, remark = \"\") {\n var shopIdParam = !Util.stringIsNullOrEmpty(agentId) ? agentId : data.shopId;\n let apiUrl = ApiUrl._API_SHOP_DELETE_PLAYER + \"?code=\" + data.vendorCode + \"&playerUsername=\" + data.username + \"&shopId=\" + shopIdParam + \"&remark=\" + remark;\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await fetchPlayers();\n }\n }\n\n /// \n /// Author : Andrew\n /// Yong Sheng Chuan - Allow immediate filter on create\n /// \n async function onSubmit(data, e) {\n var shopIdParam = !Util.stringIsNullOrEmpty(agentId) ? agentId : shopId;\n var apiUrl = ApiUrl._API_SHOP_CREATE_PLAYER + \"?code=\" + vendorCode + \"&shopId=\" + shopIdParam;\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n //if create is already success, we keep the filter first\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n filterUsername = responseJson[ApiKey._API_DATA_KEY];\n setFilterUsername(responseJson[ApiKey._API_DATA_KEY]);\n }\n\n //perform set credit if the value is more than 0\n if (responseJson[ApiKey._API_SUCCESS_KEY] && data.credit != 0) {\n responseJson = await ApiEngine.post(ApiUrl._API_SHOP_SET_SCORE + \"?code=\" + vendorCode + \"&playerUsername=\" + responseJson[ApiKey._API_DATA_KEY] + \"&score=\" + data.credit + \"&shopId=\" + shopIdParam);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY] && !Util.stringIsNullOrEmpty(responseJson[ApiKey._API_CODE_KEY]) && responseJson[ApiKey._API_CODE_KEY] == CustomResponseCode._ROLLOVER_APPEAL_REQUIRED) {\n setTransactionDetail({\n \"type\": TransactionTypeId._SET_SCORE,\n \"code\": vendorCode,\n \"username\": responseJson[ApiKey._API_DATA_KEY],\n \"amount\": data.credit,\n \"shopId\": shopIdParam\n })\n }\n }\n\n if (responseJson[ApiKey._API_DATA_KEY]) {\n fetchPlayers();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : Andrew\n /// \n async function onSubmitSetScore(data, e) {\n var shopIdParam = !Util.stringIsNullOrEmpty(agentId) ? agentId : data.scoreShopId;\n var responseJson = await ApiEngine.post(ApiUrl._API_SHOP_SET_SCORE + \"?code=\" + selectedPlayer.vendorCode + \"&playerUsername=\" +\n selectedPlayer.username + \"&score=\" + data.setScoreAmount + \"&shopId=\" + shopIdParam);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let score = responseJson[ApiKey._API_DATA_KEY][\"score\"];\n\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n title: t(\"SUCCESS\"),\n content:
    {t(\"SET_SCORE_SUCCESS\")}: {Number(score).toFixed(1)}
    ,\n html: true\n }));\n\n cleanupSetScoreModal();\n await fetchPlayers();\n }\n else if (!responseJson[ApiKey._API_SUCCESS_KEY] && !Util.stringIsNullOrEmpty(responseJson[ApiKey._API_CODE_KEY]) && responseJson[ApiKey._API_CODE_KEY] == CustomResponseCode._ROLLOVER_APPEAL_REQUIRED) {\n cleanupSetScoreModal();\n\n setTransactionDetail({\n \"type\": TransactionTypeId._SET_SCORE,\n \"code\": selectedPlayer.vendorCode,\n \"username\": selectedPlayer.username,\n \"amount\": data.setScoreAmount,\n \"shopId\": shopIdParam\n })\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author : Wind\n /// \n function getReferralShop(data) {\n unregister('shop');\n setShopId(data[ApiKey._API_DATA_KEY][\"id\"]);\n }\n\n return (\n
    \n

    {t(\"MANAGE_PLAYER\")}{!Util.stringIsNullOrEmpty(agentId) ? \" - [\" + _location.state.userFullName + \"]\" : \"\"}{!Util.stringIsNullOrEmpty(agentId) && }

    \n {\n setTransactionDetail({});\n }}\n />\n {\n if (isConfirm) {\n if (deactivateAccountDetail.toStatus == Status._DELETED) {\n deletePlayer(deactivateAccountDetail, remark);\n }\n else {\n blockPlayer(deactivateAccountDetail, remark);\n }\n }\n setDeactivateAccountDetail({});\n }} />\n {checkIfPermissionExist(AccessRight._PLAYER_CONTROL_PERMISSION, true) &&\n \n {modalVisibility &&\n { cleanupSetScoreModal() }}>\n
    \n { cleanupSetScoreModal() }}>

    {t(\"SET_SCORE\")}

    \n \n {Util.stringIsNullOrEmpty(agentId) &&
    \n \n option.value == shopId)[0] !== undefined) ? (shopOption.filter(option => option.value == shopId)[0].label) : \"\"}\n value={shopOption.filter(option => option.value == shopId)}\n onChange={(e) => {\n unregister('shop');\n setShopId(e.value);\n }} />\n {errors.shop &&
    {t(Util.getValidationMessage(errors.shop))}
    }\n
    \n
    }\n
    \n \n \n {errors.credit &&
    {t(Util.getValidationMessage(errors.credit))}
    }\n
    \n {Util.stringIsNullOrEmpty(agentId) &&
    \n \n \n
    }\n \n \n \n \n \n }\n \n \n
    \n
    \n
    \n \n setFilterUsername(e.target.value)} />\n
    \n
    \n {!Util.stringIsNullOrEmpty(agentId) &&
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n {isCreditModalVisible &&\n { cleanupSetCreditModal() }}>\n
    \n { cleanupSetCreditModal() }}>

    {t(\"SET_CREDIT\")}

    \n \n
    \n \n \n
    \n
    \n \n option.value == regionId)[0] !== undefined) ? (regionOptions.filter(option => option.value == regionId)[0].label) : \"\"}\n value={regionOptions.filter(option => option.value == regionId)}\n onChange={(e) => {\n setValue(\"regionId\", e.value);\n setRegionId(e.value);\n }} />\n {errors.regionId &&
    {t(getValidationMessage(errors.regionId))}
    }\n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n );\n}\n\nexport default ViewAnnouncement;","import React, { useState, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage } from \"../../redux/AppAction\";\nimport { ApiKey, ApiUrl, Status, Role } from \"../../util/Constant\";\nimport { useDispatch } from \"react-redux\";\nimport { useForm } from \"react-hook-form\";\nimport * as Util from '../../util/Util';\nimport Select from \"react-select\";\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { stringIsNullOrEmpty } from '../../util/Util';\n\n/// \n/// Author : Wind\n/// \nconst CreatePlayerModal = (props) => {\n const [modalVisibility, setModalVisibility] = useState(false);\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState('');\n const { register, handleSubmit, setValue, errors, reset, unregister, watch } = useForm();\n const { t, i18n } = useTranslation();\n var _dispatch = useDispatch();\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n }, [props[\"visible\"]]);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n if (modalVisibility) {\n register({ name: 'shop' }, { required: true });\n setValue(\"shop\", props.shopId);\n setSelectedShop(props.shopId);\n init();\n }\n else {\n setValue(\"shop\", \"\");\n setSelectedShop(\"\");\n unregister(\"shop\");\n }\n }, [modalVisibility]);\n\n /// \n /// Author: Wind\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOP_BY_VENDOR_ID + \"?vendorId=\" + props.vendor.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (shop) {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n setShopOption(shopList);\n }\n }\n\n /// \n /// Author : Wind\n /// \n const onSubmit = async (data, e) => {\n var apiUrl = ApiUrl._API_SHOP_CREATE_PLAYER + \"?code=\" + props.vendor.code + \"&shopId=\" + selectedShop + \"&MemberId=\" + props.memberId;\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n props.onFinish(true);\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n props.onFinish()}>\n \n props.onFinish()}>\n

    {t('SELECT_SHOP')}

    \n
    \n \n
    \n \n
    \n setCheckAgentSettings({ ...checkAgentSettings, canCreatePlayer: e.target.checked })}\n ref={register} />\n \n
    \n
    \n setCheckAgentSettings({ ...checkAgentSettings, canReload: e.target.checked })}\n ref={register} />\n \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n );\n}\n\n/// \n/// Author: CK\n/// \nconst ManageAgent = props => {\n const _dispatch = useDispatch();\n var _history = useHistory();\n var _location = useLocation();\n const { t } = useTranslation();\n const { register, handleSubmit, watch, setValue } = useForm();\n const [agents, setAgents] = useState([]);\n const [isResetPasswordModalVisible, setIsResetPasswordModalVisible] = useState(false);\n const [regionOptions, setRegionOptions] = useState([]);\n const [userId, setUserId] = useState('');\n const [isSetAgentCreditModalVisible, setIsSetAgentCreditModalVisible] = useState(false);\n const [isSetAgentCreditLimitModalVisible, setIsSetAgentCreditLimitModalVisible] = useState(false);\n\n const [copyAgentModalVisible, setCopyAgentModalVisible] = useState(false);\n const [selectedCopyAgent, setSelectedCopyAgent] = useState(\"\");\n\n const [agentDetails, setAgentDetails] = useState({\n userFullName: '',\n currentCreditLimit: 0\n });\n const [checkAll, setCheckAll] = useState(false);\n const [selectedAgents, setSelectedAgents] = useState({});\n const [agentApiUrl, setAgentApiUrl] = useState('');\n var [count, setCount] = useState(0);\n const _userData = useSelector(state => state.authState.userData);\n\n const _tableColumns = useMemo(() => [\n {\n id: 'checkbox',\n Header: ({ data }) => {\n return (\n
    \n {\n setAgents(data);\n setCheckAll(!checkAll);\n }} checked={checkAll} />\n \n
    \n )\n },\n Cell: ({ row }) => {\n return (\n
    \n setSelectedAgents({ ...selectedAgents, [row.original.id]: !selectedAgents[row.original.id] })}\n checked={selectedAgents[row.original.id]} />\n \n
    \n )\n },\n width: 30,\n disableSortBy: true,\n },\n {\n Header: t('NAME'),\n accessor: 'userFullName',\n disableSortBy: true\n },\n {\n Header: t('USERNAME'),\n accessor: 'username',\n disableSortBy: true\n },\n {\n Header: t('REGION'),\n accessor: 'regionName',\n disableSortBy: true\n },\n {\n Header: t('UPLINE'),\n Cell: ({ row }) => {\n return (\n {row.original.agentProfile?.uplineName}\n )\n },\n disableSortBy: true\n },\n {\n Header: t('CITY'),\n accessor: 'city',\n Cell: ({ row }) => {\n return (\n {row.original.agentProfile?.city}\n )\n },\n disableSortBy: true\n },\n {\n Header: t('CLOSING_DAY'),\n accessor: 'closingDay',\n Cell: ({ row }) => {\n return (\n {row.original.agentProfile?.closingDay}\n )\n },\n disableSortBy: true\n },\n {\n Header: t('CREDIT'),\n accessor: 'credit',\n Cell: ({ row }) => {\n return (\n \n
    {\n setAgentDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n credit: row.original.agentProfile.credit\n });\n setIsSetAgentCreditModalVisible(true)\n }}>\n {numberWithCurrencyFormat(row.original.agentProfile?.credit)}\n
    \n /\n
    {\n setAgentDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n credit: row.original.agentProfile.creditLimit\n });\n setIsSetAgentCreditLimitModalVisible(true)\n }}>\n {numberWithCurrencyFormat(row.original.agentProfile?.creditLimit)}\n
    \n
    \n )\n },\n disableSortBy: true\n },\n {\n Header: t('STATUS'),\n accessor: 'status',\n Cell: ({ row }) => {\n return (\n \n {\n row.original.status == FilterStatus._ACTIVE ?\n {t(\"ACTIVE\")} :\n {t(\"SUSPENDED\") + \" (\" + row.original.invalidLoginCount + \")\"}\n }\n \n )\n },\n disableSortBy: true\n },\n {\n Header: t('SETTINGS'),\n Cell: ({ row }) => {\n return <>\n {row.original.agentProfile.createPlayerEnable && <>- {t('ADD_PLAYER')}
    }\n {row.original.agentProfile.reloadEnable && <>- {t('RELOAD')}
    }\n \n },\n disableFilters: true,\n disableSortBy: true,\n },\n {\n\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => {\n var suspended = row.original.status === FilterStatus._SUSPENDED;\n\n return (\n checkIfPermissionExist(AccessRight._AGENT_CONTROL_PERMISSION, true) &&
    \n \n \n \n {_userData.isAdminLevel &&\n {\n navigateTo(_history, WebUrl._URL_ADMIN_AGENT_VENDOR_API_DETAILS, row.original)\n }}>{t(\"VENDOR_API_DETAILS\")}\n }\n {\n setAgentDetails({\n id: row.original.id,\n userFullName: row.original.userFullName,\n currentCreditLimit: row.original.agentProfile.credit,\n isRequiredSetLimitApproval: row.original.agentProfile.isRequiredSetLimitApproval\n });\n setIsSetAgentCreditModalVisible(true)\n }}>{t(\"SET_CREDIT\")}\n {\n setUserId(row.original.id);\n setIsResetPasswordModalVisible(true);\n }}>{t(\"RESET_PASSWORD\")}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: `${t(!suspended ? \"BLOCK_AGENT_ALERT\" : \"UNBLOCK_AGENT_ALERT\")} ${row.original.userFullName}?`,\n showCancel: true,\n confirmBtnText: t(!suspended ? \"BLOCK_AGENT\" : \"UNBLOCK_AGENT\"),\n onConfirm: () => updateAgentHandler(\n row.original.id,\n (suspended) ? FilterStatus._ACTIVE : FilterStatus._SUSPENDED\n )\n }));\n }}>\n \n {t(!suspended ? \"BLOCK_AGENT\" : \"UNBLOCK_AGENT\")}\n \n \n { navigateTo(_history, WebUrl._URL_ADMIN_CREATE_OR_UPDATE_AGENT, row.original) }}>{t(\"EDIT\")}\n { setCopyAgentModalVisible(true); setSelectedCopyAgent(row.original.id); }}>{t(\"COPY\")}\n {\n const win = window.open(WebUrl._URL_VIEW_USER_ACTION_LOG + \"?username=\" + row.original.username\n , \"_blank\");\n win.focus();\n }}>\n {t('VIEW_USER_ACTION_LOG')}\n \n \n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_AGENT\"),\n showCancel: true,\n onConfirm: () => updateAgentHandler(row.original.id, Status._DELETED)\n }));\n }}>{t(\"DELETE_AGENT\")}\n { navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_PLAYER, { agentId: row.original.id, userFullName: row.original.userFullName }) }}>{t(\"VIEW_PLAYER\")}\n \n \n
    \n )\n },\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ], [checkAll, selectedAgents, count]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n function saveSession() {\n var data = watch();\n sessionStorage.setItem(\"agentFullname\", data.name);\n sessionStorage.setItem(\"agentUsername\", data.username);\n sessionStorage.setItem(\"agentRegionId\", data.regionId);\n sessionStorage.setItem(\"agentStatus\", data.status);\n sessionStorage.setItem(\"agentCity\", data.city);\n }\n\n /// \n /// Author: CK\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION)\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n regionList.push({ label: t(\"ALL\"), value: \"\" });\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n\n setRegionOptions(regionList);\n }\n\n setValue(\"regionId\", sessionStorage.getItem(\"agentRegionId\"));\n setValue(\"status\", sessionStorage.getItem(\"agentStatus\"));\n handleSubmit(onSubmit)();\n }\n\n /// \n /// Author: CK\n /// \n const onSubmit = async (data) => {\n var rawUrl = ApiUrl._API_GET_USERS + \"?RoleId=\" + Role._AGENT + \"&v=\" + (++count);\n setCount(count);\n\n if (data) {\n rawUrl += \"&FullName=\" + data.name + \"&RegionId=\" + data.regionId + \"&Username=\" + data.username + \"&Status=\" + data.status + \"&City=\" + data.city;\n }\n\n saveSession();\n setAgentApiUrl(rawUrl);\n setCheckAll(false);\n }\n\n /// \n /// Author: CK\n /// \n const updateAgentHandler = async (userId, status) => {\n let params = {\n id: userId,\n status: status\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(onSubmit)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n let checkedList = {};\n agents.map((agent) => {\n checkedList[agent.id] = checkAll;\n });\n\n setSelectedAgents(checkedList);\n }, [checkAll]);\n\n /// \n /// Author: CK\n /// \n const massAssignHandler = async (selectedAgentIds, agentSettingsData) => {\n let params = {\n ids: selectedAgentIds,\n ...agentSettingsData\n };\n\n var responseJson = await ApiEngine.post(`${ApiUrl._API_BULK_ASSIGN_SHOP_SETTINGS}?roleId=${Role._AGENT}`, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(onSubmit)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return <>\n
    \n

    {t(\"MANAGE_AGENT\")}

    \n {\n checkIfPermissionExist(AccessRight._AGENT_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n {\n setIsResetPasswordModalVisible(false);\n }}\n resetAgentPassword={true}\n targetUserId={userId}\n visible={isResetPasswordModalVisible} />\n {\n if (isSuccess) {\n handleSubmit(onSubmit)();\n }\n\n if (isSetAgentCreditModalVisible) {\n setIsSetAgentCreditModalVisible(false);\n }\n\n if (isSetAgentCreditLimitModalVisible) {\n setIsSetAgentCreditLimitModalVisible(false);\n }\n }}\n agentDetails={agentDetails}\n visible={isSetAgentCreditModalVisible || isSetAgentCreditLimitModalVisible}\n isCreditLimit={isSetAgentCreditLimitModalVisible}\n />\n {\n if (refreshRequired) {\n init();\n }\n setCopyAgentModalVisible(false);\n\n }}\n visible={copyAgentModalVisible} />\n ;\n}\n\nexport default ManageAgent;","import React, { useState, useEffect, useRef } from 'react';\nimport { Panel, PanelHeader, PanelBody, PanelFooter } from 'components/panel/panel.jsx';\nimport { useForm } from 'react-hook-form';\nimport { useHistory } from 'react-router-dom';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage, navigateTo, validatePhoneNumber, range } from \"../../../util/Util\";\nimport { ShopSettings, Status, Role, AlertTypes, ApiUrl, ApiKey, WebUrl } from 'util/Constant';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showMessage } from 'redux/AppAction';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport Select from \"react-select\";\nimport { useLocation } from \"react-router-dom\";\nimport IntlTelInput from 'react-intl-tel-input';\nimport 'react-intl-tel-input/dist/main.css';\nimport DualListBox from 'react-dual-listbox';\nimport { ButtonGroup, Button } from 'reactstrap';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author: CK\n/// \nconst AgentDetail = props => {\n var _history = useHistory();\n var _dispatch = useDispatch();\n var _location = useLocation();\n var _userData = useSelector(state => state['authState']['userData']);\n const { register, handleSubmit, errors, watch, unregister, setValue, triggerValidation } = useForm();\n const [regionOptions, setRegionOptions] = useState([]);\n const { t } = useTranslation();\n const [phone, setPhone] = useState('');\n const [renderPhone, setRenderPhone] = useState(false);\n const _phoneFieldRef = useRef(null);\n const [managerOptions, setManagerOptions] = useState([]);\n const [selectedManager, setSelectedManager] = useState([]);\n const [defaultManagerOption, setDefaultManagerOption] = useState([]);\n const [selectedAgent, setSelectedAgent] = useState(null);\n const [max07Options, setMax07Options] = useState(range(0, 0.7, 0.05).map(i => { return { label: i + '%', value: i } }));\n const [max20Options, setMax20Options] = useState(range(0, 20).map((_, i) => { return { label: i + '%', value: i } }));\n const [max40Options, setMax40Options] = useState(range(0, 40).map((_, i) => { return { label: i + '%', value: i } }));\n const [max5Options, setMax5Options] = useState(range(0, 5).map((_, i) => { return { label: i + '%', value: i } }));\n const _CLOSING_DAY_OPTIONS = [\n { label: `7 ${t(\"DAY\")}`, value: 7 },\n { label: `15 ${t(\"DAY\")}`, value: 15 },\n { label: `21 ${t(\"DAY\")}`, value: 21 },\n { label: `31 ${t(\"DAY\")}`, value: 31 },\n ];\n const [closingDayValue, setClosingDayValue] = useState(_CLOSING_DAY_OPTIONS[0].value);\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'regionId' }, { required: \"PLEASE_SELECT_REGION\" });\n register({ name: 'turnoverCommission' }, { required: true });\n register({ name: 'lottoCommission' }, { required: true });\n register({ name: 'slotCommission' }, { required: true });\n register({ name: 'fishingCommission' }, { required: true });\n register({ name: 'uplineLottoCommission' }, { required: true });\n register({ name: 'uplineSlotCommission' }, { required: true });\n register({ name: 'uplineFishingCommission' }, { required: true });\n register({ name: 'phone' }, { required: true });\n setValue(\"phone\", \"\");\n setValue(\"turnoverCommission\", max07Options[0].value);\n setValue(\"lottoCommission\", max20Options[0].value);\n setValue(\"slotCommission\", max40Options[0].value);\n setValue(\"fishingCommission\", max40Options[0].value);\n setValue(\"uplineLottoCommission\", max5Options[0].value);\n setValue(\"uplineSlotCommission\", max5Options[0].value);\n setValue(\"uplineFishingCommission\", max5Options[0].value);\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(watch('regionId')) && regionOptions.length != 0) {\n triggerValidation(\"regionId\")\n\n var filteredManagerOptions = [];\n\n regionOptions.filter(i => i.value == watch('regionId')).map(region => {\n let managersByRegion = defaultManagerOption.filter(manager => manager.regionId == region.value);\n\n if (managersByRegion.length) {\n let options = [];\n managersByRegion.map(manager => {\n options.push({\n label: manager.label,\n value: manager.value,\n regionId: manager.regionId\n });\n });\n\n filteredManagerOptions.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n });\n\n setManagerOptions(filteredManagerOptions);\n }\n }, [regionOptions, watch('regionId')]);\n\n /// \n /// Author : CK\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let regionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n setRegionOptions(regionList);\n }\n\n if (_userData['userRoleId'] != Role._MANAGER) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._MANAGER);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var managerOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n managerOptionList.push({ label: user.username + \" (\" + user.userFullName + \")\", value: user.id, regionId: user.regionId });\n });\n\n setDefaultManagerOption(managerOptionList);\n }\n\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + _location.state[\"id\"]);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let agentRespone = responseJson[ApiKey._API_DATA_KEY];\n\n if (!stringIsNullOrEmpty(agentRespone.phoneNumber)) {\n setPhone(agentRespone.phoneNumber);\n setValue(\"phone\", agentRespone.phoneNumber);\n }\n\n setValue('regionId', agentRespone.regionId);\n setValue('canCreatePlayer', agentRespone?.agentProfile.createPlayerEnable);\n setValue('canReload', agentRespone?.agentProfile.reloadEnable);\n setValue('creditLimit', agentRespone?.agentProfile.creditLimit);\n setValue('turnoverCommission', agentRespone?.agentProfile.turnoverCommission);\n setValue('lottoCommission', agentRespone?.agentProfile.lottoCommission);\n setValue('slotCommission', agentRespone?.agentProfile.slotCommission);\n setValue('fishingCommission', agentRespone?.agentProfile.fishingCommission);\n setValue('uplineLottoCommission', agentRespone?.agentProfile.uplineLottoCommission);\n setValue('uplineSlotCommission', agentRespone?.agentProfile.uplineSlotCommission);\n setValue('uplineFishingCommission', agentRespone?.agentProfile.uplineFishingCommission);\n setSelectedAgent(agentRespone);\n setClosingDayValue(agentRespone ? agentRespone.agentProfile.closingDay :_CLOSING_DAY_OPTIONS[0].value);\n\n let managers = responseJson[ApiKey._API_DATA_KEY][\"associatedAgentManagers\"];\n\n if (managers != null) {\n let agentManagers = [];\n\n managers.forEach(function (manager) {\n agentManagers.push(manager.managerUserId);\n });\n\n setSelectedManager(agentManagers);\n }\n }\n }\n }\n else {\n // Set current manager as assigned manager for agent\n setSelectedManager(_userData['userId']);\n }\n\n setRenderPhone(true);\n }\n\n /// \n /// Author: CK - Redirect back once completed submission\n /// \n const onSubmit = async (data) => {\n let params = {\n username: `A${data.phone.substring(1)}`,\n userFullName: data.userFullName,\n roleId: Role._AGENT,\n phoneNumber: `A${data.phone}`,\n regionId: data.regionId,\n createPlayerEnable: data.canCreatePlayer,\n reloadEnable: data.canReload,\n shopName: data.userFullName,\n address: data.address,\n city: data.city,\n state: data.state,\n postalCode: data.postalCode,\n lottoCommission: data.lottoCommission,\n slotCommission: data.slotCommission,\n fishingCommission: data.fishingCommission,\n uplineName: data.uplineName,\n uplineLottoCommission: data.uplineLottoCommission,\n uplineSlotCommission: data.uplineSlotCommission,\n uplineFishingCommission: data.uplineFishingCommission,\n agentManagerList: selectedManager.join(\",\"),\n creditLimit: data.creditLimit,\n turnoverCommission: data.turnoverCommission,\n closingDay: closingDayValue\n };\n\n if (selectedAgent) {\n params[\"id\"] = selectedAgent.id;\n }\n else {\n params[\"status\"] = Status._ENABLED;\n params[\"password\"] = data.password;\n params[\"credit\"] = data.credit;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_AGENT),\n }));\n };\n\n /// \n /// Author : CK\n /// \n const onChangePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n setPhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n register({ name: \"phone\" }, {\n validate: (value) => (validatePhoneNumber(fullNumber, countryData[\"iso2\"]) && validatePhoneNumber(newNumber, countryData[\"iso2\"])) || stringIsNullOrEmpty(newNumber) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n setValue(\"phone\", stringIsNullOrEmpty(newNumber) ? '' : formattedNumber);\n triggerValidation(\"phone\")\n }\n\n return (\n
    \n

    \n {_location.state ? t(\"EDIT_AGENT\") : t(\"CREATE_AGENT\")}\n \n

    \n
    \n \n {t(\"AGENT_DETAIL\")}\n \n
    \n
    \n
    \n \n \n {errors.userFullName &&
    {t(getValidationMessage(errors.userFullName))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.username &&
    {t(getValidationMessage(errors.username))}
    }\n
    \n
    \n {!_location.state &&\n <>\n
    \n
    \n \n \n {errors.password &&
    {t(getValidationMessage(errors.password))}
    }\n
    \n
    \n
    \n
    \n \n {\n return value === watch('password') || 'PASSWORD_DO_NOT_MATCH'\n }\n })} />\n {errors.confirmPassword &&
    {t(getValidationMessage(errors.confirmPassword))}
    }\n
    \n
    \n \n }\n
    \n
    \n \n {renderPhone && {\n onChangePhoneNumber(_phoneFieldRef.current.isValidNumber(phone), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={''}\n value={phone}\n useMobileFullscreenDropdown={false}\n separateDialCode\n />}\n {errors.phone &&
    {t(getValidationMessage(errors.phone))}
    }\n
    \n
    \n
    \n
    \n \n option.value == watch('regionId'))[0] !== undefined) ? (regionOptions.filter(option => option.value == watch('regionId'))[0].label) : \"\"}\n value={regionOptions.filter(option => option.value == watch('regionId'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"regionId\", e.value);\n }} />\n {errors.regionId &&
    {t(getValidationMessage(errors.regionId))}
    }\n
    \n
    \n {\n !_location.state &&\n
    \n
    \n \n \n {errors.credit &&
    {t(getValidationMessage(errors.credit))}
    }\n
    \n
    \n }\n
    \n
    \n \n \n {errors.creditLimit &&
    {t(getValidationMessage(errors.creditLimit))}
    }\n
    \n
    \n
    \n
    \n
    \n \n {\n _CLOSING_DAY_OPTIONS.map((option) =>\n setClosingDayValue(option.value)}\n >\n {option.label}\n \n )\n }\n \n
    \n
    \n
    \n
    \n {t(\"ADDRESS\")}\n \n
    \n
    \n
    \n \n \n {errors.address &&
    {t(getValidationMessage(errors.address))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.city &&
    {t(getValidationMessage(errors.city))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.state &&
    {t(getValidationMessage(errors.state))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.postalCode &&
    {t(getValidationMessage(errors.postalCode))}
    }\n
    \n
    \n
    \n
    \n {t(\"COMMISSION\")}\n \n
    \n
    \n
    \n \n option.value == watch('slotCommission'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"slotCommission\", e.value);\n }} />\n {errors.slotCommission &&
    {t(getValidationMessage(errors.slotCommission))}
    }\n
    \n
    \n
    \n
    \n \n option.value == watch('fishingCommission'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"fishingCommission\", e.value);\n }} />\n {errors.fishingCommission &&
    {t(getValidationMessage(errors.fishingCommission))}
    }\n
    \n
    \n
    \n
    \n \n option.value == watch('lottoCommission'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"lottoCommission\", e.value);\n }} />\n {errors.lottoCommission &&
    {t(getValidationMessage(errors.lottoCommission))}
    }\n
    \n
    \n
    \n
    \n \n option.value == watch('turnoverCommission'))}\n ref={register({ required: true, min: 0 })}\n onChange={(e) => {\n setValue(\"turnoverCommission\", e.value);\n }} />\n {errors.turnoverCommission &&
    {t(getValidationMessage(errors.turnoverCommission))}
    }\n
    \n
    \n
    \n
    \n {t(\"UPLINE\")}\n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n option.value == watch('uplineSlotCommission'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"uplineSlotCommission\", e.value);\n }} />\n {errors.uplineSlotCommission &&
    {t(getValidationMessage(errors.uplineSlotCommission))}
    }\n
    \n
    \n
    \n
    \n \n option.value == watch('uplineFishingCommission'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"uplineFishingCommission\", e.value);\n }} />\n {errors.uplineFishingCommission &&
    {t(getValidationMessage(errors.uplineFishingCommission))}
    }\n
    \n
    \n
    \n
    \n \n option.value == watch('uplineLottoCommission'))}\n ref={register({ required: true })}\n onChange={(e) => {\n setValue(\"uplineLottoCommission\", e.value);\n }} />\n {errors.uplineLottoCommission &&
    {t(getValidationMessage(errors.uplineLottoCommission))}
    }\n
    \n
    \n
    \n
    \n {\n _userData['userRoleId'] != Role._MANAGER &&\n <>\n {t(\"ASSIGN_MANAGERS\")}\n \n
    \n \n { setSelectedManager(e) }}\n />\n
    \n
    \n \n }\n {t(\"SETTING\")}\n \n
    \n setValue('canCreatePlayer', e.target.checked)}\n ref={register} />\n \n
    \n
    \n setValue('canReload', e.target.checked)}\n ref={register} />\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default AgentDetail;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport { Link } from \"react-router-dom\";\nimport { Button } from \"reactstrap\";\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n PanelFooter,\n} from \"../../components/panel/panel.jsx\";\nimport { Line } from \"react-chartjs-2\";\nimport DatePicker from \"react-datepicker\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ReactTable from \"../../components/custom/ReactTable\";\nimport ApiEngine from \"../../util/ApiEngine\";\nimport { ApiKey, ApiUrl, RegionId, AccessRight, AlertTypes } from \"../../util/Constant\";\nimport { numberWithCurrencyFormat } from '../../util/Util';\nimport { useTranslation } from \"react-i18next\";\nimport { showResponseMessage, showMessage } from '../../redux/AppAction';\nimport { Pie } from 'react-chartjs-2';\nimport { checkIfPermissionExist } from \"../../util/PermissionChecker.js\";\n\n/// \n/// Author : Lewis\n/// \nconst Dashboard = props => {\n var _userId = useSelector(state => state['authState']['userData']['userId']);\n const { t } = useTranslation();\n const [startDate, setStartDate] = useState(moment().toDate());\n const [endDate, setEndDate] = useState(moment().toDate());\n const _userData = useSelector(state => state.authState.userData);\n const [shopDetails, setShopDetails] = useState([]);\n const _dispatch = useDispatch();\n const [pieCharts, setPieCharts] = useState([]);\n const [pieChartColors, setPieChartColors] = useState([]);\n const [windowWidth, setWindowWidth] = useState('');\n const [transactionExist, setTransactionExist] = useState(false);\n const [welcomeBonus, setWelcomeBonus] = useState([]);\n\n const _FULL_HD_WIDTH = 1920;\n const _1440P_WIDTH = 2560;\n const _MOBILE_WIDTH = 768;\n const _OBJ_NAME_INDEX = 1;\n const _TOP_DETAILS_INDEX = {\n DEPOSITER: 0,\n DEPOSITS: 1,\n WITHDRAWALS: 2,\n EARNINGS: 3\n }\n\n const _PIE_CHART_COLOR = {\n [RegionId._AGENT]: \"#84ff63\",\n [RegionId._EAST]: \"#CCC\",\n [RegionId._MIDDLE]: \"#FF6384\",\n [RegionId._NORTH]: \"#36A2EB\",\n [RegionId._SOUTH]: \"#FFCE56\",\n [RegionId._ALL]: \"#de63ff\"\n }\n\n const [topDetails, setTopDetails] = useState([\n {\n field: \"NUMBER_OF_DEPOSITORS\",\n value: \"\",\n background: \"#348fe2\",\n classname: \"admin-data-a\",\n iconClassname: \"fa fa-users\",\n },\n {\n field: \"TOTAL_DEPOSITS_TODAY\",\n value: \"\",\n background: \"#49b6d6\",\n classname: \"admin-data-b\",\n iconClassname: \"fa fa-desktop\",\n },\n {\n field: \"TOTAL_WITHDRAWALS_TODAY\",\n value: \"\",\n background: \"#f59c1a\",\n classname: \"admin-data-c\",\n iconClassname: \"fa fa-desktop\",\n },\n {\n field: \"TOTAL_EARNING_TODAY\",\n value: \"\",\n background: \"#ff5b57\",\n classname: \"admin-data-d\",\n iconClassname: \"fa fa-desktop\",\n },\n ]);\n\n const _TABLE_COLUMNS = useMemo(\n () => [\n {\n Header: \"SHOP\",\n accessor: \"shopName\",\n },\n {\n Header: \"USER_NUMBER\",\n accessor: \"userFullName\",\n },\n {\n Header: \"REGION\",\n accessor: \"regionName\",\n },\n {\n Header: \"TOTAL_MEMBER\",\n accessor: \"totalMember\",\n },\n {\n Header: \"TOTAL_APP\",\n accessor: \"totalApp\",\n },\n {\n Header: \"TOTAL_PRO_APP\",\n accessor: \"totalProApp\",\n },\n ],\n []\n );\n\n const _WELCOME_BONUS_TABLE_COLUMNS = useMemo(\n () => [\n {\n Header: \"BONUS\",\n accessor: \"name\",\n },\n {\n Header: \"AMOUNT_CLAIMED\",\n Cell: ({ row }) => {\n return {numberWithCurrencyFormat(row.original.amount)}\n },\n },\n {\n Header: \"STATUS\",\n Cell: ({ row }) => {\n return {`${row.original.count}/${row.original.limitCount}`}\n },\n }\n ],\n []\n );\n\n /// \n /// Author : YJ\n /// Added resize listener to handle change of screen to handle pie size\n /// \n useEffect(() => {\n init();\n updateWindowDimension();\n window.addEventListener('resize', updateWindowDimension);\n\n return () => {\n window.removeEventListener('resize', updateWindowDimension);\n }\n }, []);\n\n /// \n /// Author : YJ\n /// \n function updateWindowDimension() {\n setWindowWidth(window.innerWidth);\n }\n\n /// \n /// Author : YJ\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOP_MEMBER_DETAIL);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShopDetails(responseJson[ApiKey._API_DATA_KEY]);\n }\n\n if (_userData.isAdminLevel) {\n responseJson = await ApiEngine.get(ApiUrl._API_GET_DAILY_TRANSACTION);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let newArr = [...topDetails];\n let totalDepositers = 0;\n let totalDeposit = 0;\n let totalWithdrawal = 0;\n let totalEarning = 0;\n let pieChartDatas = [];\n let pieChartColours = [];\n let depositerObj = { name: \"DEPOSITERS\" };\n let depositObj = { name: \"DEPOSITS\" };\n let withdrawalObj = { name: \"WITHDRAWALS\" };\n let earningObj = { name: \"EARNING\" };\n\n responseJson[ApiKey._API_DATA_KEY].map((data, key) => {\n totalDepositers += data[\"depositers\"];\n depositerObj[data.regionName] = data[\"depositers\"];\n totalDeposit += data[\"totalDeposit\"];\n depositObj[data.regionName] = data[\"totalDeposit\"].toFixed(2);\n totalWithdrawal += data[\"totalWithdrawal\"];\n withdrawalObj[data.regionName] = data[\"totalWithdrawal\"].toFixed(2);\n totalEarning += data[\"earning\"];\n earningObj[data.regionName] = data[\"earning\"].toFixed(2);\n pieChartColours.push(_PIE_CHART_COLOR[data[\"regionId\"]]);\n setTransactionExist(true);\n })\n pieChartDatas.push(depositerObj);\n pieChartDatas.push(depositObj);\n pieChartDatas.push(withdrawalObj);\n pieChartDatas.push(earningObj);\n newArr[_TOP_DETAILS_INDEX.DEPOSITER].value = totalDepositers\n newArr[_TOP_DETAILS_INDEX.DEPOSITS].value = \"RM \" + numberWithCurrencyFormat(totalDeposit);\n newArr[_TOP_DETAILS_INDEX.WITHDRAWALS].value = \"RM \" + numberWithCurrencyFormat(totalWithdrawal);\n newArr[_TOP_DETAILS_INDEX.EARNINGS].value = \"RM \" + numberWithCurrencyFormat(totalEarning);\n setTopDetails(newArr);\n setPieCharts(pieChartDatas);\n setPieChartColors(pieChartColours);\n }\n\n var welcomeBonusResponse = await ApiEngine.get(ApiUrl._API_GET_WELCOME_BONUS_DETAIL);\n\n if (welcomeBonusResponse[ApiKey._API_SUCCESS_KEY]) {\n setWelcomeBonus(welcomeBonusResponse[ApiKey._API_DATA_KEY]['welcomeBonusSummaryModel']);\n }\n }\n }\n\n /// \n /// Author : YJ\n /// \n const renderPieCharts = useMemo(() => {\n if (transactionExist) {\n return pieCharts.map((chartData, index) => {\n let validValuesArr = Object.values(chartData).slice(_OBJ_NAME_INDEX);\n if (validValuesArr.length > 0) {\n let valueSum = validValuesArr.reduce((a, b) => (parseFloat(a) + parseFloat(b)));\n if (Math.abs(valueSum) > 0) {\n return
    = _FULL_HD_WIDTH ? \"col-lg-3\" : \"col-lg-6\"}>\n
    \n _MOBILE_WIDTH,\n plugins: {\n labels: [\n {\n render: 'percentage',\n fontSize: windowWidth >= _1440P_WIDTH ? 18 : 12,\n fontColor: \"black\"\n },\n {\n render: 'value',\n fontSize: windowWidth >= _1440P_WIDTH ? 18 : 12,\n fontColor: \"black\",\n position: 'outside'\n }\n ]\n }\n }} />\n
    \n
    {t(chartData.name)}
    \n
    \n }\n }\n });\n }\n }, [pieCharts, pieChartColors, t, windowWidth]);\n\n return (\n
    \n
    \n
    \n

    \n {t('DASHBOARD')}\n

    \n
    \n
    \n {_userData.isAdminLevel && checkIfPermissionExist(AccessRight._DASHBOARD_CONTROL_PERMISSION, false) &&\n <>\n
    \n {topDetails.map((obj, index) => {\n return (\n
    \n \n
    \n \n
    \n
    \n

    {t(obj.field)}

    \n

    {obj.value}

    \n
    \n
    \n
    \n
    \n
    \n );\n })}\n
    \n {transactionExist && checkIfPermissionExist(AccessRight._DASHBOARD_CONTROL_PERMISSION, false) && \n {t(\"TRANSACTION_PIE_CHART\")}\n \n
    \n {renderPieCharts}\n
    \n
    \n
    }\n \n }\n
    \n
    \n \n \n \n \n \n \n
    \n
    \n {\n _userData.isAdminLevel && checkIfPermissionExist(AccessRight._DASHBOARD_CONTROL_PERMISSION, false) &&\n
    \n
    \n \n {t('WELCOME_BONUS_CLAIM_STATUS')}\n \n \n \n \n
    \n
    \n }\n
    \n );\n}\n\nexport default Dashboard;\n","import React, { useState, useEffect, useMemo } from 'react';\nimport { Panel, PanelBody } from '../../../components/panel/panel';\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, AlertTypes } from '../../../util/Constant';\nimport * as Util from '../../../util/Util';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useForm } from 'react-hook-form';\nimport DualListBox from 'react-dual-listbox';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author: CK\n/// \nconst ManageVendor = props => {\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _dispatch = useDispatch();\n const { register, handleSubmit, errors, watch, unregister, setValue } = useForm();\n const {\n register: registerEditAppLinks,\n handleSubmit: handleSubmitEditAppLinks,\n errors: errorsEditAppLinks,\n watch: watchEditAppLinks,\n reset: resetEditAppLinks,\n setValue: setValueAppLinks\n } = useForm();\n const [filteredName, setFilteredName] = useState('');\n const [filteredCode, setFilteredCode] = useState('');\n const [vendorList, setVendorList] = useState([]);\n const [targetVendor, setTargetVendor] = useState(null);\n const [categoryOption, setCategoryOption] = useState([]);\n const [assignedCategory, setAssignedCategory] = useState([]);\n const [showAppLinksModal, setShowAppLinksModal] = useState(false);\n const [selectedVendor, setSelectedVendor] = useState(null);\n\n /// \n /// Author: CK\n /// \n let _vendorTableColumns = useMemo(() => [\n {\n Header: \"LOGO\",\n accessor: \"imagePath\",\n Cell: ({ row }) => {\n return row.original.imagePath ? :
    \n }\n },\n {\n Header: \"GAME_NAME\",\n accessor: \"gameName\",\n },\n {\n Header: \"NAME\",\n accessor: \"name\",\n },\n {\n Header: \"SHORT_NAME\",\n accessor: \"shortName\",\n },\n {\n Header: \"API_BASE_URL\",\n accessor: \"baseUrl\",\n style: {\n wordBreak: 'break-word'\n },\n },\n {\n Header: \"CODE\",\n accessor: \"code\",\n },\n {\n Header: \"CATEGORY\",\n accessor: \"categories\",\n Cell: ({ row }) => {\n return
    {row.original.categories.map((item) => { return {item.translatedName} })}
    ;\n }\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"ACTIVE\")} : {t(\"DISABLE\")};\n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n onEditStatus({ \"id\": row.original.id, \"status\": !row.original.status })\n }}>\n {row.original.status ? t(\"DISABLE\") : t(\"ACTIVATE\")}\n \n {\n _history.push({\n pathname: WebUrl._URL_ADMIN_VENDOR_DETAIL,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT_VENDOR_DETAILS')}\n \n {\n setTargetVendor(row.original)\n }}>\n {t('ASSIGN_CATEGORY')}\n \n {\n setSelectedVendor(row.original)\n }}>\n {t('EDIT_APP_DOWNLOAD_LINKS')}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [vendorList]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n getVendorList();\n }, []);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n if (targetVendor) {\n var responseJson = await ApiEngine.get(ApiUrl._API_VENDOR_CATEGORY)\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var categoryOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].data.filter(v => v.status == true).forEach(function (category) {\n categoryOptionList.push({ label: category.translatedName, value: category.id });\n });\n setCategoryOption(categoryOptionList);\n }\n\n setAssignedCategory(targetVendor.categories.map(obj => { return obj.id; }))\n }\n })();\n }, [targetVendor]);\n\n /// \n /// Author: CK\n /// \n async function getVendorList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST + \"?name=\" + filteredName + \"&code=\" + filteredCode);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setVendorList(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function onEditStatus(data) {\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_VENDOR, Util.createMultiPartFormBody(data));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n getVendorList();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: Wind\n /// \n const onSubmit = async (data) => {\n let params = {\n categoryIds: assignedCategory\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_ASSIGNED_VENDOR_CATEGORY + \"/\" + targetVendor.id, Util.createFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setTargetVendor(null);\n getVendorList()\n }\n }\n }));\n };\n\n /// \n /// Author: Wind\n /// \n const submitAppLinks = async (data) => {\n data['id'] = selectedVendor.id;\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_VENDOR, Util.createFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setSelectedVendor(null);\n getVendorList()\n }\n }\n }));\n };\n\n return (\n
    \n
    \n

    {t(\"MANAGE_VENDORS\")}

    \n {\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n \n { setFilteredName(e.target.value) }}\n />\n
    \n
    \n
    \n
    \n \n { setFilteredCode(e.target.value) }}\n />\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n { setTargetVendor(null) }} size=\"lg\">\n
    \n { setTargetVendor(null) }}>

    {t(\"ASSIGN_CATEGORY\")} {targetVendor && \" (\" + targetVendor.name + \")\"}

    \n \n
    \n \n \n {\n setAssignedCategory(e);\n }}\n />\n
    \n
    \n \n \n \n
    \n
    \n { setSelectedVendor(null) }} size=\"md\">\n
    \n \n

    {t('EDIT_APP_DOWNLOAD_LINKS')} {selectedVendor && ' (' + selectedVendor.gameName + ')'}

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n );\n}\n\nexport default ManageVendor;","import React, { useState, useEffect, useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel';\nimport { WebUrl, ApiUrl, ApiKey, AlertTypes } from '../../../util/Constant';\nimport * as Util from '../../../util/Util';\nimport { showMessage } from \"../../../redux/AppAction\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from 'react-i18next';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport Select from 'react-select';\nimport Dropzone from 'react-dropzone';\nimport ReactTable from 'components/custom/ReactTable';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\n\n/// \n/// Author: CK\n/// \nconst VendorDetail = props => {\n let _history = useHistory();\n let _location = useLocation();\n let _dispatch = useDispatch();\n const { register, handleSubmit, errors, setValue, watch } = useForm();\n const {\n register: registerLobby,\n handleSubmit: handleSubmitLobby,\n errors: errorsLobby\n } = useForm();\n const { t, i18n } = useTranslation();\n const [selectedVendor, setSelectedVendor] = useState(null);\n const [rewardEnable, setRewardEnable] = useState(false);\n const [useProxy, setUseProxy] = useState(false);\n const [checkStrikeEnabled, setCheckStrikeEnabled] = useState(false);\n const [autoSetStrike, setAutoSetStrike] = useState(false);\n const [manualRealDataEnabled, setManualReadDataEnabled] = useState(false);\n const [fixAmountSetScore, setFixAmountSetScore] = useState(false);\n const [enableRollover, setEnableRollover] = useState(false);\n const [isAutoRollover, setIsAutoRollover] = useState(true);\n const [useAgentLogForRollover, setUseAgentLogForRollover] = useState(false);\n const [useAgentGameLogForRollover, setUseAgentGameLogForRollover] = useState(false);\n const [rolloverTypes, setRolloverTypes] = useState([]);\n const [selectedRollover, setSelectedRollover] = useState(1);\n const [logoFile, setLogoFile] = useState();\n const [logoImage, setLogoImage] = useState();\n const [isAutoLogin, setIsAutoLogin] = useState(false);\n const [isHavingApp, setIsHavingApp] = useState(false);\n const [hasLobby, setHasLobby] = useState(false);\n const [lobbyBannerFile, setLobbyBannerFile] = useState();\n const [lobbyBanner, setLobbyBanner] = useState();\n const [lobbyGameUrl, setLobbyGameUrl] = useState();\n const [lobbyGameDetail, setLobbyGameDetail] = useState({});\n const [lobbyGameImageFile, setLobbyGameImageFile] = useState();\n const [lobbyGameImage, setLobbyGameImage] = useState();\n const [gameListFile, setGameListFile] = useState(null);\n const [enableAutoFetchGame, setEnableAutoFetchGame] = useState(false);\n const [inMaintenance, setInMaintenance] = useState(false);\n const [addMForLoginUrl, setAddMForLoginUrl] = useState(false);\n\n let _lobbyTableColumns = useMemo(() => [\n {\n Header: \"IMAGE\",\n accessor: \"image\",\n Cell: ({ row }) => {\n return
    \n },\n disableSortBy: true\n },\n {\n Header: \"CATEGORY\",\n accessor: \"category\"\n },\n {\n Header: \"NAME\",\n accessor: \"name\",\n width: 400,\n },\n {\n Header: \"CODE\",\n accessor: \"code\"\n },\n {\n Header: \"PRIORITY\",\n accessor: \"priority\"\n },\n {\n Header: \"STATUS\",\n Cell: ({ row }) => {\n return
    \n { updateLobbyGameStatus(row.original.id, e.target.checked, row.original.vendorId); }}\n />\n \n
    \n },\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => {\n return \n \n \n },\n }\n ], [lobbyGameUrl]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (_location.state && _location.state.id) {\n getVendorDetails(_location.state.id);\n }\n\n init();\n }, []);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (selectedVendor && Util.stringIsNullOrEmpty(lobbyGameUrl)) {\n setLobbyGameUrl(`${ApiUrl._API_LOBBY_GAME}?vendorId=${selectedVendor.id}&v=${new Date()}`);\n }\n }, [selectedVendor]);\n\n /// \n /// Author: YJ\n /// \n async function init() {\n let responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_ROLLOVER_TYPES);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let tempType = [];\n responseJson[ApiKey._API_DATA_KEY].map((type, index) => {\n tempType.push({ label: type.name, value: type.id });\n })\n\n setRolloverTypes(tempType);\n }\n }\n\n /// \n /// Author: Saitama\n /// \n async function updateLobbyGameStatus(lobbyId, status, vendorId) {\n let responseJson = await ApiEngine.put(ApiUrl._API_LOBBY_GAME + '/' + lobbyId, Util.createMultiPartFormBody({ vendorId: vendorId, isActive: status }));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue(`${lobbyId}_status`, !status);\n }\n },\n }));\n }\n\n /// \n /// Author: Saitama\n /// \n async function getLobbyGameDetail(id) {\n try {\n var responseJson = await ApiEngine.get(ApiUrl._API_LOBBY_GAME + '/' + id);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setLobbyGameDetail(responseJson[ApiKey._API_DATA_KEY]);\n setLobbyGameImage(responseJson[ApiKey._API_DATA_KEY].image);\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err),\n }));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function getVendorDetails(id) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_BY_ID + \"?id=\" + id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setSelectedVendor(responseJson[ApiKey._API_DATA_KEY]);\n setRewardEnable(responseJson[ApiKey._API_DATA_KEY].enableRewardCalculation);\n setUseProxy(responseJson[ApiKey._API_DATA_KEY].useProxy);\n setCheckStrikeEnabled(responseJson[ApiKey._API_DATA_KEY].enableStrikeCheck);\n setAutoSetStrike(responseJson[ApiKey._API_DATA_KEY].autoSetStrike);\n setManualReadDataEnabled(responseJson[ApiKey._API_DATA_KEY].enableManualReadScore);\n setFixAmountSetScore(responseJson[ApiKey._API_DATA_KEY].fixAmountSetScore);\n setEnableRollover(responseJson[ApiKey._API_DATA_KEY].enableRolloverCalculation);\n setIsAutoRollover(responseJson[ApiKey._API_DATA_KEY].isAutoRollover);\n setUseAgentLogForRollover(responseJson[ApiKey._API_DATA_KEY].useAgentLogForRollover);\n setUseAgentGameLogForRollover(responseJson[ApiKey._API_DATA_KEY].useAgentGameLogForRollover);\n setSelectedRollover(responseJson[ApiKey._API_DATA_KEY].vendorRolloverTypeId);\n setLogoImage(responseJson[ApiKey._API_DATA_KEY].imagePath);\n setIsAutoLogin(responseJson[ApiKey._API_DATA_KEY].isAutoLogin);\n setIsHavingApp(responseJson[ApiKey._API_DATA_KEY].isHavingApp);\n setHasLobby(responseJson[ApiKey._API_DATA_KEY].hasLobby)\n setLobbyBanner(responseJson[ApiKey._API_DATA_KEY].lobbyBanner);\n setEnableAutoFetchGame(responseJson[ApiKey._API_DATA_KEY].enableAutoFetchGame);\n setInMaintenance(responseJson[ApiKey._API_DATA_KEY].inMaintenance);\n setAddMForLoginUrl(responseJson[ApiKey._API_DATA_KEY].addMForLoginUrl);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function onSubmit(data) {\n if (selectedVendor) {\n data['id'] = selectedVendor.id;\n }\n\n data['enableRewardCalculation'] = rewardEnable;\n data['useProxy'] = useProxy;\n data['enableStrikeCheck'] = checkStrikeEnabled;\n data['autoSetStrike'] = autoSetStrike;\n data['enableManualReadScore'] = manualRealDataEnabled;\n data['vendorRolloverTypeId'] = selectedRollover;\n data['enableRolloverCalculation'] = enableRollover;\n data['isAutoRollover'] = isAutoRollover;\n data['useAgentLogForRollover'] = useAgentLogForRollover;\n data['useAgentGameLogForRollover'] = useAgentGameLogForRollover;\n data['isAutoLogin'] = isAutoLogin;\n data['isHavingApp'] = isHavingApp;\n data['hasLobby'] = hasLobby;\n data['enableAutoFetchGame'] = enableAutoFetchGame;\n data['inMaintenance'] = inMaintenance;\n data['addMForLoginUrl'] = addMForLoginUrl;\n\n if (logoFile) {\n data['imagePath'] = logoFile;\n }\n\n if (lobbyBannerFile) {\n data['lobbyBanner'] = lobbyBannerFile;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_VENDOR, Util.createMultiPartFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (hasLobby) {\n getVendorDetails(responseJson[ApiKey._API_DATA_KEY]['id']);\n }\n else {\n Util.navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_VENDOR);\n }\n }\n },\n }));\n }\n\n /// \n /// Author : Wind\n /// \n const imageDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setLogoFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setLogoImage(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author : Wind\n /// \n const lobbyBannerDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setLobbyBannerFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setLobbyBanner(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author : Saitama\n /// \n const lobbyGameImageDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setLobbyGameImageFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setLobbyGameImage(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author : Wind\n /// \n async function fetchGameList() {\n try {\n if (selectedVendor) {\n var fetchGameResponse = await ApiEngine.post(ApiUrl._API_FETCH_LOBBY_GAME_LIST.replace(':vendorId', selectedVendor.id));\n\n if (!fetchGameResponse[ApiKey._API_SUCCESS_KEY]) {\n throw fetchGameResponse[ApiKey._API_MESSAGE_KEY];\n }\n\n setLobbyGameUrl(`${ApiUrl._API_LOBBY_GAME}?vendorId=${selectedVendor.id}&v=${new Date()}`);\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err)\n }));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function onSaveLobbyDetail(data) {\n data['vendorId'] = lobbyGameDetail.vendorId;\n\n if (lobbyGameImageFile) {\n data['image'] = lobbyGameImageFile;\n }\n\n var responseJson = await ApiEngine.put(ApiUrl._API_LOBBY_GAME + '/' + lobbyGameDetail.id, Util.createMultiPartFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setLobbyGameUrl(`${ApiUrl._API_LOBBY_GAME}?vendorId=${selectedVendor.id}&v=${new Date()}`);\n setLobbyGameDetail({});\n }\n },\n }));\n }\n\n /// \n /// Author: CK\n /// \n const handleFileChange = (event) => {\n setGameListFile(event.target.files[0]);\n };\n\n /// \n /// Author: CK\n /// \n const uploadGameListFile = async () => {\n let param = {\n VendorId: selectedVendor.id,\n JsonFile: gameListFile\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_UPLOAD_GAME_LIST_FILE, Util.createMultiPartFormBody(param));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setLobbyGameUrl(`${ApiUrl._API_LOBBY_GAME}?vendorId=${selectedVendor.id}&v=${new Date()}`);\n }\n },\n }));\n\n setGameListFile(null);\n };\n\n return (\n
    \n

    {selectedVendor ? t(\"EDIT_VENDOR_DETAILS\") : t(\"CREATE_VENDOR\")}\n \n

    \n \n \n {t(\"VENDOR_DETAILS\")}\n \n \n
    \n
    \n
    \n
    \n \n imageDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {Util.stringIsNullOrEmpty(logoImage) &&

    {t(\"UPLOAD_LOGO\")}

    }\n {!Util.stringIsNullOrEmpty(logoImage) && }\n
    \n
    \n )}\n
    \n {\n !Util.stringIsNullOrEmpty(logoImage) &&\n \n }\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {errors[\"gameName\"] &&
    {t(errors[\"gameName\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"name\"] &&
    {t(errors[\"name\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"shortName\"] &&
    {t(errors[\"shortName\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"baseUrl\"] &&
    {t(errors[\"baseUrl\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"code\"] &&
    {t(errors[\"code\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n Tags: Player ID = {\"{playerid}\"},\n Game Password = {\"{gamepassword}\"}\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {errors[\"ranking\"] &&
    {t(errors[\"ranking\"].message)}
    }\n
    \n
    \n
    \n
    \n \n {\n setRewardEnable(e.target.checked)\n }}\n value={true}\n checked={rewardEnable}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setManualReadDataEnabled(e.target.checked)\n }}\n value={true}\n checked={manualRealDataEnabled}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setFixAmountSetScore(e.target.checked)\n }}\n value={true}\n checked={fixAmountSetScore}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setEnableRollover(e.target.checked)\n }}\n value={false}\n checked={enableRollover}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setUseAgentLogForRollover(e.target.checked)\n }}\n value={false}\n checked={useAgentLogForRollover}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setUseAgentGameLogForRollover(e.target.checked)\n }}\n value={false}\n checked={useAgentGameLogForRollover}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setIsAutoRollover(e.target.checked)\n }}\n value={true}\n checked={isAutoRollover}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setUseProxy(e.target.checked)\n }}\n value={true}\n checked={useProxy}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setCheckStrikeEnabled(e.target.checked)\n }}\n value={true}\n checked={checkStrikeEnabled}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setAutoSetStrike(e.target.checked)\n }}\n value={true}\n checked={autoSetStrike}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setIsAutoLogin(e.target.checked)\n }}\n value={true}\n checked={isAutoLogin}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setIsHavingApp(e.target.checked)\n }}\n value={true}\n checked={isHavingApp}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setHasLobby(e.target.checked)\n }}\n value={true}\n checked={hasLobby}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setEnableAutoFetchGame(e.target.checked)\n }}\n value={false}\n checked={enableAutoFetchGame}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setInMaintenance(e.target.checked)\n }}\n value={false}\n checked={inMaintenance}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setAddMForLoginUrl(e.target.checked)\n }}\n value={false}\n checked={addMForLoginUrl}\n ref={register} />\n \n
    \n
    \n
    \n
    \n {\n checkStrikeEnabled &&\n
    \n
    \n
    \n \n \n {errors[\"payoutRate\"] &&
    {t(errors[\"payoutRate\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"bonusRate\"] &&
    {t(errors[\"bonusRate\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"downlineCommissionRate\"] &&
    {t(errors[\"downlineCommissionRate\"].message)}
    }\n
    \n
    \n
    \n }\n {\n hasLobby &&\n
    \n
    \n
    \n \n lobbyBannerDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {Util.stringIsNullOrEmpty(lobbyBanner) &&

    {t(\"UPLOAD_LOBBY_BANNER\")}

    }\n {!Util.stringIsNullOrEmpty(lobbyBanner) && }\n
    \n
    \n )}\n
    \n {\n !Util.stringIsNullOrEmpty(lobbyBanner) &&\n \n }\n
    \n
    \n
    \n }\n {\n hasLobby && selectedVendor?.id && !Util.stringIsNullOrEmpty(lobbyGameUrl) &&\n
    \n
    \n
    \n \n \n
    \n \n
    \n {\n gameListFile &&\n \n }\n
    \n \n
    \n
    \n
    \n }\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n { setLobbyGameDetail({}) }} size=\"lg\">\n
    \n { setLobbyGameDetail({}) }}>

    \n {t(\"EDIT_LOBBY_GAME\")}\n

    \n
    \n \n
    \n \n lobbyGameImageDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {Util.stringIsNullOrEmpty(lobbyGameImage) &&

    {t(\"UPLOAD_LOGO\")}

    }\n {!Util.stringIsNullOrEmpty(lobbyGameImage) && }\n
    \n
    \n )}\n
    \n {\n !Util.stringIsNullOrEmpty(lobbyGameImage) &&\n \n }\n
    \n
    \n \n \n {errorsLobby.name &&
    {t(errorsLobby.name.message)}
    }\n
    \n
    \n \n \n {errorsLobby.code &&
    {t(errorsLobby.code.message)}
    }\n
    \n
    \n \n \n {errorsLobby.priority &&
    {t(errorsLobby.priority.message)}
    }\n
    \n
    \n \n \n {errorsLobby.category &&
    {t(errorsLobby.category.message)}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n );\n}\n\nexport default VendorDetail;","import React, { useState, useEffect } from 'react';\nimport { ApiKey, ApiUrl, Role } from '../../util/Constant';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport DualListBox from 'react-dual-listbox';\nimport { useForm } from \"react-hook-form\";\nimport { setIdle, setBusy } from '../../redux/AppAction';\nimport { useDispatch } from 'react-redux';\nimport DualListBoxItemRow from './DualListBoxItemRow';\n\n/// \n/// Author: CK\n/// \nconst AttachShopModal = props => {\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, errors } = useForm();\n const [regionOptions, setRegionOptions] = useState([]);\n const [selectedRegions, setSelectedRegions] = useState([])\n const [shopOptions, setShopOptions] = useState([]);\n const [attachedShops, setAttachedShops] = useState([]);\n const [shopAvailableList, setShopAvailableList] = useState([]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (props.isModalVisible) {\n init();\n }\n else {\n setShopOptions([]);\n setAttachedShops([]);\n setShopAvailableList([]);\n }\n }, [props.isModalVisible]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (shopOptions.length) {\n let tempShopAvailableList = [];\n selectedRegions.map(selectedRegion => {\n let filteredShops = shopOptions.filter(shopOption => shopOption.value == selectedRegion);\n\n if (filteredShops.length && filteredShops[0].options.length) {\n filteredShops[0].options.map(filteredShop => {\n tempShopAvailableList.push(filteredShop.value);\n })\n }\n })\n\n setShopAvailableList(tempShopAvailableList);\n }\n }, [selectedRegions, shopOptions]);\n\n /// \n /// Author: CK\n /// \n async function init() {\n _dispatch(setBusy());\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION)\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n var selectedRegionList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n selectedRegionList.push(region.id);\n });\n\n setRegionOptions(regionList);\n var attachedShopList = await getAttachedShop(props.getAttachedShopUrl);\n await getShopList(regionList, attachedShopList);\n }\n _dispatch(setIdle());\n }\n\n /// \n /// Author: CK\n /// \n async function getShopList(regionList, attachedShopList) {\n var responseJson = await ApiEngine.get(props.getShopListUrl ?? ApiUrl._API_GET_SHOPS + \"?RoleId=\" + (props.roleId ?? Role._SHOP));\n \n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let shopOptionsByRegion = [];\n var shopToFilter = responseJson[ApiKey._API_DATA_KEY];\n\n attachedShopList.forEach(function (attachedShop) {\n if (shopToFilter.filter(i => i.userId == attachedShop.userId).length == 0) {\n shopToFilter.push(attachedShop);\n }\n });\n\n regionList.map(region => {\n let shopsByRegion = shopToFilter.filter(shop => shop.regionId == region.value);\n\n if (shopsByRegion.length) {\n let options = [];\n\n shopsByRegion.map(shop => {\n options.push({\n label: shop.username + \" (\" + (shop.shopName ? shop.shopName : shop.userFullName) + \")\",\n value: shop.id,\n regionId: shop.regionId\n });\n });\n\n shopOptionsByRegion.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n })\n\n setShopOptions(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : CK\n /// Checkbox check/uncheck handler\n /// \n function onSelectedRegionChange(e) {\n if (selectedRegions.filter(selectedRegion => selectedRegion == e.target.value).length) {\n setSelectedRegions(selectedRegions.filter(selectedRegion => selectedRegion != e.target.value));\n }\n else {\n setSelectedRegions([...selectedRegions, e.target.value]);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function getAttachedShop(getAttachedShopUrl) {\n var attachedShopUserList = [];\n var responseJson = await ApiEngine.get(getAttachedShopUrl);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var attachedShopList = [];\n (responseJson[ApiKey._API_DATA_KEY] ?? []).forEach(function (attachedShop) {\n attachedShopList.push(attachedShop.userId);\n });\n\n attachedShopUserList = responseJson[ApiKey._API_DATA_KEY];\n setAttachedShops(attachedShopList);\n }\n else {\n props.onFinish(false);\n }\n\n return attachedShopUserList;\n }\n\n /// \n /// Author: CK\n /// \n async function onSubmit() {\n props.onFinish(attachedShops);\n }\n\n return (\n { props.onFinish(false) }} size=\"lg\">\n
    \n { props.onFinish(false) }}>

    \n {t(props.roleId ? \"ATTACH_AGENTS\" : \"ATTACH_SHOPS\")} {\" (\" + props.title + \") \"}\n

    \n
    \n \n
    \n \n
    \n {\n regionOptions.map((region, index) => {\n return (\n
    \n
    \n selectedRegion == region.value).length}\n value={region.value}\n ref={register}\n onChange={onSelectedRegionChange} />\n \n
    \n
    \n );\n })\n }\n
    \n
    \n
    \n \n \n {\n setAttachedShops(e);\n }}\n ref={register({ required: true })}\n />\n {errors.shops &&
    {t(errors.shops.message)}
    }\n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default AttachShopModal;","import React, { useState, useEffect, useMemo } from 'react';\nimport { Panel, PanelBody } from '../../../components/panel/panel';\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, Role } from '../../../util/Constant';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport * as Util from '../../../util/Util';\nimport { useDispatch } from \"react-redux\";\nimport Select from \"react-select\";\nimport { showResponseMessage } from \"../../../redux/AppAction\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport AttachShopModal from '../../../components/custom/AttachShopModal';\n\n/// \n/// Author: CK\n/// \nconst ManageVendorApi = props => {\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _dispatch = useDispatch();\n const [vendorList, setVendorList] = useState([]);\n const [vendorId, setVendorId] = useState(sessionStorage.getItem(\"manageVendorApiVendorId\") ?? '');\n const [filteredIsPrimary, setFilteredIsPrimary] = useState(sessionStorage.getItem(\"manageVendorApiIsPrimary\") ?? '');\n const [vendorApiList, setVendorApiList] = useState([]);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [selectedVendorApi, setSelectedVendorApi] = useState();\n const [isAgentModalVisible, setIsAgentModalVisible] = useState(false);\n\n /// \n /// Author: CK\n /// \n let _vendorApiTableColumns = useMemo(() => [\n {\n Header: \"VENDOR\",\n accessor: \"vendorName\",\n },\n {\n Header: \"CODE\",\n accessor: \"vendorShortName\",\n },\n {\n Header: \"ROOT_AGENT\",\n accessor: \"rootAgent\",\n },\n {\n Header: \"KEY\",\n accessor: \"signKey\",\n },\n {\n Header: \"OPCODE\",\n accessor: \"opcode\",\n },\n {\n Header: \"OPSECRET\",\n accessor: \"opSecret\",\n },\n {\n Header: \"TOTAL_SHOPS\",\n accessor: \"totalShop\",\n },\n {\n Header: \"TOTAL_AGENTS\",\n accessor: \"totalAgents\",\n },\n {\n Header: \"TYPE\",\n accessor: \"isPrimary\",\n Cell: ({ row }) => {\n return <>\n {\n row.original.isPrimary ? {t(\"PRIMARY\")} : {t(\"SECONDARY\")}\n }\n {\n row.original.isBackup && {t(\"BACKUP\")}\n }\n ;\n }\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"ENABLE\")} : {t(\"DISABLE\")};\n }\n },\n {\n Header: \"PRIORITY\",\n accessor: \"priority\"\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n onEditStatus({ \"id\": row.original.id, \"status\": !row.original.status })\n }}>\n {row.original.status ? t(\"DISABLE\") : t(\"ENABLE\")}\n \n {\n _history.push({\n pathname: WebUrl._URL_ADMIN_VENDOR_API_DETAIL,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT_VENDOR_API_DETAILS')}\n \n {\n setSelectedVendorApi(row.original);\n toggleModal();\n }}>\n {t('ATTACH_SHOPS')}\n \n {\n setSelectedVendorApi(row.original);\n toggleAgentModal();\n }}>\n {t('ATTACH_AGENTS')}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [vendorList, vendorApiList]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n getVendorList();\n getVendorApiList();\n }, []);\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function getVendorList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n const vendorList = [];\n vendorList.push({ label: t(\"ALL\"), value: \"\" });\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorList(vendorList);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function getVendorApiList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_API_LIST + \"?isPrimary=\" + filteredIsPrimary + \"&vendorId=\" + vendorId);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setVendorApiList(responseJson[ApiKey._API_DATA_KEY]);\n }\n\n saveSession();\n }\n\n /// \n /// Author : CK\n /// \n function saveSession() {\n sessionStorage.setItem(\"manageVendorApiIsPrimary\", filteredIsPrimary);\n sessionStorage.setItem(\"manageVendorApiVendorId\", vendorId);\n }\n\n /// \n /// Author: CK\n /// \n async function onEditStatus(data) {\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_VENDOR_API, Util.createMultiPartFormBody(data));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n getVendorApiList();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: CK\n /// \n async function toggleModal() {\n if (isModalVisible) {\n setSelectedVendorApi(null);\n }\n\n setIsModalVisible(!isModalVisible);\n }\n\n /// \n /// Author: YJ\n /// \n async function toggleAgentModal() {\n if (isAgentModalVisible) {\n setSelectedVendorApi(null);\n }\n\n setIsAgentModalVisible(!isAgentModalVisible);\n }\n\n /// \n /// Author : CK\n /// \n async function onSubmitAttachShop(attachedShops) {\n let params = {\n \"apiId\": selectedVendorApi.id,\n \"shopIds\": attachedShops.join(',')\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_ATTACH_VENDOR_API_META_SHOP, Util.createMultiPartFormBody(params));\n\n toggleModal();\n getVendorApiList();\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n async function onSubmitAttachAgent(attachedAgents) {\n let params = {\n \"apiId\": selectedVendorApi.id,\n \"agentIds\": attachedAgents.join(',')\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_ATTACH_VENDOR_API_META_AGENT, Util.createMultiPartFormBody(params));\n\n toggleAgentModal();\n getVendorApiList();\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_API_KEYS\")}

    \n {\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n \n { setFilteredIsPrimary(e.target.value) }} >\n \n \n \n \n
    \n
    \n
    \n
    \n \n \n {errors[\"vendorId\"] &&
    {t(Util.getValidationMessage(errors[\"vendorId\"]))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"rootAgent\"] &&
    {t(errors[\"rootAgent\"].message)}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n {errors[\"vendorCode\"] &&
    {t(Util.getValidationMessage(errors[\"vendorCode\"]))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors[\"baseUrl\"] &&
    {t(Util.getValidationMessage(errors[\"baseUrl\"]))}
    }\n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n {errors[\"priority\"] &&
    {t(Util.getValidationMessage(errors[\"priority\"]))}
    }\n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n {\n watch('isSeamless') &&\n \n }\n
    \n
    \n {\n watch('isSeamless') &&\n <>\n
    \n \n \n {errors[\"seamlessOpCode\"] &&
    {t(Util.getValidationMessage(errors[\"seamlessOpCode\"]))}
    }\n
    \n
    \n \n \n {errors[\"seamlessOpSecret\"] &&
    {t(Util.getValidationMessage(errors[\"seamlessOpSecret\"]))}
    }\n
    \n \n }\n
    \n
    \n
    \n
    \n \n
    \n { (watch('agentPlayer') == \"true\" && selectedVendorApi) && getLottoPackages(selectedVendorApi.id) }}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n { (watch('lottoPackage') == \"true\" && selectedVendorApi) && getLottoPackages(selectedVendorApi.id) }}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n {\n (watch('agentPlayer') || watch('lottoPackage')) &&\n <>\n \n {t(\"LOTTO_PACKAGE_DETAILS\")}\n \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n }\n
    \n \n \n \n
    \n \n
    \n );\n}\n\nexport default VendorApiDetail;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, AccessRight, AlertTypes } from \"../../../util/Constant\";\nimport { useDispatch } from \"react-redux\";\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { createMultiPartFormBody, getValidationMessage, createFormBody } from \"../../../util/Util\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport ApiEngine from '../../../util/ApiEngine.js';\n\n/// \n/// Author: Wind\n/// Edited: CK - Able to modify a specific value for each of the regions\n/// \nconst ManageSystemSettings = props => {\n var _dispatch = useDispatch();\n const { t, i18n } = useTranslation();\n const { register, handleSubmit, errors, setValue } = useForm();\n const {\n register: registerEditRegion,\n handleSubmit: handleSubmitEditRegion,\n errors: errorsEditRegion,\n watch: watchEditRegion,\n reset: resetEditRegion,\n setValue: setValueRegion\n } = useForm();\n const [systemSettingsData, setSystemSettingsData] = useState([]);\n const [showEditSettingModal, setShowEditSettingModal] = useState(false);\n const [systemSetting, setSystemSetting] = useState('');\n const [filterName, setFilterName] = useState('');\n const [filterValue, setFilterValue] = useState('');\n const [showEditRegionModal, setShowEditRegionModal] = useState(false);\n const [regionList, setRegionList] = useState([]);\n const [targetRegion, setTargetRegion] = useState([]);\n\n let _systemSettingsTableColumns = useMemo(() => [\n {\n Header: \"NAME\",\n accessor: \"name\",\n disableSortBy: true,\n },\n {\n Header: \"DESCRIPTION\",\n accessor: \"description\",\n disableSortBy: true,\n },\n {\n Header: \"VALUE\",\n Cell: ({ row }) => {\n return (\n row.original.settingRegionList.map(region => {\n return <>\n
    - {region.name} - {region.value}
    \n \n })\n )\n },\n disableFilters: true,\n disableSortBy: true\n },\n {\n Header: \"LAST_MODIFIED\",\n accessor: \"updatedTime\",\n disableSortBy: true,\n },\n {\n Header: \"MODIFIED_BY\",\n accessor: \"updatedBy\",\n disableSortBy: true,\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&
    \n \n \n \n loadSystemSettings(row.original)}>{t('EDIT_SETTING')}\n loadRegionSettings(row.original)}>{t('EDIT_REGION')}\n \n \n
    \n ),\n disableFilters: true,\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [regionList, systemSettingsData]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n getSystemSettings();\n getRegionList();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function getSystemSettings() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SYSTEM_SETTING + \"?settingName=\" + filterName + \"&settingValue=\" + filterValue);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setSystemSettingsData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: Wind\n /// \n async function getRegionList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n const regionOption = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionOption.push({ label: region.name, value: region.id });\n });\n setRegionList(regionOption);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author : Wind\n /// \n function loadSystemSettings(data) {\n setSystemSetting(data);\n setShowEditSettingModal(!showEditSettingModal);\n }\n\n /// \n /// Author : Wind\n /// Edited: CK - Set target region modified\n /// \n function loadRegionSettings(data) {\n const selectedRegion = [];\n regionList.map((region) => {\n let currentSelectedRegion = data.settingRegionList.filter(o => o.regionId == region.value);\n\n selectedRegion.push({\n id: currentSelectedRegion.length ? currentSelectedRegion[0].regionId : region.value,\n label: region.label,\n value: currentSelectedRegion.length ? currentSelectedRegion[0].value : '',\n status: currentSelectedRegion.length ? true : false,\n });\n });\n\n setTargetRegion(selectedRegion);\n resetEditRegion();\n setShowEditRegionModal(!showEditRegionModal);\n setSystemSetting(data);\n }\n\n /// \n /// Author: Wind\n /// \n const submitSystemSettingForm = async (data, e) => {\n let formCollection = {\n id: systemSetting.id,\n description: data.systemSettingDescription,\n value: data.systemSettingValue\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_SYSTEM_SETTING, createMultiPartFormBody(formCollection));\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n getSystemSettings();\n setShowEditSettingModal(!showEditSettingModal)\n }\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n }));\n }\n\n /// \n /// Author: Wind\n /// Edited: CK - Include region value \n /// \n const submitRegionSettingForm = async (data, e) => {\n let params = {\n systemSettingId: systemSetting.id\n }\n\n let selectedRegion = Object.keys(data.region).filter(k => data.region[k]);\n let regionSetting = [];\n\n selectedRegion.map(region => {\n regionSetting.push({\n id: region,\n value: data.regionValue[region]\n });\n })\n\n params[\"regionSetting\"] = regionSetting;\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_REGION_SETTING, params);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n getSystemSettings();\n setShowEditRegionModal(!showEditRegionModal);\n }\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n }));\n }\n\n /// \n /// Author: CK\n /// \n function resetRegionValue() {\n targetRegion.map(region => {\n setValueRegion(\"regionValue[\" + region.id + \"]\", systemSetting.value);\n });\n }\n\n return (\n
    \n

    {t('MANAGE_SETTINGS')}

    \n \n
    \n
    \n \n
    \n
    \n
    \n \n { setFilterName(e.target.value) }} />\n
    \n
    \n
    \n
    \n \n { setFilterValue(e.target.value) }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n

    {t(\"EDIT_SETTING_INFORMATION\")}

    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n {errors.systemSettingDescription &&
    {t(errors.systemSettingDescription.message)}
    }\n
    \n
    \n
    \n \n
    \n \n {errors.systemSettingValue &&
    {t(errors.systemSettingValue.message)}
    }\n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n \n

    {t('EDIT_REGION')}

    \n
    \n \n {targetRegion.map((region, index) => {\n return (\n
    \n
    \n
    \n {region.label}\n
    \n
    \n \n {errorsEditRegion['regionValue'] && errorsEditRegion['regionValue'][region.id] &&\n
    \n {t(getValidationMessage(errorsEditRegion['regionValue'][region.id]))}\n
    }\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n })}\n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default ManageSystemSettings;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\";\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, Role } from '../../../util/Constant';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport { navigateTo, createMultiPartFormBody } from \"../../../util/Util\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useDispatch } from \"react-redux\";\nimport { showResponseMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport AttachShopModal from '../../../components/custom/AttachShopModal';\n\n/// \n/// Author: Wind\n/// CK - Shop assignment\n/// \nconst ManageSmsSettings = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n var _dispatch = useDispatch();\n const [smsSettingsData, setSmsSettingsData] = useState([]);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [selectedSmsSetting, setSelectedSmsSetting] = useState(null);\n\n let _smsSettingsTableColumns = useMemo(() => [\n {\n Header: \"NAME\",\n accessor: \"name\",\n disableSortBy: true,\n },\n {\n Header: \"CATEGORY_NAME\",\n accessor: \"categoryName\",\n disableSortBy: true,\n },\n {\n Header: \"CONTENTS\",\n accessor: \"value\",\n disableSortBy: true,\n },\n {\n Header: \"STATUS\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return <>\n { row.original.isApp && <>- For App
    }\n { row.original.isSms && <>- For Sms
    }\n \n },\n },\n {\n Header: \"TOTAL_SHOPS\",\n accessor: \"totalShop\",\n disableSortBy: true,\n },\n {\n Header: \"LAST_MODIFIED\",\n accessor: \"updatedTime\",\n disableSortBy: true,\n },\n {\n Header: t(\"ACTION\"),\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._SMS_SETTING_CONTROL_PERMISSION, true) &&
    \n \n \n \n { navigateTo(_history, WebUrl._URL_SMS_DETAILS, row.original) }}>{t(\"EDIT_SETTING\")}\n {\n toggleModal();\n setSelectedSmsSetting(row.original);\n }}>\n {t('ATTACH_SHOPS')}\n \n \n \n
    \n ),\n disableFilters: true,\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [smsSettingsData]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n getSmsSettings();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function getSmsSettings() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SMS_SETTING);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setSmsSettingsData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function toggleModal() {\n if (isModalVisible) {\n setSelectedSmsSetting(null);\n }\n\n setIsModalVisible(!isModalVisible);\n }\n\n /// \n /// Author : CK\n /// \n async function onSubmitAttachShop(attachedShops) {\n let params = {\n \"smsSettingId\": selectedSmsSetting.id,\n \"shopIds\": attachedShops.join(',')\n }\n \n var responseJson = await ApiEngine.post(ApiUrl._API_ATTACH_SMS_SETTING_SHOP, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n toggleModal();\n getSmsSettings();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_SMS_SETTING\")}

    \n {\n checkIfPermissionExist(AccessRight._SMS_SETTING_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n {\n if (attachedShops) {\n onSubmitAttachShop(attachedShops);\n }\n else {\n toggleModal();\n }\n }} />\n
    \n )\n}\n\nexport default ManageSmsSettings;","import React, { useState, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport Select from 'react-select';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { WebUrl, SettingType, ApiKey, ApiUrl, LanguageKey, AlertTypes } from '../../../util/Constant';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty, navigateTo } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\n\n/// \n/// Author: Wind\n/// CK - Fix create/update sms setting type \n/// \nconst SmsDetails = props => {\n const { t, i18n } = useTranslation();\n let _history = useHistory();\n var _dispatch = useDispatch();\n var _location = useLocation();\n const { register, handleSubmit, errors, setValue, unregister } = useForm();\n const [settingName, setSettingName] = useState('');\n const [tagsList, setTagsList] = useState([]);\n const [selectedTagsValue, setSelectedTagsValue] = useState('');\n const [settingValue, setSettingValue] = useState('');\n const [smsDetailId, setSmsDetailId] = useState('');\n const [isApp, setIsApp] = useState(false);\n const [isSms, setIsSms] = useState(false);\n const [supportFcmAndSms, setSupportFcmAndSms] = useState(false);\n const [description, setDescription] = useState('');\n const [typeId, setTypeId] = useState('');\n const [smsTypeOption, setSmsTypeOption] = useState([]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n register({ name: 'typeId' }, { required: \"PLEASE_SELECT_CATEGORY\" });\n getSmsDetails();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function getSmsDetails() {\n setTagsList([\n { label: \"Phone Number\", value: \"{phonenumber}\" },\n { label: \"Player Id\", value: \"{playerid}\" },\n { label: \"Date Time\", value: \"{datetime}\" },\n { label: \"Score\", value: \"{score}\" },\n { label: \"LoginUrl\", value: \"{loginUrl}\" },\n { label: \"Game Password\", value: \"{gamepassword}\" },\n { label: \"Pin\", value: \"{pin}\" },\n { label: \"Reward\", value: \"{reward}\" },\n { label: \"Bonus\", value: \"{bonus}\" },\n { label: \"Shop Name\", value: \"{shopname}\" },\n { label: \"Vendor Name\", value: \"{vendorname}\" },\n { label: \"Alternate Phone\", value: \"{alternatephone}\" },\n { label: \"Department Name\", value: \"{departmentname}\" },\n { label: \"WhatsApp Link\", value: \"{whatsapplink}\" },\n { label: \"Count\", value: \"{count}\" }\n ]);\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SMS_SETTING_TYPE);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var smsTypeList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (smsType) {\n smsTypeList.push({ label: smsType.name, value: smsType.id });\n });\n\n setSmsTypeOption(smsTypeList);\n }\n\n if (_location.state) {\n var settingJson = await ApiEngine.get(ApiUrl._API_GET_SMS_SETTING_BY_ID+\"?id=\"+_location.state.id);\n\n if (settingJson[ApiKey._API_SUCCESS_KEY]) {\n setSmsDetailId(settingJson[ApiKey._API_DATA_KEY].id);\n setSettingName(settingJson[ApiKey._API_DATA_KEY].name);\n setDescription(settingJson[ApiKey._API_DATA_KEY].description);\n setSettingValue(settingJson[ApiKey._API_DATA_KEY].value);\n setIsApp(settingJson[ApiKey._API_DATA_KEY].isApp);\n setIsSms(settingJson[ApiKey._API_DATA_KEY].isSms);\n setSupportFcmAndSms(settingJson[ApiKey._API_DATA_KEY].supportFcmAndSms);\n setTypeId(settingJson[ApiKey._API_DATA_KEY].smsSettingTypeId);\n setValue('typeId', settingJson[ApiKey._API_DATA_KEY].smsSettingTypeId);\n }\n }\n }\n\n /// \n /// Author: Wind\n /// \n const submitSmsDetailsForm = async (data, e) => {\n let formCollection = {\n name: data.settingName,\n value: data.settingValue,\n description: data.settingName,\n smsSettingTypeId: typeId,\n isApp: isApp,\n isSms: isSms,\n supportFcmAndSms: supportFcmAndSms\n };\n\n if (!stringIsNullOrEmpty(smsDetailId)) {\n formCollection.id = smsDetailId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_SMS_SETTING, createMultiPartFormBody(formCollection));\n\n _dispatch(showMessage({ \n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR, \n content: t(responseJson[ApiKey._API_MESSAGE_KEY]), \n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_SMS_SETTINGS) \n }));\n }\n\n return (\n
    \n

    {_location.state ? t(\"EDIT_SMS_TEMPLATE\") : t(\"CREATE_SMS_TEMPLATE\")}

    \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n {errors.settingName &&
    {t(errors.settingName.message)}
    }\n
    \n
    \n
    \n \n
    \n \n {errors.settingDesciption &&
    {t(errors.settingDesciption.message)}
    }\n
    \n
    \n
    \n \n
    \n setIsApp(e.target.checked)}\n value={true}\n checked={isApp}\n ref={register} />\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n setIsSms(e.target.checked)}\n value={true}\n checked={isSms}\n ref={register} />\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n setSupportFcmAndSms(e.target.checked)}\n value={true}\n checked={supportFcmAndSms}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n )\n}\n\nexport default SmsDetails;","import React, { useState, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage } from \"../../redux/AppAction\";\nimport { ApiKey, ApiUrl, AnnouncementType } from \"../../util/Constant\";\nimport { useDispatch } from \"react-redux\";\nimport ReactTable from \"./ReactTable\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody } from '../../util/Util.js';\n\n/// \n/// Author: YJ\n/// \nconst PreviewMessageModal = props => {\n const [modalVisibility, setModalVisibility] = useState(false);\n const [messageId, setMessageId] = useState();\n const [messageType, setMessageType] = useState();\n const [messageParams, setMessageParams] = useState({});\n const { t } = useTranslation();\n const [tableData, setTableData] = useState([]);\n const [tableColumn, setTableColumn] = useState([]);\n var _dispatch = useDispatch();\n\n let _shopMessageColumns = [\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n Footer: ({ data }) => {\n const totalCount = data.reduce((sum, currentValue) => {\n return sum + 1;\n }, 0);\n\n return {t(\"TOTAL\")}: {totalCount}\n },\n },\n {\n Header: \"NAME\",\n accessor: \"userFullName\"\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\"\n },\n {\n Header: \"SHOP_NAME\",\n accessor: \"shopName\"\n },\n {\n Header: \"SHOP_USERNAME\",\n accessor: \"shopUsername\"\n }\n ];\n\n let _systemMessageColumns = [\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n Footer: ({ data }) => {\n const totalCount = data.reduce((sum, currentValue) => {\n return sum + 1;\n }, 0);\n\n return {t(\"TOTAL\")}: {totalCount}\n },\n },\n {\n Header: \"NAME\",\n accessor: \"userFullName\"\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\"\n },\n {\n Header: \"ROLE\",\n accessor: \"roleName\"\n },\n {\n Header: \"REGION\",\n accessor: \"regionName\"\n }\n ]\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (modalVisibility) {\n init();\n }\n else {\n cleanUp();\n }\n }, [modalVisibility])\n\n /// \n /// Author: YJ\n /// \n async function init() {\n let apiUrl = ApiUrl._API_PREVIEW_ANNOUNCEMENT_TARGET;\n if (!stringIsNullOrEmpty(messageId)) {\n apiUrl += \"?id=\" + messageId;\n }\n var responseJson = await ApiEngine.post(apiUrl, createMultiPartFormBody(messageParams));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setTableData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(props.id)) {\n setMessageId(props.id);\n }\n\n if (!stringIsNullOrEmpty(props.params)) {\n setMessageParams(props.params);\n }\n\n setMessageType(props.messageType);\n\n if (props.messageType == AnnouncementType._ANNOUNCEMENT_TYPE_SHOP) {\n setTableColumn(_shopMessageColumns);\n }\n else {\n setTableColumn(_systemMessageColumns);\n }\n setModalVisibility(props[\"visible\"]);\n }, [props[\"visible\"]])\n\n /// \n /// Author: YJ\n /// \n function cleanUp() {\n setMessageId(\"\");\n setMessageParams({});\n setMessageType(\"\");\n setTableData([]);\n props.onFinish();\n }\n\n return (\n \n {t('PREVIEW_TARGET')}\n \n \n \n \n );\n}\nexport default PreviewMessageModal;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, AccessRight, AnnouncementType, ProcessedAnnouncementStatus, AlertTypes } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport PreviewMessageModal from '../../../components/custom/PreviewMessageModal';\nimport { stringIsNullOrEmpty } from '../../../util/Util';\n\n/// \n/// Author : YJ\n/// \nconst ManageShopMessage = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n const { register, handleSubmit } = useForm();\n const [messageData, setMessageData] = useState([]);\n var _dispatch = useDispatch();\n const [modalVisibility, setModalVisibility] = useState(false);\n const [selectedMessageId, setSelectedMessageId] = useState('');\n const _INCLUDE_BROADCAST = [ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED, ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT];\n\n let _tableColumns = useMemo(() => [\n {\n Header: \"IMAGE\",\n accessor: \"contentImage\",\n Cell: ({ row }) => {\n return !stringIsNullOrEmpty(row.original.contentImage) && \n },\n width: 100\n },\n {\n Header: \"TITLE\",\n accessor: \"title\"\n },\n {\n Header: \"CONTENT\",\n accessor: \"content\"\n },\n {\n Header: \"TARGETED_SHOPS\",\n accessor: \"shopList\",\n Cell: ({ row }) => {\n return row.original.shopList.join(\", \");\n },\n style: {\n maxWidth: \"150px\"\n }\n },\n {\n Header: \"DATE\",\n accessor: \"createdTime\"\n },\n {\n Header: \"TOTAL\",\n accessor: \"total\"\n },\n {\n Header: \"SENT\",\n accessor: \"sent\"\n },\n {\n Header: \"STATUS\",\n accessor: \"processedStatusString\",\n Cell: ({ row }) => {\n let returnClassName = \"\";\n switch (row.original.processedStatus) {\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT:\n returnClassName = \"badge badge-secondary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED:\n returnClassName = \"badge badge-danger\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS:\n returnClassName = \"badge badge-primary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED:\n returnClassName = \"badge badge-success\";\n break;\n }\n return {t(row.original.processedStatusString)} {row.original.sent}/{row.original.total}\n },\n minWidth: 100\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (checkIfPermissionExist(AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION, true) && row.original.processedStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED) &&
    \n \n \n \n {row.original.processedStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT && { navigateTo(_history, WebUrl._URL_ADMIN_SHOP_MESSAGE_DETAIL, row.original) }}>{t(\"EDIT\")}}\n {_INCLUDE_BROADCAST.includes(row.original.processedStatus) &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"BROADCAST\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => setMessageStatus(row.original.id, true)\n }));\n }}>\n {t(\"BROADCAST\")}\n }\n {row.original.processedStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"CANCEL_BROADCAST\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => setMessageStatus(row.original.id, false)\n }));\n }}>\n {t(\"CANCEL_BROADCAST\")}\n }\n {\n setSelectedMessageId(row.original.id);\n setModalVisibility(true);\n }}>{t(\"PREVIEW\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ], [messageData]);\n\n /// \n /// Author : YJ\n /// \n async function setMessageStatus(id, status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_SET_ANNOUNCEMENT_STATUS + \"?id=\" + id + \"&status=\" + status);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n handleSubmit(submitForm)();\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n _dispatch(setBusy());\n let apiUrl = ApiUrl._API_GET_SYSTEM_MESSAGE + \"?type=\" + AnnouncementType._ANNOUNCEMENT_TYPE_SHOP\n\n if (data) {\n apiUrl += \"&title=\" + data.title + \"&content=\" + data.content;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMessageData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n _dispatch(setIdle());\n }\n\n return (\n
    \n { setModalVisibility(false) }} />\n
    \n

    {t(\"SHOP_MESSAGE_MANAGEMENT\")}

    \n {\n checkIfPermissionExist(AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n\t\t
    \n );\n}\n\nexport default ManageShopMessage;","import React, { useRef, useState, useEffect } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, Role, AnnouncementType, WebUrl, AlertTypes } from \"../../../util/Constant\";\nimport { useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showMessage } from '../../../redux/AppAction';\nimport { useTranslation } from 'react-i18next';\nimport Select from 'react-select';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBox from 'react-dual-listbox';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport PreviewMessageModal from '../../../components/custom/PreviewMessageModal';\nimport Dropzone from 'react-dropzone';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author : YJ\n/// \nconst ShopMessageDetail = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n let _location = useLocation();\n let _dispatch = useDispatch();\n const { register, handleSubmit, errors, setValue, triggerValidation, getValues } = useForm({ mode: 'all' });\n\n const [messageId, setMessageId] = useState('');\n const [dayCount, setDayCount] = useState('');\n const [forApp, setForApp] = useState(false);\n const [content, setContent] = useState();\n const [title, setTitle] = useState();\n const [selectedShops, setSelectedShops] = useState([]);\n const [regionId, setRegionId] = useState(false)\n const [status, setStatus] = useState(false);\n const [regionOptions, setRegionOptions] = useState([]);\n const [shopOptions, setShopOptions] = useState([]);\n const [initCompleted, setInitCompleted] = useState(false);\n const [isConfirm, setIsConfirm] = useState(false);\n const [alertRequired, setAlertRequired] = useState(false);\n const [isNewContentImg, setIsNewContentImg] = useState(false);\n const [contentImgFile, setContentImgFile] = useState();\n const [contentImg, setContentImg] = useState();\n const _submitBtnRef = useRef(null);\n\n const [previewParams, setPreviewParams] = useState([]);\n const [modalVisibility, setModalVisibility] = useState(false);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n register({ name: 'regionId' }, { required: \"PLEASE_SELECT_REGION\" });\n register({ name: 'selectedShops' }, {\n required: t(\"PLEASE_SELECT_AT_LEAST_ONE_SHOP\"),\n validate: { exist: value => value.length > 0 || \"PLEASE_SELECT_AT_LEAST_ONE_SHOP\" }\n });\n setValue(\"dayCount\", 30);\n init();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let regions = [];\n responseJson[ApiKey._API_DATA_KEY].map((region, index) => {\n regions.push({ value: region.id, label: region.name });\n })\n setRegionOptions(regions);\n }\n\n if (_location.state) {\n responseJson = await ApiEngine.get(ApiUrl._API_GET_SYSTEM_MESSAGE_BY_ID + \"?id=\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setContent(responseJson[ApiKey._API_DATA_KEY][\"content\"]);\n setValue('content', responseJson[ApiKey._API_DATA_KEY][\"content\"])\n setTitle(responseJson[ApiKey._API_DATA_KEY][\"title\"]);\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n setMessageId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setDayCount(responseJson[ApiKey._API_DATA_KEY][\"minimumActiveDayCount\"]);\n setForApp(responseJson[ApiKey._API_DATA_KEY][\"istargetApp\"]);\n setRegionId(responseJson[ApiKey._API_DATA_KEY][\"regionIdList\"][0]);\n setValue('regionId', responseJson[ApiKey._API_DATA_KEY][\"regionIdList\"][0]);\n setSelectedShops(responseJson[ApiKey._API_DATA_KEY][\"shopIdList\"]);\n setValue('selectedShops', responseJson[ApiKey._API_DATA_KEY][\"shopIdList\"]);\n setContentImg(responseJson[ApiKey._API_DATA_KEY][\"contentImage\"]);\n }\n }\n setInitCompleted(true);\n }\n\n /// \n /// Author : YJ\n /// \n async function getShops() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP + \"&RegionId=\" + regionId;\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let shops = [];\n responseJson[ApiKey._API_DATA_KEY].map((shop, index) => {\n shops.push({ value: shop.id, label: shop.username + \" (\" + shop.shopName + \")\" });\n })\n setShopOptions(shops);\n }\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(regionId)) {\n if (initCompleted) {\n setSelectedShops([]);\n setValue('selectedShops', []);\n }\n getShops();\n }\n }, [regionId])\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (status) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"IT_WILL_BROADCAST_DIRECTLY_ARE_YOU_SURE\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => { setIsConfirm(true); _submitBtnRef.current.click(); },\n onCancel: () => { setIsConfirm(false); }\n }));\n }\n }, [alertRequired])\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n if (!isConfirm && status) {\n setAlertRequired(!alertRequired);\n return;\n }\n\n var selectedShopString = [];\n\n for (var i = 0; selectedShops != null && i < selectedShops.length; i++) {\n selectedShopString.push(selectedShops[i]);\n }\n\n let params = {\n \"regionId\": data.regionId,\n \"shops\": selectedShopString,\n \"title\": data.title,\n \"content\": data.content,\n \"minimumActiveDayCount\": data.dayCount,\n \"istargetApp\": forApp,\n \"systemMessageTypeId\": AnnouncementType._ANNOUNCEMENT_TYPE_SHOP,\n \"status\": status\n }\n\n if (contentImgFile) {\n params[\"contentImg\"] = contentImgFile;\n params[\"isNewContentImg\"] = isNewContentImg;\n }\n\n if (!stringIsNullOrEmpty(messageId)) {\n params[\"id\"] = messageId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_SYSTEM_MESSAGE, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_SHOP_MESSAGE)\n }));\n }\n\n /// \n /// Author : YJ\n /// \n async function previewTarget() {\n const triggerResult = await triggerValidation();\n if (!triggerResult) {\n return;\n }\n\n var selectedShopString = [];\n\n for (var i = 0; selectedShops != null && i < selectedShops.length; i++) {\n selectedShopString.push(selectedShops[i]);\n }\n\n let params = {\n \"shops\": selectedShopString,\n \"minimumActiveDayCount\": getValues()['dayCount'],\n \"systemMessageTypeId\": AnnouncementType._ANNOUNCEMENT_TYPE_SHOP,\n }\n\n setPreviewParams(params);\n setModalVisibility(true);\n }\n\n /// \n /// Author : CK\n /// \n const imageDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setContentImgFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setIsNewContentImg(true);\n setContentImg(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n return (\n
    \n { setModalVisibility(false) }} />\n

    {messageId ? t(\"EDIT_SHOP_MESSAGE\") : t(\"ADD_NEW_SHOP_MESSAGE\")}

    \n
    \n
    \n
    \n
    \n

    {t(\"MESSAGE_DETAILS\")}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {errors.title &&
    {t(errors.title.message)}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {errors.content &&
    {t(errors.content.message)}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n imageDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(contentImg) &&

    {t(\"UPLOAD_LOGO\")}

    }\n {!stringIsNullOrEmpty(contentImg) && }\n
    \n
    \n )}\n
    \n {\n !stringIsNullOrEmpty(contentImg) &&\n \n }\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {errors.dayCount &&
    {t(errors.dayCount.message)}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n setForApp(e.target.checked)}\n value={forApp}\n checked={forApp}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n {\n setStatus(e.target.checked);\n setIsConfirm(!e.target.checked);\n }}\n value={status}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default withRouter(ShopMessageDetail);","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, ProcessedAnnouncementStatus, AccessRight, AnnouncementType, AlertTypes } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport PreviewMessageModal from '../../../components/custom/PreviewMessageModal';\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst ManageSystemMessage = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n const { register, handleSubmit } = useForm();\n const [messageData, setMessageData] = useState([]);\n var _dispatch = useDispatch();\n const [modalVisibility, setModalVisibility] = useState(false);\n const [selectedMessageId, setSelectedMessageId] = useState('');\n const _INCLUDE_BROADCAST = [ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED, ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT];\n\n let _tableColumns = useMemo(() => [\n {\n Header: \"TITLE\",\n accessor: \"title\"\n },\n {\n Header: \"CONTENT\",\n accessor: \"content\"\n },\n {\n Header: \"STATUS\",\n accessor: \"processedStatusString\",\n Cell: ({ row }) => {\n let returnClassName = \"\";\n switch (row.original.processedStatus) {\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT:\n returnClassName = \"badge badge-secondary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED:\n returnClassName = \"badge badge-danger\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS:\n returnClassName = \"badge badge-primary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED:\n returnClassName = \"badge badge-success\";\n break;\n }\n return {t(row.original.processedStatusString)} {row.original.sent}/{row.original.total}\n },\n minWidth: 100\n },\n {\n Header: \"REGIONS\",\n accessor: \"regionList\",\n Cell: ({ row }) => {\n return row.original.regionList.join(\", \");\n },\n minWidth: 100\n },\n {\n Header: \"CREATED_TIME\",\n accessor: \"createdTime\"\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (checkIfPermissionExist(AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION, true) && row.original.processedStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED) &&
    \n \n \n \n {row.original.processedStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT && { navigateTo(_history, WebUrl._URL_ADMIN_SYSTEM_MESSAGE_DETAIL, row.original) }}>{t(\"EDIT\")}}\n {_INCLUDE_BROADCAST.includes(row.original.processedStatus) &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"BROADCAST\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => setMessageStatus(row.original.id, true)\n }));\n }}>\n {t(\"BROADCAST\")}\n }\n {row.original.processedStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"CANCEL_BROADCAST\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => setMessageStatus(row.original.id, false)\n }));\n }}>\n {t(\"CANCEL_BROADCAST\")}\n }\n {\n setSelectedMessageId(row.original.id);\n setModalVisibility(true);\n }}>{t(\"PREVIEW\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ], []);\n\n /// \n /// Author : YJ\n /// \n async function setMessageStatus(id, status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_SET_ANNOUNCEMENT_STATUS + \"?id=\" + id + \"&status=\" + status);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n handleSubmit(submitForm)();\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// Editted: YJ\n /// \n useEffect(() => {\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// Editted: YJ\n /// \n const submitForm = async (data, e) => {\n let fetchUrl = ApiUrl._API_GET_SYSTEM_MESSAGE + \"?type=\" + AnnouncementType._ANNOUNCEMENT_TYPE_WEB;\n\n if (data) {\n fetchUrl += \"&title=\" + data.title + \"&content=\" + data.content;\n }\n var responseJson = await ApiEngine.get(fetchUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMessageData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return (\n
    \n { setModalVisibility(false) }} />\n
    \n

    {t(\"SYSTEM_MESSAGE\")}

    \n {\n checkIfPermissionExist(AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n );\n}\n\nexport default ManageSystemMessage;","import React, { useRef, useState, useEffect } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, AlertTypes, Role, AnnouncementType, WebUrl } from \"../../../util/Constant\";\nimport { useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showMessage } from '../../../redux/AppAction';\nimport { useTranslation } from 'react-i18next';\nimport DualListBox from 'react-dual-listbox';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport PreviewMessageModal from '../../../components/custom/PreviewMessageModal';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst SystemMessageDetail = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n let _location = useLocation();\n let _dispatch = useDispatch();\n const { register, handleSubmit, errors, setValue, triggerValidation, watch, getValues } = useForm();\n\n const [messageId, setMessageId] = useState('');\n const [content, setContent] = useState('');\n const [title, setTitle] = useState('');\n const [status, setStatus] = useState(false);\n const [regions, setRegions] = useState([]);\n const [targetRole, setTargetRole] = useState([]);\n const [regionOption, setRegionOption] = useState([]);\n const [roleOption, setRoleOption] = useState([]);\n const [isConfirm, setIsConfirm] = useState(false);\n const [alertRequired, setAlertRequired] = useState(false);\n const _submitBtnRef = useRef(null);\n\n const [previewParams, setPreviewParams] = useState([]);\n const [modalVisibility, setModalVisibility] = useState(false);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'regions' }, { required: \"PLEASE_SELECT_REGION\" });\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n const regionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n\n setRegionOption(regionList);\n }\n\n if (_location.state) {\n responseJson = await ApiEngine.get(ApiUrl._API_GET_SYSTEM_MESSAGE_BY_ID + \"?id=\"+_location.state.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setContent(responseJson[ApiKey._API_DATA_KEY].content);\n setTitle(responseJson[ApiKey._API_DATA_KEY].title);\n setStatus(responseJson[ApiKey._API_DATA_KEY].status);\n setMessageId(responseJson[ApiKey._API_DATA_KEY].id);\n setRegions(responseJson[ApiKey._API_DATA_KEY].regionIdList);\n setTargetRole(responseJson[ApiKey._API_DATA_KEY].roleList);\n setValue('regions', responseJson[ApiKey._API_DATA_KEY].regionIdList);\n }\n }\n\n responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS_ROLE + \"?includeInternal=true\");\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n const roleList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (role) {\n if (role.id != Role._MEMBER) {\n roleList.push({ label: role.roleName, value: role.id });\n }\n });\n\n setRoleOption(roleList);\n }\n\n triggerRoleCheck(false);\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (status) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"IT_WILL_BROADCAST_DIRECTLY_ARE_YOU_SURE\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => { setIsConfirm(true); _submitBtnRef.current.click(); },\n onCancel: () => { setIsConfirm(false); }\n }));\n }\n }, [alertRequired])\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n if (!isConfirm && status) {\n setAlertRequired(!alertRequired);\n return;\n }\n\n let params = {\n \"regionId\": data.regions,\n \"title\": data.title,\n \"content\": data.content,\n \"systemMessageTypeId\": AnnouncementType._ANNOUNCEMENT_TYPE_WEB,\n \"status\": status\n }\n\n if (data.role != null && data.role.filter(o => o != false).length != 0) {\n params[\"role\"] = data.role.filter(o => o != false);\n }\n\n if (!stringIsNullOrEmpty(messageId)) {\n params[\"id\"] = messageId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_SYSTEM_MESSAGE, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_SYSTEM_MESSAGE)\n }));\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function triggerRoleCheck(performValidate) {\n var role = watch(\"role\");\n\n var isValid = role != null && role.filter(o => o != false).length != 0;\n\n register({ name: \"roleSelection\" }, {\n validate: (value) => isValid || \"REQUIRED_SELECT_ROLE\"\n });\n\n if (performValidate) {\n triggerValidation(\"roleSelection\");\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function previewTarget() {\n const triggerResult = await triggerValidation();\n if (!triggerResult) {\n return;\n }\n\n let params = {\n \"regionId\": getValues()['regions'],\n \"systemMessageTypeId\": AnnouncementType._ANNOUNCEMENT_TYPE_WEB,\n }\n var role = watch(\"role\");\n\n if (role != null && role.filter(o => o != false).length != 0) {\n params[\"role\"] = role.filter(o => o != false);\n }\n\n setPreviewParams(params);\n setModalVisibility(true);\n }\n\n return (\n
    \n { setModalVisibility(false) }} />\n

    {_location.state ? t(\"EDIT_SYSTEM_MESSAGE\") : t(\"ADD_NEW_SYSTEM_MESSAGE\")}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {\n setValue('regions', (e == null || e.length == 0) ? '' : e);\n setRegions(e);\n }}\n />\n {errors.regions &&
    {t(errors.regions.message)}
    }\n
    \n
    \n
    \n \n
    \n \n {errors.title &&
    {t(errors.title.message)}
    }\n
    \n
    \n
    \n \n
    \n \n {errors.content &&
    {t(errors.content.message)}
    }\n
    \n
    \n
    \n \n
    \n
    \n {\n setStatus(e.target.checked);\n setIsConfirm(!e.target.checked);\n }}\n value={true}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n {Object.keys(roleOption).map((key, value) => {\n return (\n
    \n o == roleOption[key][\"value\"]).length != 0}\n onChange={() => triggerRoleCheck(true)} />\n \n
    );\n })}\n {errors.roleSelection &&
    {t(errors.roleSelection.message)}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default withRouter(SystemMessageDetail);","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, AccessRight, AnnouncementType, ProcessedAnnouncementStatus, AlertTypes } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\n\n/// \n/// Author : YJ\n/// \nconst ManagePhoneMessage = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n const { register, handleSubmit } = useForm();\n const [messageData, setMessageData] = useState([]);\n var _dispatch = useDispatch();\n const _INCLUDE_BROADCAST = [ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED, ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT];\n\n let _tableColumns = useMemo(() => [\n {\n Header: \"TITLE\",\n accessor: \"title\"\n },\n {\n Header: \"CONTENT\",\n accessor: \"content\"\n },\n {\n Header: \"DATE\",\n accessor: \"createdTime\"\n },\n {\n Header: \"STATUS\",\n accessor: \"processedStatusString\",\n Cell: ({ row }) => {\n let returnClassName = \"\";\n switch (row.original.processedStatus) {\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT:\n returnClassName = \"badge badge-secondary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED:\n returnClassName = \"badge badge-danger\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS:\n returnClassName = \"badge badge-primary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED:\n returnClassName = \"badge badge-success\";\n break;\n }\n return {t(row.original.processedStatusString)} {row.original.sent}/{row.original.total}\n },\n minWidth: 100\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (checkIfPermissionExist(AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION, true) && row.original.processedStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED) &&
    \n \n \n \n {row.original.processedStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT && { navigateTo(_history, WebUrl._URL_ADMIN_PHONE_MESSAGE_DETAIL, row.original) }}>{t(\"EDIT\")}}\n {_INCLUDE_BROADCAST.includes(row.original.processedStatus) &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"BROADCAST\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => setMessageStatus(row.original.id, true)\n }));\n }}>\n {t(\"BROADCAST\")}\n }\n {row.original.processedStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS &&\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"CANCEL_BROADCAST\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => setMessageStatus(row.original.id, false)\n }));\n }}>\n {t(\"CANCEL_BROADCAST\")}\n }\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ], []);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function setMessageStatus(id, status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_SET_ANNOUNCEMENT_STATUS + \"?id=\" + id + \"&status=\" + status);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n handleSubmit(submitForm)();\n }\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n _dispatch(setBusy());\n let apiUrl = ApiUrl._API_GET_SYSTEM_MESSAGE + \"?type=\" + AnnouncementType._ANNOUNCEMENT_TYPE_PHONE\n\n if (data) {\n apiUrl += \"&title=\" + data.title + \"&content=\" + data.content;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMessageData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n _dispatch(setIdle());\n }\n\n return (\n
    \n
    \n

    {t(\"CUSTOMER_MESSAGE_MANAGEMENT\")}

    \n {\n checkIfPermissionExist(AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n );\n}\n\nexport default ManagePhoneMessage;","import React, { useRef, useState, useEffect } from 'react';\nimport { Link, withRouter } from 'react-router-dom';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, getValidationMessage } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, Role, AnnouncementType, WebUrl, AlertTypes } from \"../../../util/Constant\";\nimport { useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showResponseMessage, showMessage } from '../../../redux/AppAction';\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport 'react-intl-tel-input/dist/main.css';\n\n/// \n/// Author : YJ\n/// \nconst PhoneMessageDetail = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n let _location = useLocation();\n let _dispatch = useDispatch();\n const { register, handleSubmit, errors, setValue } = useForm();\n\n const [messageId, setMessageId] = useState('');\n const [content, setContent] = useState();\n const [title, setTitle] = useState();\n const [status, setStatus] = useState(false);\n const [phoneOptions, setPhoneOptions] = useState('');\n const [isConfirm, setIsConfirm] = useState(false);\n const [alertRequired, setAlertRequired] = useState(false);\n const _submitBtnRef = useRef(null);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function init() {\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SYSTEM_MESSAGE_BY_ID + \"?id=\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setContent(responseJson[ApiKey._API_DATA_KEY][\"content\"]);\n setTitle(responseJson[ApiKey._API_DATA_KEY][\"title\"]);\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n setMessageId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n let phones = [];\n\n responseJson[ApiKey._API_DATA_KEY][\"phoneMessages\"].map((phone) => {\n phones.push({ label: phone.phone, value: phone.phone });\n })\n\n setPhoneOptions(phones.join(','));\n }\n }\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (status) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n content: t(\"IT_WILL_BROADCAST_DIRECTLY_ARE_YOU_SURE\") + \"?\",\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n onConfirm: () => { setIsConfirm(true); _submitBtnRef.current.click(); },\n onCancel: () => { setIsConfirm(false); }\n }));\n }\n }, [alertRequired])\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n if (!isConfirm && status) {\n setAlertRequired(!alertRequired);\n return;\n }\n\n let params = {\n \"phones\": data.phone,\n \"title\": data.title,\n \"content\": data.content,\n \"systemMessageTypeId\": AnnouncementType._ANNOUNCEMENT_TYPE_PHONE,\n \"status\": status\n }\n\n if (!stringIsNullOrEmpty(messageId)) {\n params[\"id\"] = messageId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_SYSTEM_MESSAGE, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_PHONE_MESSAGE)\n }));\n }\n\n return (\n
    \n

    {t(\"ADD_NEW_CUSTOMER_MESSAGE\")}

    \n
    \n
    \n
    \n
    \n

    {t(\"MESSAGE_DETAILS\")}

    \n
    \n
    \n
    { e.preventDefault(); handleSubmit(submitForm)(); }}>\n
    \n
    \n
    \n \n
    \n \n {errors.phone &&
    {t(getValidationMessage(errors.phone))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {errors.title &&
    {t(errors.title.message)}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {errors.content &&
    {t(errors.content.message)}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n {\n setStatus(e.target.checked);\n setIsConfirm(!e.target.checked);\n }}\n value={status}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default withRouter(PhoneMessageDetail);","import React, { useState, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, LanguageKey, AlertTypes } from \"../../../util/Constant\";\nimport { useDispatch } from \"react-redux\";\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DateTime from 'react-datetime';\nimport moment from 'moment';\n\n/// \n/// Author: Wind\n/// \nconst OperationLog = props => {\n const { t, i18n } = useTranslation();\n const [logUrl, setLogUrl] = useState('');\n var [count, setCount] = useState(0);\n const [filterAction, setFilterAction] = useState('');\n const [filterValue, setFilterValue] = useState('');\n const [filterUser, setFilterUser] = useState('');\n const [filterDate, setFilterDate] = useState('');\n\n let _operationLogTableColumns = [\n {\n Header: t(\"ID\"),\n accessor: \"id\",\n disableSortBy: true,\n },\n {\n Header: t(\"ACTION\"),\n accessor: \"actionKey\",\n disableSortBy: true,\n width: '10%'\n },\n {\n Header: t(\"VALUE\"),\n accessor: \"value\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 350\n },\n {\n Header: t(\"MODIFIED_DATE\"),\n accessor: \"createdTime\",\n disableSortBy: true,\n },\n {\n Header: t(\"MODIFIED_BY\"),\n Cell: ({ row }) => {\n return (\n
    \n
    {row.original.createdByName} ({row.original.createdBy})
    \n
    \n );\n },\n },\n {\n Header: t(\"IP_ADDRESS\"),\n accessor: \"ipAddress\",\n disableSortBy: true,\n },\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n getOperationLog();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function getOperationLog() {\n var rawUrl = ApiUrl._API_GET_OPERATION_LOG + \"?ActionKey=\" + filterAction + \"&Value=\" + filterValue +\n \"&CreatedBy=\" + filterUser + \"&CreatedTime=\" + filterDate + \"&v=\" + (++count);\n setCount(count);\n\n setLogUrl(rawUrl);\n }\n\n return (\n
    \n

    {t('OPERATION_LOG')}

    \n \n
    \n
    \n \n
    \n
    \n
    \n \n { setFilterAction(e.target.value) }} />\n
    \n
    \n
    \n
    \n \n { setFilterValue(e.target.value) }} />\n
    \n
    \n
    \n
    \n \n { setFilterUser(e.target.value) }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setFilterDate(e.format(\"YYYY-MM-DD\"));\n }\n else {\n setFilterDate('');\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default OperationLog;","import React, { useState, useMemo, useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n WebUrl,\n ApiKey,\n ApiUrl,\n AccessRight,\n Status,\n ProcessedAnnouncementStatus\n} from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\n// components\nimport {\n Modal, ModalHeader, ModalBody, ModalFooter,\n UncontrolledButtonDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n Toast,\n ToastBody\n} from \"reactstrap\";\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport NavigationButton from \"../../../components/custom/NavigationButton\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { showResponseMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from \"../../../util/ApiEngine\";\nimport { useForm } from \"react-hook-form\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\nimport { stringIsNullOrEmpty } from \"../../../util/Util\";\n\n/// \n/// Author : Lewis\n/// \nconst ManagePromotion = (props) => {\n const { t, i18n } = useTranslation();\n const { register, handleSubmit } = useForm();\n const _history = useHistory();\n const _dispatch = useDispatch();\n const [promotions, setPromotions] = useState([]);\n const [showWinningDetail, setShowWinningDetail] = useState(false);\n const [promotionWinningData, setPromotionWinningData] = useState([]);\n const [apiUrl, setApiUrl] = useState(\"\");\n const [pageData, setPageData] = useState([]);\n const [countData, setCountData] = useState([]);\n var _detailPromotionUrl = props.isSpinPromotion ? WebUrl._URL_PROMOTION_MANAGE_SPIN_PROMOTION_DETAIL : WebUrl._URL_PROMOTION_MANAGE_PROMOTION_DETAIL;\n const _LOADER_SIZE = 30;\n const [showToast, setShowToast] = useState('');\n\n let _winnerTableColumns = [\n {\n Header: \"DATE\",\n accessor: \"createdTime\",\n disableSortBy: true\n },\n {\n Header: \"USER\",\n accessor: \"user\",\n disableSortBy: true\n },\n {\n Header: \"PRIZE_NAME\",\n accessor: \"prizeName\",\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"prizeAmount\",\n Cell: ({ row }) => {\n return {row.original.prizeAmount};\n },\n disableSortBy: true\n }\n ]\n\n /// \n /// Author: Nelson\n /// \n const _tableColumns = useMemo(\n () => [\n {\n Header: \"DESCRIPTION\",\n accessor: \"description\",\n Cell: ({ row }) => {\n var description = 'Title: ' + row.original.title + '
    ';\n description += 'Message: ' + row.original.content + '
    ';\n description += 'Start Date: ' + row.original.startDateString + '
    ';\n description += 'End Date:' + row.original.endDateString;\n return \n },\n minWidth: 200\n },\n {\n Header: \"MODE\",\n accessor: \"mode\",\n },\n {\n Header: \"SHOPS\",\n accessor: \"listOfShopsInString\",\n minWidth: 400,\n Cell: ({ row }) => {\n return {row.original.region ? row.original.region.name + \" - \" : \"\"}{row.original.listOfShopsInString}\n }\n },\n {\n Header: \"CREATED_DATE\",\n accessor: \"createdTime\",\n },\n {\n Header: \"MODIFIED_DATE\",\n accessor: \"updatedTime\",\n },\n {\n Header: \"STATUS\",\n Cell: ({ row }) => {\n if (countData.length > 0) {\n let returnClassName = \"\";\n let rowData = countData.find(x => x.promotionId == row.original.id);\n\n switch (row.original.processedStatus) {\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT:\n returnClassName = \"badge badge-secondary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED:\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_BROADCAST_CANCELLED:\n returnClassName = \"badge badge-danger\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS:\n returnClassName = \"badge badge-primary\";\n break;\n case ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED:\n returnClassName = \"badge badge-success\";\n break;\n }\n return {t(row.original.processedStatusString)} {rowData?.totalSentCount}/{rowData?.totalNumberOfSentCount}\n }\n else {\n return \n }\n },\n minWidth: 100\n },\n {\n Header: \"CLAIM_INFORMATION\",\n Cell: ({ row }) => {\n if (countData.length > 0) {\n let rowData = countData.find(x => x.promotionId == row.original.id);\n\n return (\n
    \n
    {t(\"TOTAL_CLAIMED\")} : {rowData?.totalClaimCount}
    \n
    {t(\"AMOUNT\")}: {parseFloat(rowData?.totalClaimAmount).toFixed(2)}
    \n
    \n );\n }\n else {\n return \n }\n },\n minWidth: 100\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n
    \n \n \n \n \n \n {\n _history.push({\n pathname: _detailPromotionUrl,\n state: { id: row.original.id }\n })\n }}>\n {t(\"EDIT_BONUS_DETAILS\")}\n \n {\n setPromotionStatus(row.original.id, row.original.status == Status._ENABLED ?\n Status._DISABLED : Status._ENABLED)\n }}>\n {row.original.status == Status._ENABLED ? t(\"DEACTIVATE\") : t(\"ACTIVATE\")}\n \n {props.isSpinPromotion &&\n <>\n { getWinningData(row.original.id) }}>\n {t(\"VIEW\")}\n \n {\n navigator.clipboard.writeText(`${row.original.region.domain}/lucky-spin-winner?promotionId=${row.original.id}`);\n setShowToast(`${row.original.region.domain}/lucky-spin-winner?promotionId=${row.original.id}`);\n }}>\n {t(\"COPY_WINNER_LIST_URL\")}\n \n \n }\n {\n row.original.status == Status._ENABLED && !props.isSpinPromotion && {\n broadcastJackpotList(row.original.id)\n }}>\n {t(\"BROADCAST\")}\n \n }\n \n \n
    \n ),\n },\n ], [countData]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n try {\n if (pageData.length > 0) {\n let responseJson = await ApiEngine.get(ApiUrl._API_GET_PROMOTION_DETAILS_COUNT + '?idString=' +\n pageData.map((item) => { return item.original.id }).join(','), { headers: { \"skipLoading\": true } });\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setCountData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n }\n catch (err) {\n /// do nothing\n }\n })();\n }, [pageData]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(showToast)) {\n setTimeout(() => setShowToast(''), 3000)\n }\n }, [showToast])\n\n /// \n /// Author: Nelson\n /// \n const submitForm = async (data, e) => {\n setApiUrl(ApiUrl._API_GET_PROMOTIONS + \"?Name=\" + data.title + \"&Message=\" + data.content + \"&isSpinPromotion=\" + props.isSpinPromotion);\n }\n\n /// \n /// Author: Nelson\n /// \n useEffect(() => {\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author: YJ\n /// \n async function setPromotionStatus(id, status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_SET_PROMOTION_STATUS + \"?id=\" + id + \"&status=\" + status);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function broadcastJackpotList(id) {\n var responseJson = await ApiEngine.post(ApiUrl._API_BROADCAST_MEMBER_PRIZE + \"?promotionId=\" + id);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function getWinningData(id) {\n var responseJson = await ApiEngine.get(ApiUrl._API_PROMOTION_WINNING_DETAIL + \"?promotionId=\" + id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShowWinningDetail(true);\n setPromotionWinningData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n const PaginationTable = useMemo(() =>\n setPageData(page)} />,\n [apiUrl, countData])\n\n return (\n <>\n
    \n
    \n

    {t(\"MANAGE_BONUS\")}

    \n {\n checkIfPermissionExist(AccessRight._PROMOTION_CONTROL_PERMISSION, true) &&\n \n }\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {PaginationTable}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n setShowWinningDetail(false)} style={{ paddingBottom: \"100px\" }} className=\"modal-lg\" keyboard={true} >\n setShowWinningDetail(false)}>{t(\"SUMMARY\")}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n \n {`${t('COPIED')} ${showToast}`}\n \n \n \n );\n}\n\nexport default ManagePromotion;\n","import React, { useState, useMemo, useEffect } from \"react\";\nimport moment from \"moment\";\nimport { useDispatch } from \"react-redux\";\nimport { useHistory, useLocation, generatePath } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { useForm } from \"react-hook-form\";\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow\";\n\n// constants & utils\nimport {\n ApiKey,\n ApiUrl,\n AccessRight,\n Role,\n FilterStatus,\n PrizeType,\n AlertTypes,\n WebUrl,\n ProcessedAnnouncementStatus,\n Status\n} from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\n\n// components\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport DualListBox from \"react-dual-listbox\";\nimport {\n Panel,\n PanelBody,\n PanelFooter,\n} from \"../../../components/panel/panel.jsx\";\nimport {\n UncontrolledButtonDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from \"reactstrap\";\nimport NavigationButton from \"../../../components/custom/NavigationButton\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { showResponseMessage, setBusy, setIdle, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from \"../../../util/ApiEngine\";\nimport DateTime from 'react-datetime';\nimport { createMultiPartFormBody, stringIsNullOrEmpty, navigateTo, getValidationMessage, imagePathToFileObject } from \"../../../util/Util\";\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport Dropzone from 'react-dropzone';\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\n/// \n/// Author : Lewis\n/// \nconst ManagePromotionDetail = (props) => {\n var _location = useLocation();\n\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _dispatch = useDispatch();\n\n const {\n register: promotionRegister,\n handleSubmit: promotionHandleSubmit,\n errors: promotionErrors,\n setValue: promotionSetValue,\n unregister: promotionUnregister\n } = useForm();\n\n const {\n register: prizeRegister,\n handleSubmit: prizeHandleSubmit,\n errors: prizeErrors,\n setValue: prizeSetValue,\n unregister: prizeUnregister,\n clearError: prizeClearError,\n watch: prizeWatch\n } = useForm();\n\n const [prizeModalVisibility, setPrizeModalVisibility] = useState(false);\n const [prizeTypes, setPrizeTypes] = useState([]);\n const [prizeTypeId, setPrizeTypeId] = useState(PrizeType._PRIZE_TYPE_CASH);\n const [displayPrizeCount, setDisplayPrizeCount] = useState('');\n const [winPercentage, setWinPercentage] = useState('');\n const [spinCountToWin, setSpinCountToWin] = useState('');\n const [actualPrizeCount, setActualPrizeCount] = useState('');\n const [prizeName, setPrizeName] = useState('');\n const [prizeId, setPrizeId] = useState('');\n const [prizeAmount, setPrizeAmount] = useState('');\n const [prizes, setPrizes] = useState([]);\n\n const [startDate, setStartDate] = useState(moment().startOf('month').format('YYYY-MM-DD HH:mm:ss'));\n const [endDate, setEndDate] = useState(moment().endOf('month').format('YYYY-MM-DD HH:mm:ss'));\n const [targetShops, setTargetShops] = useState([]);\n const [shops, setShops] = useState([]);\n const [title, setTitle] = useState('');\n const [message, setMessage] = useState('');\n const [regionId, setRegionId] = useState('');\n const [regions, setRegions] = useState([]);\n const [activeDays, setActiveDays] = useState('');\n const [isAppOnly, setIsAppOnly] = useState(false);\n const [isOrderbyReward, setIsOrderByReward] = useState(false);\n const [promotionId, setPromotionId] = useState('');\n const [spinCountGrant, setSpinCountGrant] = useState('');\n const [freeSpinCount, setFreeSpinCount] = useState('');\n const [loginCountRequired, setLoginCountRequired] = useState('');\n const [showPrizeDetails, setShowPrizeDetails] = useState(false);\n const [coolDownDurationList, setCoolDownDurationList] = useState([]);\n const [coolDownDuration, setCoolDownDuration] = useState(0);\n const [promotionStatus, setPromotionStatus] = useState(props.isSpinPromotion ? Status._DISABLED : Status._ENABLED);\n const [promotionMethod, setPromotionMethod] = useState(props.isSpinPromotion);\n const [memberPrize, setMemberPrize] = useState([]);\n const [alertVisible, setAlertVisible] = useState(false);\n const [alertPrizeId, setAlertPrizeId] = useState('');\n const [alertMemberId, setAlertMemberId] = useState('');\n const [customAlert, setCustomAlert] = useState();\n const [dbJackpotExist, setDbJackpotExist] = useState(false);\n const [broadcastStatus, setBroadcastStatus] = useState(ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT);\n const [alertText, setAlertText] = useState('');\n const [prizeAccumulate, setPrizeAccumulate] = useState(false);\n const [lowerBound, setLowerBound] = useState('');\n const [upperBound, setUpperBound] = useState('');\n const [prizeLogoFile, setPrizeLogoFile] = useState();\n const [prizeLogoImage, setPrizeLogoImage] = useState('');\n const [isNewLogo, setIsNewLogo] = useState(false);\n const [maxWinCount, setMaxWinCount] = useState('');\n const [minRewardPoint, setMinRewardPoint] = useState('0');\n const [prizeMaxWinCount, setPrizeMaxWinCount] = useState('-1');\n const [prizeRanks, setPrizeRanks] = useState([]);\n const [prizeRankId, setPrizeRankId] = useState(\"\");\n const [rankCoolDown, setRankCoolDown] = useState(\"\");\n const [promotionLogoFile, setPromotionLogoFile] = useState();\n const [promotionLogoImage, setPromotionLogoImage] = useState('');\n const [pageData, setPageData] = useState([]);\n const [countData, setCountData] = useState([]);\n const [memberPrizeLoading, setMemberPrizeLoading] = useState(true);\n\n const _NOT_BROADCAST_ARR = [\n ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT,\n ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_CANCELLED\n ];\n\n const _MAX_PERCENTAGE = 100;\n\n const [prizeColumns, setPrizeColumns] = useState([]);\n\n const _CUSTOM_ALERT = {\n DELETE_PRIZE: \"DeletePrize\",\n DELETE_ALL: \"DeleteAll\",\n BROADCAST: \"Broadcast\",\n DELETE_MEMBER_PRIZE: \"DeleteMemberPrize\"\n }\n\n const _LOADER_SIZE = 30;\n\n /// \n /// Author: Nelson\n /// \n const _prizeTableColumns = [\n {\n Header: t(\"PRIZE_TYPE\"),\n accessor: \"prizeTypeString\",\n },\n {\n Header: t(\"PRIZE_NAME\"),\n accessor: \"prizeName\",\n },\n {\n Header: t(\"PRIZE_AMOUNT\"),\n accessor: \"prizeAmount\",\n },\n {\n Header: t(\"ACTUAL_NUMBER_OF_PRIZE\"),\n accessor: \"actualPrizeCount\",\n },\n {\n Header: t(\"NUMBER_OF_PRIZE_TO_DISPLAY\"),\n accessor: \"displayPrizeCount\",\n },\n {\n Header: t(\"PERCENTAGE\"),\n accessor: \"winPercentage\",\n },\n {\n Header: t(\"LOWER_BOUND\"),\n accessor: \"lowerBound\",\n },\n {\n Header: t(\"UPPER_BOUND\"),\n accessor: \"upperBound\",\n\n },\n {\n Header: t(\"ACTION\"),\n id: \"action\",\n Cell: ({ row }) => {\n if (memberPrizeLoading) {\n return \n }\n else {\n return (checkIfPermissionExist(AccessRight._PROMOTION_CONTROL_PERMISSION, true) && memberPrize.length == 0) && (\n
    \n \n \n \n \n \n { initializePrizeForm(true, row.original); }}>{t(\"EDIT\")}\n {\n setAlertText(t('DELETE_CURRENT_PRIZE_CONFIRMATION'));\n setAlertPrizeId(row.original.id);\n setCustomAlert(_CUSTOM_ALERT.DELETE_PRIZE);\n setAlertVisible(true);\n }}> {t(\"DELETE\")}\n \n \n \n
    \n )\n }\n }\n }\n ];\n\n const _TABLE_COLUMNS = useMemo(\n () => [\n {\n Header: t(\"FULLNAME\"),\n accessor: \"memberName\",\n },\n {\n Header: t(\"PHONE_NUMBER\"),\n accessor: \"memberPhone\",\n },\n {\n Header: t(\"SHOP_NAME\"),\n Cell: ({ row }) => {\n return ({row.original.shopUsername} ({row.original.shopName}));\n }\n },\n {\n Header: t(\"PRIZE_TYPE\"),\n accessor: \"prizeType\",\n },\n {\n Header: t(\"PRIZE_NAME\"),\n accessor: \"prizeName\",\n },\n {\n Header: t(\"PRIZE_VALUE\"),\n accessor: \"prizeValue\",\n },\n {\n Header: t(\"PRIZE_AMOUNT\"),\n accessor: \"prizeCount\",\n },\n {\n Header: t(\"NUMBER\"),\n accessor: \"messageNumber\",\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return {row.original.claimStatus == 1 ? {t(\"CLAIMED\")}
    ({row.original.claimTime})
    : {t(\"PENDING_CLAIM\")}}
    \n },\n },\n {\n Header: t(\"ACTION\"),\n id: \"action\",\n Cell: ({ row }) =>\n (checkIfPermissionExist(AccessRight._PROMOTION_CONTROL_PERMISSION, true) && _NOT_BROADCAST_ARR.includes(broadcastStatus)) && (\n
    \n \n \n \n \n \n {\n setAlertText(t('DELETE_CURRENT_PRIZE_CONFIRMATION'));\n setAlertPrizeId(row.original.id);\n setAlertMemberId(row.original.memberId);\n setCustomAlert(_CUSTOM_ALERT.DELETE_MEMBER_PRIZE);\n setAlertVisible(true);\n }}>\n \n {t(\"DELETE\")}\n \n \n \n \n
    \n ),\n },\n ],\n [broadcastStatus]\n );\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n /// used for modify the table column of prize after broadcast to show the detail of claim\n let prizeTableColumns = _prizeTableColumns;\n\n if (!_NOT_BROADCAST_ARR.includes(broadcastStatus)) {\n //Remove the action column of table\n prizeTableColumns.splice(-1, 1);\n prizeTableColumns.push(\n {\n Header: t(\"TOTAL_SENT\"),\n accessor: \"totalSentCount\",\n Cell: ({ row }) => {\n if (countData.length > 0) {\n let rowData = countData[0]['prizeList'].find(x => x.promotionPrizeId == row.original.id);\n\n return (\n
    {rowData.totalSentCount}
    \n );\n }\n else {\n return \n }\n },\n Footer: () => {\n return {countData[0]?.totalSentCount?.toFixed(2)}\n }\n },\n {\n Header: t(\"TOTAL_CLAIM\"),\n accessor: \"totalClaimCount\",\n Cell: ({ row }) => {\n if (countData.length > 0) {\n let rowData = countData[0]['prizeList'].find(x => x.promotionPrizeId == row.original.id);\n\n return (\n
    {rowData.totalClaimCount}
    \n );\n }\n else {\n return \n }\n },\n Footer: () => {\n return {countData[0]?.totalClaimCount?.toFixed(2)}\n }\n },\n {\n Header: t(\"TOTAL_CLAIM_AMOUNT\"),\n accessor: \"totalClaimAmount\",\n Cell: ({ row }) => {\n if (countData.length > 0) {\n let rowData = countData[0]['prizeList'].find(x => x.promotionPrizeId == row.original.id);\n\n return (\n
    {rowData.totalClaimAmount.toFixed(2)}
    \n );\n }\n else {\n return \n }\n },\n Footer: () => {\n return {countData[0]?.totalClaimAmount?.toFixed(2)}\n }\n }\n );\n }\n\n setPrizeColumns(prizeTableColumns);\n }, [broadcastStatus, memberPrize, countData])\n\n /// \n /// Author : YJ\n /// \n const imageDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setPrizeLogoFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setIsNewLogo(true);\n setPrizeLogoImage(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author : Lewis\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n (async () => {\n try {\n if (prizes.length > 0) {\n let responseJson = await ApiEngine.get(ApiUrl._API_GET_PROMOTION_DETAILS_COUNT + '?idString=' +\n _location.state.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setCountData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n }\n catch (err) {\n /// do nothing\n }\n })();\n }, [prizes]);\n\n /// \n /// Author : Lewis\n /// Nelson - Added in relevant data to be initialized\n /// \n async function init() {\n promotionRegister({ name: 'targetShops' }, { required: 'PLEASE_SELECT_AT_LEAST_ONE_SHOP' });\n\n var regionJsonResult = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n var prizeTypeJsonResult = await ApiEngine.get(ApiUrl._API_GET_PRIZE_TYPES);\n\n var prizeRankJsonResult = await ApiEngine.get(ApiUrl._API_GET_PRIZE_RANK);\n\n if (!regionJsonResult[ApiKey._API_SUCCESS_KEY] || !prizeTypeJsonResult[ApiKey._API_SUCCESS_KEY] || !prizeRankJsonResult[ApiKey._API_SUCCESS_KEY]) {\n var errorMessage = regionJsonResult[ApiKey._API_MESSAGE_KEY] || prizeTypeJsonResult[ApiKey._API_MESSAGE_KEY] || prizeRankJsonResult[ApiKey._API_MESSAGE_KEY];\n _dispatch(showResponseMessage(false, t(errorMessage)));\n }\n else {\n const MAX_DURATIONS = promotionMethod ? 15 : 60;\n const DURATION_INCREMENT = promotionMethod ? 1 : 15;\n\n var durationList = coolDownDurationList;\n var availableRegions = [];\n var availablePrizeTypes = [];\n let prizeRankList = [{ label: \"No Rank\", value: \"\" }];\n\n for (var i = 0; i <= MAX_DURATIONS; i = i + DURATION_INCREMENT) {\n durationList.push({\n value: i,\n label: i == 0 ? 'Unlimited' : (i + ' Days')\n });\n }\n\n setCoolDownDurationList(durationList);\n\n regionJsonResult[ApiKey._API_DATA_KEY].map((region) => {\n availableRegions.push({\n label: region['name'],\n value: region['id']\n });\n });\n\n prizeTypeJsonResult[ApiKey._API_DATA_KEY].map((type) => {\n availablePrizeTypes.push({\n label: type['name'],\n value: type['id'],\n isSpin: type['isSpin'],\n isPromotion: type['isPromotion'],\n });\n });\n\n prizeRankJsonResult[ApiKey._API_DATA_KEY].map((rank) => {\n prizeRankList.push({\n label: rank['name'],\n value: rank['id'],\n });\n });\n\n if (regionJsonResult[ApiKey._API_DATA_KEY].length > 0) {\n getShopsByRegion(availableRegions[0]['value']);\n }\n\n setPrizeTypes(availablePrizeTypes);\n setRegions(availableRegions);\n setPrizeRanks(prizeRankList);\n }\n\n if (_location.state) {\n await getLatestPromotionDetails();\n }\n else {\n onChangePromotionMethod(promotionMethod.toString());\n }\n }\n\n /// \n /// Author: Nelson\n /// \n async function getLatestPromotionDetails() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_PROMOTIONS + \"?Id=\" + _location.state.id + \"&isSpinPromotion=\" + props.isSpinPromotion);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n else {\n setShowPrizeDetails(true);\n setTitle(responseJson[ApiKey._API_DATA_KEY][0]['title']);\n setPromotionId(responseJson[ApiKey._API_DATA_KEY][0]['id']);\n setMessage(responseJson[ApiKey._API_DATA_KEY][0]['content']);\n setEndDate(responseJson[ApiKey._API_DATA_KEY][0]['endDate']);\n setRegionId(responseJson[ApiKey._API_DATA_KEY][0]['regionId']);\n getShopsByRegion(responseJson[ApiKey._API_DATA_KEY][0]['regionId']);\n setIsAppOnly(responseJson[ApiKey._API_DATA_KEY][0]['appOnly']);\n setStartDate(responseJson[ApiKey._API_DATA_KEY][0]['startDate']);\n setPromotionStatus(responseJson[ApiKey._API_DATA_KEY][0]['status']);\n setTargetShops(responseJson[ApiKey._API_DATA_KEY][0]['assignedShopIds']);\n setIsOrderByReward(responseJson[ApiKey._API_DATA_KEY][0]['orderByReward']);\n setCoolDownDuration(responseJson[ApiKey._API_DATA_KEY][0]['coolDownDuration']);\n setActiveDays(responseJson[ApiKey._API_DATA_KEY][0]['minimumMemberActiveDuration']);\n setPrizes(responseJson[ApiKey._API_DATA_KEY][0]['promotionPrizeModels']);\n setPrizeAccumulate(responseJson[ApiKey._API_DATA_KEY][0]['isPrizeAccumulate']);\n setMaxWinCount(responseJson[ApiKey._API_DATA_KEY][0]['memberMaxWinCount']);\n setMinRewardPoint(responseJson[ApiKey._API_DATA_KEY][0]['minRewardAmount']);\n\n setLoginCountRequired(responseJson[ApiKey._API_DATA_KEY][0]['loginCountRequired']);\n setFreeSpinCount(responseJson[ApiKey._API_DATA_KEY][0]['freeSpinCount']);\n setSpinCountGrant(responseJson[ApiKey._API_DATA_KEY][0]['spinCountGrant']);\n onChangePromotionMethod(responseJson[ApiKey._API_DATA_KEY][0]['isSpinPromotion'].toString(), responseJson[ApiKey._API_DATA_KEY][0]);\n setPromotionLogoImage(responseJson[ApiKey._API_DATA_KEY][0]['backgroundImage']);\n promotionSetValue('targetShops', responseJson[ApiKey._API_DATA_KEY][0]['assignedShopIds']);\n }\n\n await getMemberPrize();\n await getPromotionStatus();\n }\n\n /// \n /// Author : Wind\n /// \n const bgImageDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setPromotionLogoFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setPromotionLogoImage(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author : Lewis\n /// Nelson - apply submission of promotion\n /// YJ - Added checking of member prize\n /// \n async function createOrUpdatePromotionForm(data) {\n if (memberPrize.length > 0) {\n _dispatch(showResponseMessage(false, t(\"PLEASE_DELETE_EXISTING_JACKPOT_FIRST\")));\n return;\n }\n\n _dispatch(setBusy());\n\n var form = {\n title: data.title,\n content: data.message,\n startDate: startDate,\n endDate: endDate,\n appOnly: isAppOnly,\n orderByReward: isOrderbyReward,\n status: promotionStatus,\n spinCountGrant: !stringIsNullOrEmpty(data.spinCountGrant) ? data.spinCountGrant : 0,\n freeSpinCount: !stringIsNullOrEmpty(data.freeSpinCount) ? data.freeSpinCount : 0,\n loginCountRequired: !stringIsNullOrEmpty(data.loginCountRequired) ? data.loginCountRequired : 0,\n targetShops: targetShops.toString(),\n minimumMemberActiveDuration: !stringIsNullOrEmpty(activeDays) ? activeDays : 0,\n coolDownDuration: coolDownDuration,\n isSpinPromotion: promotionMethod,\n regionId: regionId,\n isPrizeAccumulate: prizeAccumulate,\n minRewardAmount: !stringIsNullOrEmpty(data.minRewardPoint) ? data.minRewardPoint : 0,\n memberMaxWinCount: !stringIsNullOrEmpty(data.maxWinCount) ? data.maxWinCount : 0,\n };\n\n if (!stringIsNullOrEmpty(promotionLogoFile)) {\n form[\"backgroundImage\"] = promotionLogoFile;\n }\n\n if (!stringIsNullOrEmpty(promotionId)) {\n form.id = promotionId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_PROMOTION, createMultiPartFormBody(form));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setPromotionId(responseJson[ApiKey._API_DATA_KEY]['id']);\n _history.replace({\n pathname: _location.pathname,\n state: {\n id: responseJson[ApiKey._API_DATA_KEY][\"id\"]\n }\n })\n }\n\n setShowPrizeDetails(responseJson[ApiKey._API_SUCCESS_KEY]);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n _dispatch(setIdle());\n }\n\n /// \n /// Author: Nelson\n /// \n async function getShopsByRegion(newSelectedRegionId) {\n setTargetShops([]);\n promotionSetValue('targetShops', '');\n setRegionId(newSelectedRegionId);\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP + \"&RegionId=\" + newSelectedRegionId);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n else {\n var availableShops = [];\n\n responseJson[ApiKey._API_DATA_KEY].map((shop) => {\n availableShops.push({\n value: shop['id'],\n label: shop['username'] + \" (\" + shop.shopName + \")\"\n });\n });\n\n setShops(availableShops);\n }\n }\n\n /// \n /// Author: Nelson\n /// \n function onChangePromotionMethod(method, data = null) {\n setPromotionMethod(method == 'true');\n if (method.toString() == 'false') {\n promotionUnregister('freeSpinCount');\n promotionUnregister('spinCountGrant');\n promotionUnregister('loginCountRequired');\n\n setFreeSpinCount('');\n setSpinCountGrant('');\n setLoginCountRequired('');\n setMaxWinCount('');\n setMinRewardPoint('');\n\n promotionSetValue('freeSpinCount', '');\n promotionSetValue('spinCountGrant', '');\n promotionSetValue('loginCountRequired', '');\n promotionSetValue('maxWinCount', '');\n promotionSetValue('minRewardPoint', '');\n\n if (data) {\n promotionSetValue('activeDays', data['minimumMemberActiveDuration']);\n setActiveDays(data['minimumMemberActiveDuration']);\n }\n }\n else {\n promotionUnregister('activeDays');\n setActiveDays('');\n promotionSetValue('activeDays', '');\n\n if (data) {\n promotionSetValue('loginCountRequired', data['loginCountRequired']);\n setLoginCountRequired(data['loginCountRequired']);\n promotionSetValue('spinCountGrant', data['spinCountGrant']);\n setSpinCountGrant(data['spinCountGrant']);\n promotionSetValue('freeSpinCount', data['freeSpinCount']);\n setFreeSpinCount(data['freeSpinCount']);\n promotionSetValue('maxWinCount', data['memberMaxWinCount']);\n setMaxWinCount(data['memberMaxWinCount']);\n promotionSetValue('minRewardPoint', data['minRewardAmount']);\n setMinRewardPoint(data['minRewardAmount']);\n }\n }\n }\n\n /// \n /// Author: Nelson\n /// Editted: YJ(Added checking of exist of member prize)\n /// \n async function createOrUpdatePrizeForm(data) {\n if (memberPrize.length > 0) {\n _dispatch(showResponseMessage(false, t(\"PLEASE_DELETE_EXISTING_JACKPOT_FIRST\")));\n return;\n }\n\n if (promotionMethod) {\n let editPercentage = 0;\n if (!stringIsNullOrEmpty(prizeId)) {\n var selectedPrize = prizes.find((prize) => {\n return prize.id == prizeId;\n });\n editPercentage = selectedPrize.winPercentage;\n }\n let totalPercentage = prizes.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.winPercentage);\n }, 0);\n\n if ((totalPercentage - editPercentage + parseFloat(data.winPercentage)) > _MAX_PERCENTAGE) {\n _dispatch(showResponseMessage(false, t(\"TOTAL_PERCENTAGE_EXCEED_100\")));\n return;\n }\n }\n else {\n if (data.upperBound < data.lowerBound) {\n _dispatch(showResponseMessage(false, t(\"PLEASE_ENSURE_UPPER_NOT_LOWER_THAN_LOWER\")));\n return;\n }\n else if ((data.upperBound - data.lowerBound + 1) < data.actualPrizeCount) {\n _dispatch(showResponseMessage(false, t(\"PLEASE_ENSURE_BOUND_RANGE_NOT_LESSER_THAN_ACTUAL_COUNT\")));\n return;\n }\n }\n\n let params = {\n promotionId: promotionId,\n prizeName: data.prizeName,\n prizeAmount: data.prizeAmount,\n actualPrizeCount: data.actualPrizeCount,\n displayPrizeCount: data.displayPrizeCount,\n winPercentage: data.winPercentage ?? 0,\n spinCountToWin: data.spinCountToWin ?? 0,\n prizeTypeId: prizeTypeId,\n id: !stringIsNullOrEmpty(prizeId) ? prizeId : '',\n lowerBound: data.lowerBound ?? 0,\n upperBound: data.upperBound ?? 0,\n isNewLogo: isNewLogo,\n memberMaxWinCount: data.prizeMaxWinCount ?? -1,\n prizeRankId: !stringIsNullOrEmpty(prizeRankId) ? prizeRankId : \"\",\n rankCoolDown: !stringIsNullOrEmpty(data.rankCoolDown) ? data.rankCoolDown : \"\",\n }\n\n if (!stringIsNullOrEmpty(prizeLogoFile)) {\n params[\"prizeLogoFile\"] = prizeLogoFile;\n }\n\n if (stringIsNullOrEmpty(prizeLogoImage)) {\n params[\"prizeLogoImageRemoved\"] = true;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_PRIZE,\n createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n initializePrizeForm(false);\n await getLatestPromotionDetails();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: Nelson\n /// \n async function initializePrizeForm(isModalVisible, prizeData = {}) {\n if (Object.keys(prizeData)['length'] == 0) {\n setPrizeId('');\n setDisplayPrizeCount('');\n setSpinCountToWin('');\n setPrizeAmount('');\n setActualPrizeCount('');\n setWinPercentage('');\n setLowerBound('');\n setUpperBound('');\n setPrizeLogoImage('');\n setPrizeLogoFile();\n setIsNewLogo(false);\n setPrizeMaxWinCount('-1');\n setPrizeRankId('');\n setRankCoolDown('');\n\n onChangePrizeType(prizeTypes.filter(i => i.isSpin == promotionMethod || !promotionMethod == i.isPromotion)[0].value);\n\n prizeSetValue('winPercentage', '');\n prizeSetValue('displayPrizeCount', '');\n prizeSetValue('spinCountToWin', '');\n prizeSetValue('prizeAmount', '');\n prizeSetValue('actualPrizeCount', '');\n prizeSetValue('lowerBound', '');\n prizeSetValue('upperBound', '');\n prizeSetValue('prizeMaxWinCount', '-1');\n prizeSetValue('prizeRankId', '');\n prizeSetValue('rankCoolDown', '');\n }\n else {\n setPrizeId(prizeData['id']);\n setWinPercentage(prizeData[\"winPercentage\"]);\n setDisplayPrizeCount(prizeData['displayPrizeCount']);\n setSpinCountToWin(prizeData['spinCountToWin']);\n setPrizeAmount(prizeData['prizeAmount']);\n setActualPrizeCount(prizeData['actualPrizeCount']);\n setLowerBound(prizeData['lowerBound']);\n setUpperBound(prizeData['upperBound']);\n setPrizeLogoImage(prizeData['prizeLogo']);\n setPrizeMaxWinCount(prizeData['memberMaxWinCount']);\n let imageFile = (!stringIsNullOrEmpty(prizeData['prizeLogo'])) ? await imagePathToFileObject(prizeData['prizeLogo']) : '';\n setPrizeLogoFile(imageFile);\n setIsNewLogo(false);\n setPrizeRankId(prizeData['prizeRankId']);\n setRankCoolDown(prizeData[\"rankCoolDown\"]);\n\n onChangePrizeType(prizeData['prizeTypeId'], prizeData['prizeName']);\n\n prizeSetValue('spinCountToWin', prizeData['spinCountToWin']);\n prizeSetValue('displayPrizeCount', prizeData['displayPrizeCount']);\n prizeSetValue('prizeAmount', prizeData['prizeAmount']);\n prizeSetValue('actualPrizeCount', prizeData['actualPrizeCount']);\n prizeSetValue('winPercentage', prizeData['winPercentage']);\n prizeSetValue('lowerBound', prizeData['lowerBound']);\n prizeSetValue('upperBound', prizeData['upperBound']);\n prizeSetValue(\"prizeMaxWinCount\", prizeData['memberMaxWinCount']);\n prizeSetValue(\"prizeRankId\", prizeData['prizeRankId']);\n prizeSetValue(\"rankCoolDown\", prizeData['rankCoolDown']);\n }\n setPrizeModalVisibility(isModalVisible);\n }\n\n /// \n /// Author: Nelson\n /// \n function onChangePrizeType(typeId, customPrizeName = '') {\n if (stringIsNullOrEmpty(customPrizeName)) {\n switch (parseInt(typeId)) {\n case PrizeType._PRIZE_TYPE_REBATE:\n customPrizeName = 'REBATE';\n break;\n case PrizeType._PRIZE_TYPE_CASH:\n customPrizeName = 'CASH';\n break;\n case PrizeType._PRIZE_TYPE_REWARD:\n customPrizeName = 'REWARD';\n break;\n }\n }\n\n if (typeId != PrizeType._PRIZE_TYPE_PRIZE) {\n setPrizeRankId(\"\");\n setRankCoolDown(\"\");\n }\n\n setPrizeTypeId(typeId);\n setPrizeName(customPrizeName);\n prizeClearError('prizeName');\n prizeSetValue('prizeName', customPrizeName);\n }\n\n /// \n /// Author : YJ\n /// \n async function getMemberPrize() {\n var getPrizeResponseJson = await ApiEngine.get(ApiUrl._API_GET_MEMBER_PRIZE + \"?id=\" + _location.state.id,\n { headers: { \"skipLoading\": true } });\n if (getPrizeResponseJson[ApiKey._API_SUCCESS_KEY]) {\n setMemberPrizeLoading(false);\n setMemberPrize(getPrizeResponseJson[ApiKey._API_DATA_KEY]);\n setDbJackpotExist(getPrizeResponseJson[ApiKey._API_DATA_KEY].length > 0);\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function getPrizesNamelist() {\n var responseJson = await ApiEngine.post(ApiUrl._API_GENERATE_MEMBER_PRIZE + \"?promotionId=\" + _location.state.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMemberPrize(responseJson[ApiKey._API_DATA_KEY]);\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: Nelson\n /// Editted: YJ(Added checking of exist of member prize)\n /// \n async function deletePrize() {\n if (memberPrize.length > 0) {\n _dispatch(showResponseMessage(false, t(\"PLEASE_DELETE_EXISTING_JACKPOT_FIRST\")));\n return;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_DELETE_PRIZE + \"?prizeId=\" + alertPrizeId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await getLatestPromotionDetails();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n async function deleteMemberPrize() {\n /// this is the model Id which is not yet saved into the db\n const UNSAVED_ID = 0;\n if (alertPrizeId == UNSAVED_ID) {\n setMemberPrize(memberPrize => memberPrize.filter(prize => prize.memberId != alertMemberId));\n }\n else {\n var responseJson = await ApiEngine.post(ApiUrl._API_DELETE_MEMBER_PRIZE + \"?id=\" + alertPrizeId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await getMemberPrize();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function saveJackpotList() {\n if (memberPrize.length == 0) {\n _dispatch(showResponseMessage(false, t(\"NO_JACKPOT_FOUND\")));\n return;\n }\n let params = {\n promotionId: promotionId,\n prizes: memberPrize\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_MEMBER_PRIZE, params);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await getMemberPrize();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n async function broadcastJackpotList() {\n var responseJson = await ApiEngine.post(ApiUrl._API_BROADCAST_MEMBER_PRIZE + \"?promotionId=\" + _location.state.id);\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_PROMOTION_MANAGE_PROMOTION)\n }));\n }\n\n /// \n /// Author : YJ\n /// \n async function bulkDeleteMemberPrize() {\n var responseJson = await ApiEngine.post(ApiUrl._API_DELETE_MEMBER_PRIZE + \"?id=\" + _location.state.id + \"&isAll=true\");\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await getMemberPrize();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n async function alertHandler() {\n if (customAlert == _CUSTOM_ALERT.DELETE_PRIZE) {\n deletePrize();\n }\n else if (customAlert == _CUSTOM_ALERT.BROADCAST) {\n broadcastJackpotList();\n }\n else if (customAlert == _CUSTOM_ALERT.DELETE_MEMBER_PRIZE) {\n deleteMemberPrize();\n }\n else {\n bulkDeleteMemberPrize();\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function getPromotionStatus() {\n var getPrizeResponseJson = await ApiEngine.get(ApiUrl._API_GET_PROMOTION_STATUS + \"?promotionId=\" + _location.state.id);\n if (getPrizeResponseJson[ApiKey._API_SUCCESS_KEY]) {\n setBroadcastStatus(getPrizeResponseJson[ApiKey._API_DATA_KEY][\"broadcastStatus\"]);\n }\n }\n\n /// \n /// Author : YJ\n /// used to auto set the bound range for non spin promotion\n /// \n useEffect(() => {\n if (!promotionMethod && prizeModalVisibility && !stringIsNullOrEmpty(displayPrizeCount)) {\n prizeSetValue('lowerBound', 1);\n prizeSetValue('upperBound', displayPrizeCount);\n }\n }, [displayPrizeCount]);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (stringIsNullOrEmpty(prizeRankId)) {\n setRankCoolDown(\"\");\n }\n }, [prizeRankId])\n\n return (\n
    \n {alertVisible && { alertHandler(); setAlertVisible(false); }}\n showCancel={true}\n onCancel={() => { setAlertVisible(false); }}\n confirmBtnText={t(\"CONFIRM\")}\n reverseButtons={true}\n cancelBtnCssClass={\"btn btn-lg btn-danger\"}\n cancelBtnStyle={{ textDecoration: \"none\" }}>\n }\n
    \n
    \n

    \n {promotionId ? t(\"EDIT_BONUS_DETAILS\") : t(\"CREATE_BONUS\")}\n {\" \"}{broadcastStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED ?\n (t(\"ALL_JACKPOT_BROADCAST_SUCCESSFULLY\")) : broadcastStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_IN_PROGRESS\n ? (t(\"JACKPOT_PARTIALLY_BROADCAST\")) : broadcastStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_BROADCAST_CANCELLED ?\n (t(\"ACTIVATE_TO_BROADCAST\")) : (memberPrize.length > 0) && (t(\"PLEASE_REMOVE_JACKPOT_TO_EDIT_PRIZE_AND_PROMOTION\"))}\n \n

    \n \n
    0) ? \"none\" : \"unset\" }}>\n \n
    \n
    \n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n type=\"text\"\n defaultValue={title}\n name=\"title\"\n ref={promotionRegister({ required: 'PLEASE_ENTER_PROMOTION_TITLE' })}\n placeholder={t(\"ENTER_PROMOTION_TITLE\")}\n onInput={(e) => { setTitle(e.target.value); }}\n className=\"form-control form-control-lg\" />\n {promotionErrors.title &&
    {t(promotionErrors.title.message)}
    }\n
    \n
    \n \n 0)\n }}\n isValidDate={(e) => {\n return e.isBefore(moment(endDate).add(1, \"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n }}\n onChange={(e) => {\n if (moment(e).diff(moment(endDate), 'seconds') > 0) {\n setEndDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n setStartDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"))\n }} />\n
    \n
    \n \n 0)\n }}\n isValidDate={(e) => {\n return e.isAfter(moment(startDate).subtract(1, \"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n }}\n onChange={(e) => {\n if (moment(e).diff(moment(startDate), 'seconds') < 0) {\n setStartDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n setEndDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"))\n }} />\n
    \n
    \n
    \n
    \n {promotionMethod &&\n
    \n
    \n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n type=\"number\"\n name=\"loginCountRequired\"\n ref={\n promotionRegister({\n required: true,\n min: {\n value: 0,\n message: 'PLEASE_ENSURE_VALUE_IS_NOT_LESSER_THAN_0'\n }\n })\n }\n className=\"form-control form-control-lg col-lg-12\"\n readOnly={!promotionMethod} />\n {promotionErrors.loginCountRequired &&
    {t(getValidationMessage(promotionErrors.loginCountRequired))}
    }\n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n type=\"number\"\n name=\"freeSpinCount\"\n ref={\n promotionRegister({\n required: true,\n min: {\n value: 0,\n message: 'PLEASE_ENSURE_VALUE_IS_NOT_LESSER_THAN_0'\n }\n })\n }\n className=\"form-control form-control-lg col-lg-12\"\n readOnly={!promotionMethod} />\n {promotionErrors.freeSpinCount &&
    {t(getValidationMessage(promotionErrors.freeSpinCount))}
    }\n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n type=\"number\"\n name=\"spinCountGrant\"\n ref={\n promotionRegister({\n required: true,\n min: {\n value: 0,\n message: 'PLEASE_ENSURE_VALUE_IS_NOT_LESSER_THAN_0'\n }\n })\n }\n className=\"form-control form-control-lg col-lg-12\"\n readOnly={!promotionMethod} />\n {promotionErrors.spinCountGrant &&
    {t(getValidationMessage(promotionErrors.spinCountGrant))}
    }\n
    \n
    \n \n
    \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n onChange={(e) => {\n setPrizeAccumulate(e.target.checked);\n }}\n value={false}\n checked={prizeAccumulate}\n ref={promotionRegister} />\n \n
    \n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n type=\"number\"\n name=\"maxWinCount\"\n ref={\n promotionRegister({\n required: true,\n min: {\n value: 0,\n message: 'PLEASE_ENSURE_VALUE_IS_NOT_LESSER_THAN_0'\n }\n })\n }\n className=\"form-control form-control-lg col-lg-12\"\n readOnly={!promotionMethod} />\n {promotionErrors.maxWinCount &&
    {t(getValidationMessage(promotionErrors.maxWinCount))}
    }\n
    \n
    \n \n 0}\n className=\"form-control form-control-lg col-lg-12\"\n name=\"coolDownDuration\"\n disabled={!promotionMethod || memberPrize.length > 0}\n value={coolDownDuration}\n onChange={(e) => { setCoolDownDuration(e.target.value); }}>\n {\n coolDownDurationList.map((duration, index) => {\n return \n })\n }\n \n
    \n
    \n \n \n {promotionErrors.minRewardPoint &&
    {t(getValidationMessage(promotionErrors.minRewardPoint))}
    }\n
    \n
    \n
    \n
    \n }\n {!promotionMethod &&\n
    \n
    \n
    \n
    \n \n 0}\n name=\"activeDays\"\n ref={promotionRegister({\n required: t('ENTER_MEMBER_ACTIVE_DAYS'),\n min: {\n value: 0,\n message: t('PLEASE_ENSURE_VALUE_IS_NOT_LESSER_THAN_0')\n }\n })}\n type=\"number\"\n placeholder={t(\"ENTER_MEMBER_ACTIVE_DAYS\")}\n readOnly={promotionMethod}\n className=\"form-control form-control-lg col-lg-12\"\n defaultValue={activeDays}\n onInput={(e) => { setActiveDays(e.target.value) }} />\n {promotionErrors.activeDays &&
    {t(promotionErrors.activeDays.message)}
    }\n
    \n
    \n \n 0}\n className=\"form-control form-control-lg col-lg-12\"\n name=\"coolDownDuration\"\n disabled={promotionMethod || memberPrize.length > 0}\n value={coolDownDuration}\n onChange={(e) => { setCoolDownDuration(e.target.value); }}>\n {\n coolDownDurationList.map((duration, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n }\n
    \n
    \n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n className=\"form-control form-control-lg col-lg-12\"\n id=\"region\"\n name=\"region\"\n value={regionId}\n onChange={(e) => { getShopsByRegion(e.target.value); }}>\n {\n regions.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n \n 0}\n onChange={(e) => {\n setPromotionStatus(e.target.value);\n }}>\n \n \n \n
    \n
    \n \n bgImageDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(promotionLogoImage) &&

    {t(\"UPLOAD_BACKGROUND_IMAGE\")}

    }\n {!stringIsNullOrEmpty(promotionLogoImage) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n 0}\n canFilter\n options={shops}\n selected={targetShops}\n alignActions={\"top\"}\n name=\"targetShops\"\n onChange={(e) => { promotionSetValue('targetShops', (e == null || e.length == 0) ? '' : e); setTargetShops(e) }} />\n {promotionErrors.targetShops &&
    {t(promotionErrors.targetShops.message)}
    }\n
    \n
    \n \n 0 || (promotionMethod && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)}\n placeholder={t(\"PLEASE_ENTER_CONTENT\")}\n name=\"message\"\n ref={promotionRegister({ required: 'PLEASE_ENTER_CONTENT' })}\n style={{ resize: \"none\" }}\n defaultValue={message}\n onChange={(e) => { setMessage(e.target.value); }}\n className=\"form-control\"\n aria-label=\"With textarea\">\n \n {promotionErrors.message &&
    {t(promotionErrors.message.message)}
    }\n
    \n
    \n
    \n
    \n {!promotionMethod &&\n
    \n
    \n
    \n
    \n
    \n { setIsAppOnly(e.target.checked); }} />\n \n
    \n
    \n { setIsOrderByReward(e.target.checked); }} />\n \n
    \n
    \n\n
    \n
    \n
    \n }\n {(memberPrize.length == 0 || promotionMethod) &&\n
    \n \n
    \n }\n
    \n
    \n
    \n
    \n
    \n {\n showPrizeDetails &&\n <>\n
    \n
    \n
    \n
    \n

    {t(\"PRIZES_DETAIL\")}

    \n {((memberPrize.length == 0 && !promotionMethod) || (promotionMethod && broadcastStatus == ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_DRAFT)) &&\n \n }\n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n {!promotionMethod &&\n \n {_NOT_BROADCAST_ARR.includes(broadcastStatus) &&
    \n
    \n { getPrizesNamelist(); }}\n className=\"btn btn-primary btn-block\">\n {t(\"PRIZES_NAMELIST\")}\n \n
    \n
    }\n
    \n }\n
    \n
    \n
    \n
    \n {!promotionMethod &&\n
    \n
    \n \n \n
    \n
    \n : null}\n data={memberPrize}\n columns={_TABLE_COLUMNS}\n exportRequired={true}\n />\n
    \n
    \n
    \n \n {memberPrize.length > 0 &&\n
    \n {_NOT_BROADCAST_ARR.includes(broadcastStatus) &&\n <>\n {\n setAlertText(t('DELETE_ALL_JACKPOT_CONFIRMATION'));\n setCustomAlert(_CUSTOM_ALERT.DELETE_ALL);\n setAlertVisible(true);\n }}\n className=\"btn btn-danger\">\n {t(\"DELETE_ALL_JACKPOT\")}\n   \n { saveJackpotList(); }}\n className=\"btn btn-primary\">\n {t(\"SAVE_JACKPOT_NAMELIST\")}\n   \n \n }\n {(dbJackpotExist && promotionStatus == Status._ENABLED && broadcastStatus != ProcessedAnnouncementStatus._PROCESSED_ANNOUNCEMENT_COMPLETED) &&\n {\n setAlertText(t('BROADCAST_JACKPOT_CONFIRMATION'));\n setCustomAlert(_CUSTOM_ALERT.BROADCAST);\n setAlertVisible(true);\n }}\n className=\"btn btn-primary\">\n {t(\"ANNOUNCE_JACKPOT_NAMELIST\")}\n \n }\n
    \n }\n
    \n
    \n
    \n
    \n }\n \n }\n
    \n
    \n { initializePrizeForm(false); }}>\n
    \n { initializePrizeForm(false); }}>{t(\"MANAGE_PRIZE_DETAILS\")}\n \n
    \n
    \n \n { onChangePrizeType(e.target.value); }}>\n {\n prizeTypes.map((type, index) => {\n if (promotionMethod == type[\"isSpin\"] || !promotionMethod == type[\"isPromotion\"]) {\n return \n }\n })\n }\n \n
    \n
    \n \n { setPrizeName(e.target.value); }} />\n {prizeErrors.prizeName &&
    {t(prizeErrors.prizeName.message)}
    }\n
    \n
    \n
    \n
    \n \n { setPrizeAmount(e.target.value); }} />\n {prizeErrors.prizeAmount &&
    {t(prizeErrors.prizeAmount.message)}
    }\n
    \n {promotionMethod &&\n
    \n \n { setWinPercentage(e.target.value); }} />\n {prizeErrors.winPercentage &&
    {t(prizeErrors.winPercentage.message)}
    }\n
    \n }\n
    \n
    \n
    \n \n { setActualPrizeCount(e.target.value); }} />\n {prizeErrors.actualPrizeCount &&
    {t(prizeErrors.actualPrizeCount.message)}
    }\n
    \n
    \n \n { setDisplayPrizeCount(e.target.value); }} />\n {prizeErrors.displayPrizeCount &&
    {t(prizeErrors.displayPrizeCount.message)}
    }\n
    \n
    \n
    \n {promotionMethod && <>\n
    \n
    \n \n imageDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(prizeLogoImage) &&

    {t(\"UPLOAD_LOGO\")}

    }\n {!stringIsNullOrEmpty(prizeLogoImage) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n { setSpinCountToWin(e.target.value); }} />\n {prizeErrors.spinCountToWin &&
    {t(prizeErrors.spinCountToWin.message)}
    }\n
    \n
    \n \n \n {prizeErrors.prizeMaxWinCount &&
    {t(prizeErrors.prizeMaxWinCount.message)}
    }\n
    \n {prizeTypeId == PrizeType._PRIZE_TYPE_PRIZE && <>
    \n \n { setPrizeRankId(e.target.value); }}>\n {\n prizeRanks.map((rank, index) => {\n return \n })\n }\n \n
    \n {!stringIsNullOrEmpty(prizeRankId) &&
    \n \n \n {prizeErrors.rankCoolDown &&
    {t(prizeErrors.rankCoolDown.message)}
    }\n
    }}\n
    \n\n
    \n \n }\n
    \n {\n !promotionMethod &&
    \n
    \n \n (parseFloat(prizeWatch('upperBound')) - parseFloat(value) + 1) >= parseFloat(prizeWatch('actualPrizeCount'))\n || \"PLEASE_ENSURE_BOUND_RANGE_NOT_LESSER_THAN_ACTUAL_COUNT\"\n }\n })}\n className=\"form-control form-control-lg\"\n placeholder={t(\"PLEASE_ENTER_LOWER_BOUND\")}\n defaultValue={lowerBound}\n onInput={(e) => { setLowerBound(e.target.value); }} />\n {prizeErrors.lowerBound &&
    {t(prizeErrors.lowerBound.message)}
    }\n
    \n
    \n \n (parseFloat(value) - parseFloat(prizeWatch('lowerBound')) + 1) >= parseFloat(prizeWatch('actualPrizeCount'))\n || \"PLEASE_ENSURE_BOUND_RANGE_NOT_LESSER_THAN_ACTUAL_COUNT\",\n exceedDisplay: value => parseFloat(value) <= parseFloat(prizeWatch('displayPrizeCount'))\n || 'PLEASE_ENSURE_UPPER_BOUND_NOT_EXCEED_DISPLAY'\n }\n })}\n className=\"form-control form-control-lg\"\n placeholder={t(\"PLEASE_ENTER_UPPER_BOUND\")}\n defaultValue={upperBound}\n onInput={(e) => { setUpperBound(e.target.value); }} />\n {prizeErrors.upperBound &&
    {t(prizeErrors.upperBound.message)}
    }\n
    \n
    \n }\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default ManagePromotionDetail;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author: Nelson\n/// \nconst ManageLuckyNumber = props => {\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n\n const _STATUS_OPTIONS = {\n ALL: '',\n ACTIVE: true,\n INACTIVE: false\n };\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"BET_DATE\",\n accessor: \"betDateTime\",\n disableSortBy: true\n },\n {\n Header: \"OPERATED_SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"usernamePhoneNumber\",\n disableSortBy: true\n },\n {\n Header: \"PLAYER_ID\",\n accessor: \"playerId\",\n disableSortBy: true\n },\n {\n Header: \"NUMBER\",\n accessor: \"number\",\n disableSortBy: true\n },\n {\n Header: \"BET_TYPE\",\n accessor: \"betType\",\n disableSortBy: true\n },\n {\n Header: \"BET_AMOUNT\",\n accessor: \"amount\",\n disableSortBy: true,\n Cell: ({ row }) => (\n {parseFloat(row.original.amount).toFixed(2)}\n )\n },\n {\n Header: \"DRAW_DATE\",\n accessor: \"drawDate\",\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n disableSortBy: true,\n Cell: ({ row }) => (\n {t(row.original.statusName)}\n )\n }\n ]\n\n /// \n /// Author: Nelson\n /// \n useEffect(() => {\n register({ name: 'operatedShop' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('operatedShop', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD\"));\n setValue('endDate', moment().format(\"YYYY-MM-DD\"));\n init();\n }, []);\n\n /// \n /// Author: Nelson\n /// \n async function init() {\n await getShopOption();\n }\n\n /// \n /// Author: Nelson\n /// \n async function getShopOption() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author: Nelson\n /// \n function getStatusClassName(status) {\n let spanClass = \"\";\n\n switch (status) {\n case _STATUS_OPTIONS.ACTIVE:\n spanClass = \"badge-green\";\n break;\n case _STATUS_OPTIONS.INACTIVE:\n spanClass = \"badge-red\";\n break;\n }\n\n return spanClass;\n }\n\n /// \n /// Author: Nelson\n /// \n const submitForm = async (data) => {\n setPostData({\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Status\": data.status,\n \"PhoneNumber\": data.phoneNumber ?? '',\n \"PlayerId\": data.playerId ?? '',\n \"TargetShop\": data.operatedShop\n });\n setApiUrl(ApiUrl._API_GET_LUCKY_NUMBERS);\n }\n\n /// \n /// Author: Nelson\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData]);\n\n return (\n
    \n

    {t(\"MANAGE_LUCKY_NUMBER\")}

    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {\n setValue('operatedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default ManageLuckyNumber;","import React, { useState, useEffect, useContext } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, FilterStatus, Status, AlertTypes } from \"../../../util/Constant\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { showResponseMessage, showMessage } from 'redux/AppAction';\nimport * as Util from '../../../util/Util';\nimport AttachShopModal from '../../../components/custom/AttachShopModal';\n\n/// \n/// Author : Andrew\n/// Edited : CK - Mini program shop attachment\n/// \nconst ManageMiniProgram = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n let _dispatch = useDispatch();\n const [miniProgramData, setMiniProgramData] = useState([]);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [selectedMiniProgram, setSelectedMiniProgram] = useState(null);\n\n /// \n /// Author: Andrew\n /// \n const _btnKeys = {\n _DISABLE: 'disable',\n _EDIT: 'edit'\n };\n\n /// \n /// Author: Andrew\n /// \n const btnHandler = (type, params) => {\n let options = { type: AlertTypes._WARNING, title: t(\"ARE_YOU_SURE\"), showCancel: true };\n\n switch (type) {\n case _btnKeys._DISABLE:\n options = {\n ...options, content: t(\"PLEASE_CONFIRM_YOU_WANT_TO\") + ' ' + (params.status == Status._ENABLED ? t(\"DISABLE\") : t(\"ENABLE\")) + ' ' + params.name + ' ' + t(\"MINI_PROGRAM_QUESTION_MARK\")\n , onConfirm: () => updateStatus(params)\n }\n break;\n case _btnKeys._EDIT:\n\n break;\n }\n\n _dispatch(showMessage(options));\n }\n\n /// \n /// Author : Andrew\n /// \n async function updateStatus(miniProgram) {\n var param = {\n id: miniProgram.id,\n status: miniProgram.status == Status._ENABLED ? Boolean(Status._DISABLED) : Boolean(Status._ENABLED),\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_MINI_PROGRAM, Util.createMultiPartFormBody(param));\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n await fetchMiniPrograms();\n }\n }\n\n /// \n /// Author : Andrew\n /// \n let _tableColumns = [\n {\n Header: \"IMAGE\",\n accessor: \"imageUrl\",\n Cell: ({ row }) => {\n return \n }\n },\n {\n Header: \"NAME\",\n accessor: \"name\"\n },\n {\n Header: \"DESCRIPTION\",\n accessor: \"description\"\n },\n {\n Header: \"NAVIGATION_KEY\",\n accessor: \"navigationKey\"\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendorName\"\n },\n {\n Header: \"TOTAL_SHOPS\",\n accessor: \"totalShop\",\n disableSortBy: true,\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return {row.original.status == 1 ? {t(\"ACTIVE\")} : {t(\"SUSPENDED\")}}\n },\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._MINI_PROGRAM_CONTROL_PERMISSION, true) &&
    \n \n \n \n { navigateTo(_history, WebUrl._URL_ADMIN_MINI_PROGRAM_DETAIL, row.original) }}>{t(\"EDIT\")}\n {\n btnHandler(_btnKeys._DISABLE, row.original);\n }}>{row.original.status == Status._ENABLED ? t(\"DISABLE\") : t(\"ENABLE\")}\n {\n setSelectedMiniProgram(row.original);\n toggleModal();\n }}>\n {t('ATTACH_SHOPS')}\n \n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ]\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n await fetchMiniPrograms();\n }\n\n /// \n /// Author : Andrew\n /// \n async function fetchMiniPrograms(data) {\n var apiUrl = ApiUrl._API_GET_MINI_PROGRAM_LIST;\n\n var responseJson = await ApiEngine.get(apiUrl);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMiniProgramData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function toggleModal() {\n if (isModalVisible) {\n setSelectedMiniProgram(null);\n }\n\n setIsModalVisible(!isModalVisible);\n }\n\n /// \n /// Author : CK\n /// \n async function onSubmitAttachShop(attachedShops) {\n let params = {\n \"miniProgramId\": selectedMiniProgram.id,\n \"shopIds\": attachedShops.join(',')\n }\n \n var responseJson = await ApiEngine.post(ApiUrl._API_ATTACH_MINI_PROGRAM_SHOP, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n toggleModal();\n fetchMiniPrograms();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_MINI_PROGRAMS\")}

    \n {\n checkIfPermissionExist(AccessRight._MINI_PROGRAM_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n \n \n \n {\n if (attachedShops) {\n onSubmitAttachShop(attachedShops);\n }\n else {\n toggleModal();\n }\n }} />\n
    \n )\n}\n\nexport default ManageMiniProgram;","import React, { useState, useEffect, Fragment, useRef } from 'react';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport Select from \"react-select\";\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, Status, Role, WebUrl, AlertTypes } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, imagePathToFileObject } from \"../../../util/Util\";\nimport { useLocation } from \"react-router-dom\";\nimport { showResponseMessage } from '../../../redux/AppAction';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport IntlTelInput from 'react-intl-tel-input';\nimport 'react-intl-tel-input/dist/main.css';\nimport DualListBox from 'react-dual-listbox';\nimport { showMessage } from 'redux/AppAction';\nimport Dropzone from 'react-dropzone';\n\n/// \n/// Author : Andrew\n/// Edited : CK - Add vendor Id \n/// \nconst MiniProgramDetail = props => {\n const { t } = useTranslation();\n var _location = useLocation();\n var _dispatch = useDispatch();\n var _history = useHistory();\n const { register, unregister, handleSubmit, errors, setValue, triggerValidation } = useForm();\n\n const [miniProgramId, setMiniProgramId] = useState('');\n const [status, setStatus] = useState(true);\n const [autoAddPlayer, setAutoAddPlayer] = useState(true);\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [isNewLogo, setIsNewLogo] = useState(false);\n const [logoFile, setLogoFile] = useState();\n const [logoImage, setLogoImage] = useState();\n const [navigationKey, setNavigationKey] = useState('');\n const [vendorList, setVendorList] = useState([]);\n const [ageTncRequired, setAgeTncRequired] = useState(true);\n const [ageTncDescription, setAgeTncDescription] = useState('');\n const [programUrl, setProgramUrl] = useState('');\n\n /// \n /// Author : Andrew\n /// \n const imageDrop = (acceptedFiles) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n setLogoFile(file);\n const reader = new FileReader();\n reader.onloadend = () => {\n setIsNewLogo(true);\n setLogoImage(reader.result);\n }\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author : Andrew\n /// Edited : CK - Response error handling\n /// \n const submitForm = async (data, e) => {\n if (stringIsNullOrEmpty(logoImage)) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(\"PLEASE_UPLOAD_LOGO_IMAGE\")\n }));\n }\n else {\n if (logoFile) {\n data[\"logo\"] = logoFile;\n data[\"isNewLogo\"] = isNewLogo;\n }\n\n if (!stringIsNullOrEmpty(miniProgramId)) {\n data[\"id\"] = miniProgramId;\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_MINI_PROGRAM, createMultiPartFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_MINI_PROGRAM)\n }));\n }\n }\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Andrew\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setVendorList(responseJson[ApiKey._API_DATA_KEY]);\n }\n\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_MINI_PROGRAM_BY_ID + \"?id=\" + _location.state[\"id\"]);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMiniProgramId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setName(responseJson[ApiKey._API_DATA_KEY][\"name\"]);\n setDescription(responseJson[ApiKey._API_DATA_KEY][\"description\"]);\n setNavigationKey(responseJson[ApiKey._API_DATA_KEY][\"navigationKey\"]);\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n setLogoImage(responseJson[ApiKey._API_DATA_KEY][\"logo\"]);\n setAutoAddPlayer(responseJson[ApiKey._API_DATA_KEY][\"autoAddPlayer\"]);\n setAgeTncRequired(responseJson[ApiKey._API_DATA_KEY][\"ageTncRequired\"]);\n setAgeTncDescription(responseJson[ApiKey._API_DATA_KEY]['ageTncDescription']);\n setProgramUrl(responseJson[ApiKey._API_DATA_KEY]['programUrl']);\n\n if (responseJson[ApiKey._API_DATA_KEY][\"vendorId\"] > 0) {\n setValue(\"vendorId\", responseJson[ApiKey._API_DATA_KEY][\"vendorId\"]);\n }\n }\n }\n }\n\n return (\n
    \n

    {!stringIsNullOrEmpty(miniProgramId) ? t(\"EDIT_MINI_PROGRAM\") : t(\"ADD_MINI_PROGRAM\")}

    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n {errors.name &&
    {t(errors.name.message)}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {errors.navigationKey &&
    {t(errors.navigationKey.message)}
    }\n
    \n
    \n
    \n
    \n \n \n \n {\n vendorList.map(vendor => {\n return (\n \n )\n })\n }\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n setStatus(e.target.checked)}\n value={true}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n setAutoAddPlayer(e.target.checked)}\n value={true}\n checked={autoAddPlayer}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n setAgeTncRequired(e.target.checked)}\n value={true}\n checked={ageTncRequired}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n imageDrop(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(logoImage) &&

    {t(\"UPLOAD_LOGO\")}

    }\n {!stringIsNullOrEmpty(logoImage) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default MiniProgramDetail;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, AccessRight, PaymentGatewayType } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport AttachShopModal from '../../../components/custom/AttachShopModal';\n\n/// \n/// Author : Andrew\n/// \nconst ManagePaymentGateway = props => {\n var { t, i18n } = useTranslation();\n var _history = useHistory();\n var _dispatch = useDispatch();\n\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [paymentGatewayTypeId, setPaymentGatewayTypeId] = useState('');\n const [paymentGatewayId, setPaymentGatewayId] = useState('');\n const [paymentGateways, setPaymentGateways] = useState([]);\n const [apiKey, setApiKey] = useState(\"\");\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n getPaymentGateways();\n }, []);\n\n /// \n /// Author : Andrew\n /// \n async function onSubmitAttachShop(attachedShops) {\n let params = {\n \"paymentGatewayId\": paymentGatewayId,\n \"shopIds\": attachedShops.join(',')\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_ATTACH_PAYMENT_GATEWAY_SHOP, createMultiPartFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n toggleModal();\n getPaymentGateways();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n let _tableColumns = useMemo(() => [\n {\n Header: \"TITLE\",\n accessor: \"title\",\n },\n {\n Header: \"PAYMENT_TYPE\",\n Cell: ({ row }) => {\n return row.original.typeId == PaymentGatewayType._ONLINE_BANKING_GPAY ? t('ONLINE_BANKING') :\n row.original.typeId == PaymentGatewayType._DUITNOW_GPAY ? t('DUITNOW') :\n row.original.typeId == PaymentGatewayType._WINPAY ? t(\"MOBILE_PIN_TOPUP\") :\n row.original.typeId == PaymentGatewayType._VENDING_MACHINE ? t(\"VENDING_MACHINE\") : \n row.original.typeId == PaymentGatewayType._KINGPAY_DUITNOW ? t(\"KINGPAY_DUITNOW\") : t('E_WALLET');\n }\n },\n {\n Header: \"BASE_URL\",\n accessor: \"baseUrl\",\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 200\n },\n {\n Header: \"API_KEY\",\n accessor: \"apiKey\",\n },\n {\n Header: \"API_SECRET\",\n accessor: \"apiSecret\",\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 250\n },\n {\n Header: \"CALLBACK_URL\",\n accessor: \"callbackUrl\",\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 200\n },\n {\n Header: \"RESPONSE_URL\",\n accessor: \"responseUrl\",\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 200\n },\n {\n Header: \"STATUS\",\n Cell: ({ row }) => {\n let element = \"\";\n switch (row.original.status) {\n case false:\n element = {t('INACTIVE')}\n break;\n case true:\n element = {t('ACTIVE')}\n break;\n }\n return element;\n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&
    \n \n \n \n { navigateTo(_history, WebUrl._URL_ADMIN_CREATE_OR_UPDATE_PAYMENT_GATEWAY, row.original) }}>{t('EDIT')}\n {\n setPaymentGatewayTypeId(row.original.typeId);\n setApiKey(row.original.apiKey);\n setPaymentGatewayId(row.original.id);\n toggleModal();\n }}>\n {t('ATTACH_SHOPS')}\n \n \n \n
    \n ),\n disableFilters: true,\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], []);\n\n /// \n /// Author: Andrew\n /// \n async function toggleModal() {\n if (isModalVisible) {\n setPaymentGatewayId(null);\n }\n\n setIsModalVisible(!isModalVisible);\n }\n\n /// \n /// Author: Andrew\n /// \n async function getPaymentGateways() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_PAYMENT_GATEWAY);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setPaymentGateways(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_PAYMENT_GATEWAY\")}

    \n {\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&\n \n }\n
    \n
    \n \n \n \n \n \n
    \n {\n if (attachedShops) {\n onSubmitAttachShop(attachedShops);\n }\n else {\n toggleModal();\n }\n }} />\n
    \n );\n}\n\nexport default ManagePaymentGateway;","import React, { useState, useEffect } from 'react';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, AccessRight, PaymentGatewayType, ProcessedAnnouncementStatus, AlertTypes, Role } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, getValidationMessage, isObjectEmpty } from \"../../../util/Util\";\nimport { useLocation } from \"react-router-dom\";\nimport DateTime from 'react-datetime';\nimport moment from 'moment';\nimport Select from 'react-select'\n\n/// \n/// Author : Andrew\n/// \nconst ManagePaymentGatewayDetail = props => {\n var { t, i18n } = useTranslation();\n var _history = useHistory();\n var _location = useLocation();\n var _dispatch = useDispatch();\n var { register, unregister, handleSubmit, errors, setValue, triggerValidation, watch } = useForm();\n\n const [paymentGatewayId, setPaymentGatewayId] = useState('');\n const [apiKey, setApiKey] = useState('');\n const [apiSecret, setApiSecret] = useState('');\n const [callbackUrl, setCallbackUrl] = useState('');\n const [responseUrl, setResponseUrl] = useState('');\n const [secretKey, setSecretKey] = useState('');\n const [status, setStatus] = useState(true);\n const [hasOperationHour, setHasOperationHour] = useState(false);\n const [telcoList, setTelcoList] = useState([]);\n const [shopOptions, setShopOptions] = useState([]);\n const [selectedInterfaceShopId, setSelectedInterfaceShopId] = useState(null)\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n if (hasOperationHour) {\n register({ name: 'startAtString' }, { required: true });\n register({ name: 'endAtString' }, { required: true });\n\n if (!watch('startAtString')) {\n setValue('startAtString', \"08:00\");\n }\n\n if (!watch('endAtString')) {\n setValue('endAtString', \"23:30\");\n }\n }\n }, [hasOperationHour]);\n\n /// \n /// Author : Andrew\n /// \n async function init() {\n // Get interface shops\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._SHOP);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n shopOptionList.push({ label: user.username + \" (\" + user.shopName + \") - \" + user.regionName, value: user.id });\n });\n\n setShopOptions(shopOptionList);\n }\n\n var responseJsonTelco = await ApiEngine.get(ApiUrl._API_GET_PAYMENT_GATEWAY_TELCO);\n\n if (responseJsonTelco[ApiKey._API_SUCCESS_KEY]) {\n setTelcoList(responseJsonTelco[ApiKey._API_DATA_KEY]);\n }\n\n if (_location.state) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_PAYMENT_GATEWAY_BY_ID + \"?id=\" + _location.state[\"id\"]);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setPaymentGatewayId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setApiKey(responseJson[ApiKey._API_DATA_KEY][\"apiKey\"]);\n setApiSecret(responseJson[ApiKey._API_DATA_KEY][\"apiSecret\"]);\n setCallbackUrl(responseJson[ApiKey._API_DATA_KEY][\"callbackUrl\"]);\n setResponseUrl(responseJson[ApiKey._API_DATA_KEY][\"responseUrl\"]);\n setSecretKey(responseJson[ApiKey._API_DATA_KEY][\"secretKey\"]);\n setStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n setHasOperationHour(responseJson[ApiKey._API_DATA_KEY][\"hasOperationHour\"]);\n setSelectedInterfaceShopId(responseJson[ApiKey._API_DATA_KEY][\"interfaceShopId\"]);\n setValue(\"baseUrl\", responseJson[ApiKey._API_DATA_KEY][\"baseUrl\"]);\n setValue(\"title\", responseJson[ApiKey._API_DATA_KEY][\"title\"]);\n setValue('minTopUpAmount', responseJson[ApiKey._API_DATA_KEY][\"minTopUpAmount\"]);\n setValue('maxTopUpAmount', responseJson[ApiKey._API_DATA_KEY][\"maxTopUpAmount\"]);\n setValue('typeId', responseJson[ApiKey._API_DATA_KEY][\"typeId\"]);\n setValue('processingFee', responseJson[ApiKey._API_DATA_KEY][\"processingFee\"]);\n\n if (!stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"startAtString\"]) && !stringIsNullOrEmpty(responseJson[ApiKey._API_DATA_KEY][\"endAtString\"])) {\n register({ name: 'startAtString' }, { required: true });\n register({ name: 'endAtString' }, { required: true });\n setValue('startAtString', responseJson[ApiKey._API_DATA_KEY][\"startAtString\"]);\n setValue('endAtString', responseJson[ApiKey._API_DATA_KEY][\"endAtString\"]);\n }\n\n if (responseJson[ApiKey._API_DATA_KEY][\"typeId\"] == PaymentGatewayType._WINPAY) {\n responseJsonTelco[ApiKey._API_DATA_KEY].map(item => {\n register({ name: item.id.toString() });\n setValue(item.id.toString(), responseJson[ApiKey._API_DATA_KEY][\"paymentGatewayRates\"].find(x => x.type == item.id)?.value);\n })\n }\n }\n }\n }\n\n /// \n /// Author : Andrew\n /// \n const submitForm = async (data, e) => {\n let telcoRate = [];\n data['status'] = data['status'] ? true : false;\n data['interfaceShopId'] = selectedInterfaceShopId;\n\n if (paymentGatewayId) {\n data['id'] = paymentGatewayId;\n }\n\n telcoList.map(item => {\n if (data.hasOwnProperty(item.id) && !stringIsNullOrEmpty(data[item.id])) {\n telcoRate.push({ type: item.id, value: data[item.id] })\n }\n })\n\n if (telcoRate.length > 0) {\n data['rates'] = JSON.stringify(telcoRate);\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_PAYMENT_GATEWAY, createMultiPartFormBody(data));\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_PAYMENT_GATEWAY)\n }));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_PAYMENT_GATEWAY\")}

    \n {\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&\n \n }\n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {errors.apiKey &&
    {t(errors.apiKey.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.apiSecret &&
    {t(errors.apiSecret.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.callbackUrl &&
    {t(errors.callbackUrl.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.responseUrl &&
    {t(errors.responseUrl.message)}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {errors.minTopUpAmount &&
    {t(errors.minTopUpAmount.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.maxTopUpAmount &&
    {t(errors.maxTopUpAmount.message)}
    }\n
    \n
    \n
    \n
    \n \n option.value == selectedInterfaceShopId)}\n onChange={(e) => {\n setSelectedInterfaceShopId(e ? e.value : null);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {errors.processingFee &&
    {t(errors.processingFee.message)}
    }\n
    \n
    \n
    \n
    \n \n
    \n
    \n { setStatus(e.target.checked) }}\n value={true}\n checked={status}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n { setHasOperationHour(e.target.checked) }}\n value={true}\n checked={hasOperationHour}\n ref={register} />\n \n
    \n
    \n
    \n
    \n {\n hasOperationHour &&\n <>\n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"startAtString\", e.format(\"HH:mm\"));\n }\n else {\n setValue(\"startAtString\", \"\");\n }\n }} />\n {errors.startAtString &&
    {t(errors.startAtString.message)}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"endAtString\", e.format(\"HH:mm\"));\n }\n else {\n setValue(\"endAtString\", \"\");\n }\n }} />\n {errors.endAtString &&
    {t(errors.endAtString.message)}
    }\n
    \n
    \n \n }\n
    \n
    \n {\n watch('typeId') == PaymentGatewayType._WINPAY &&\n telcoList.map((item, index) => {\n return (\n
    \n
    \n \n \n {errors[item.id] &&
    {t(errors[item.id].message)}
    }\n
    \n
    \n )\n })\n }\n
    \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default ManagePaymentGatewayDetail;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody, stringIsNullOrEmpty } from \"../../../util/Util\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, FilterStatus, Status, AlertTypes } from \"../../../util/Constant\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { showResponseMessage, showMessage } from 'redux/AppAction';\nimport { useForm } from \"react-hook-form\";\n\n/// \n/// Author : YJ\n/// \nconst ManageIPBlackList = props => {\n const { t } = useTranslation();\n let _dispatch = useDispatch();\n const [ipAddressData, setIpAddressData] = useState([]);\n const [detailModalShow, setDetailModalShow] = useState(false);\n const [modalId, setModalId] = useState('');\n var { register, unregister, handleSubmit, errors, setValue, triggerValidation } = useForm();\n const [ipAddress, setIpAddress] = useState('');\n\n /// \n /// Author : YJ\n /// \n let _tableColumns = useMemo(() => [\n {\n Header: \"IP_ADDRESS\",\n accessor: \"ipAddress\"\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&
    \n \n \n \n { setModalId(row.original.id); setDetailModalShow(true); }}>{t(\"EDIT\")}\n {\n deleteHandler(row.original.id)\n }}>{t(\"DELETE\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ], []);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : YJ\n /// \n const init = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_IP_BLACKLIST);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setIpAddressData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: YJ\n /// \n async function deleteHandler(id) {\n var responseJson = await ApiEngine.post(ApiUrl._API_REMOVE_IP_BLACKLIST_BY_ID + \"?id=\" + id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (detailModalShow) {\n detailInit();\n }\n }, [detailModalShow]);\n\n /// \n /// Author : YJ\n /// \n async function detailInit() {\n if (modalId) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_IP_BLACKLIST_BY_ID + \"?id=\" + modalId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setModalId(responseJson[ApiKey._API_DATA_KEY][\"id\"]);\n setIpAddress(responseJson[ApiKey._API_DATA_KEY][\"ipAddress\"]);\n }\n }\n }\n\n /// \n /// Author : YJ\n /// \n function modalCleanUp() {\n setIpAddress('');\n setModalId('');\n setDetailModalShow(false);\n }\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n let params = {\n \"ipAddress\": data.ipAddress\n }\n\n if (!stringIsNullOrEmpty(modalId)) {\n params[\"id\"] = modalId\n }\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_IP_BLACKLIST, createMultiPartFormBody(params));\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])))\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n modalCleanUp();\n init();\n }\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_IP_BLACK_LIST\")}

    \n {\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n \n \n \n { modalCleanUp() }} size=\"md\">\n
    \n { modalCleanUp()}}>

    {t(\"IP_BLACKLIST_DETAIL\")}

    \n \n
    \n \n \n {errors.ipAddress &&
    {t(errors.ipAddress.message)}
    }\n
    \n
    \n \n \n \n
    \n
    \n
    \n )\n}\n\nexport default ManageIPBlackList;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, createMultiPartFormBody } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { ApiKey, WebUrl, ApiUrl, CommonStatus, AlertTypes } from \"../../../util/Constant\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\n\n/// \n/// Author : Wind\n/// \nconst ManageShopLogin = props => {\n var { t, i18n } = useTranslation();\n const { register, handleSubmit, setValue } = useForm();\n var _dispatch = useDispatch();\n const [loginRequest, setLoginRequest] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n\n let _tableColumns = [\n {\n Header: t(\"SHOP\"),\n Cell: ({ row }) => {\n return (\n
    \n
    {row.original.shopUser} ({row.original.shopName})
    \n
    \n );\n },\n disableSortBy: true\n },\n {\n Header: t(\"REQUEST_TIME\"),\n accessor: \"requestTime\",\n disableSortBy: true\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return renderStatus(row.original.status);\n },\n disableSortBy: true\n },\n {\n Header: t(\"IP_ADDRESS\"),\n accessor: \"ipAddress\",\n disableSortBy: true\n },\n {\n Header: t(\"USER_AGENT\"),\n accessor: \"userAgent\",\n disableSortBy: true\n },\n {\n Header: t(\"OPERATED_BY\"),\n Cell: ({ row }) => {\n return (\n
    \n
    {row.original.operatedBy} ({row.original.operatedByName})
    \n
    \n );\n },\n disableSortBy: true\n },\n {\n Header: t(\"OPERATED_TIME\"),\n accessor: \"updatedTime\",\n disableSortBy: true\n },\n {\n Header: t(\"ACTION\"),\n disableFilters: true,\n disableSortBy: true,\n Cell: ({ row }) => (\n row.original.status == CommonStatus._PENDING_STATUS &&\n
    \n \n \n \n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_APPROVE_SHOP_LOGIN\") + '(' + row.original.shopUser + ')',\n showCancel: true,\n onConfirm: () => updateRequest(row.original.id, CommonStatus._APPROVE_STATUS)\n }));\n }}>{t('APPROVE')}\n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_REJECT_SHOP_LOGIN\") + '(' + row.original.shopUser + ')',\n showCancel: true,\n onConfirm: () => updateRequest(row.original.id, CommonStatus._REJECT_STATUS)\n }));\n }}>{t('REJECT')}\n \n \n
    \n ),\n width: 100,\n style: { overflow: \"visible\" }\n }\n ];\n\n /// \n /// Author : Wind\n /// \n async function updateRequest(requestId, status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_UPDATE_SHOP_LOGIN_REQUEST + \"?Id=\" + requestId + \"&Status=\" + status);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n }\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n register({ name: 'status' });\n register({ name: 'startDate' });\n register({ name: 'endDate' });\n\n setValue('status', CommonStatus._PENDING_STATUS);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : Wind\n /// \n function renderStatus(status) {\n let statusString = \"\";\n let badgeString = \"\";\n\n switch (status) {\n case CommonStatus._PENDING_STATUS:\n statusString = t(\"PENDING\");\n badgeString = \"badge badge-primary\";\n break;\n case CommonStatus._APPROVE_STATUS:\n statusString = t(\"APPROVED\");\n badgeString = \"badge badge-success\";\n break;\n case CommonStatus._REJECT_STATUS:\n statusString = t(\"REJECTED\");\n badgeString = \"badge badge-danger\";\n break;\n default:\n statusString = t(\"EXPIRED\");\n badgeString = \"badge badge-secondary\";\n break;\n }\n\n return {statusString}\n }\n\n /// \n /// Author: Wind\n /// \n const submitForm = async (data, e) => {\n let filterStatus = \"\";\n if (data.status != CommonStatus._ALL_STATUS) {\n filterStatus = \"&Status=\" + data.status\n }\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOP_LOGIN_REQUEST + \"?StartDate=\" + data.startDate +\n \"&EndDate=\" + data.endDate + filterStatus);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setLoginRequest(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return (\n
    \n

    {t('MANAGE_SHOP_LOGIN')}

    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n );\n}\n\nexport default ManageShopLogin;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, CommonStatus, TransactionTypeId, AlertTypes } from \"../../../util/Constant\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport DateTime from 'react-datetime';\nimport Select from 'react-select';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { showResponseMessage, showMessage } from 'redux/AppAction';\nimport moment from 'moment';\nimport { numberWithCurrencyFormat, stringIsNullOrEmpty } from '../../../util/Util';\n\n/// \n/// Author : YJ\n/// \nconst ManageAppealTransaction = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n const { register, handleSubmit, watch, setValue } = useForm();\n const [appealTransactionUrl, setAppealTransactionUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [status, setStatus] = useState(CommonStatus._PENDING_STATUS);\n var _dispatch = useDispatch();\n const _STATUS_OPTION = [\n { label: t(\"PENDING\"), value: CommonStatus._PENDING_STATUS },\n { label: t(\"APPROVED\"), value: CommonStatus._APPROVE_STATUS },\n { label: t(\"REJECTED\"), value: CommonStatus._REJECT_STATUS }\n ]\n\n let _tableColumns = useMemo(() => [\n {\n Header: \"DATE\",\n accessor: \"updatedTime\",\n disableSortBy: true\n },\n {\n Header: \"MEMBER_USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n accessor: \"transactionTypeId\",\n Cell: ({ row }) => {\n let transactionTypeString = \"\";\n\n switch (row.original.transactionTypeId) {\n case TransactionTypeId._SET_SCORE:\n transactionTypeString = t(\"SCORE\");\n break;\n case TransactionTypeId._WALLET_TRANSFER:\n transactionTypeString = t(\"WALLET\");\n break;\n default:\n transactionTypeString = \"INVALID\";\n break;\n }\n\n return {transactionTypeString}\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_USERNAME\",\n accessor: \"playerUsername\",\n Cell: ({ row }) => {\n return {!stringIsNullOrEmpty(row.original.playerUsername) ? row.original.playerUsername : \"-\"}\n },\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return {numberWithCurrencyFormat(row.original.amount)}\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n let className = \"secondary\";\n let text = \"PENDING\"\n if (row.original.status == CommonStatus._APPROVE_STATUS)\n {\n className = \"success\";\n text = \"APPROVED\";\n }\n else if(row.original.status == CommonStatus._REJECT_STATUS)\n {\n className = \"danger\";\n text = \"REJECTED\";\n }\n else \n {\n className = \"secondary\";\n text = \"PENDING\";\n }\n return {t(text)}\n },\n disableSortBy: true\n },\n {\n Header: \"APPROVED_BY\",\n accessor: \"approvedByUsername\",\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (checkIfPermissionExist(AccessRight._APPEAL_TRANSACTION_CONTROL_PERMISSION, true) && row.original.status == CommonStatus._PENDING_STATUS) &&
    \n \n \n \n { \n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_APPROVE_THIS_TRANSACTION\"),\n showCancel: true,\n onConfirm: () => processAppealTransaction(row.original.id, CommonStatus._APPROVE_STATUS)\n }));\n }}>{t(\"APPROVE\")}\n { \n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_REJECT_THIS_TRANSACTION\"),\n showCancel: true,\n onConfirm: () => processAppealTransaction(row.original.id, CommonStatus._REJECT_STATUS)\n }));\n }}>{t(\"REJECT\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ], [appealTransactionUrl]);\n\n /// \n /// Author : YJ\n /// \n async function processAppealTransaction(transactionId, status) {\n try {\n let responseJson = await ApiEngine.post(ApiUrl._API_PROCESS_APPEAL_TRANSACTION + \"?transactionId=\" + transactionId + \"&status=\" + status);\n \n if (responseJson[ApiKey._API_SUCCESS_KEY])\n {\n handleSubmit(submitForm)();\n }\n \n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n catch(err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n var rawUrl = ApiUrl._API_GET_APPEAL_TRANSACTION + \"?v=\" + Date.now();\n\n rawUrl += \"&StartDate=\" + startDate + \"&EndDate=\" + endDate + \"&Status=\" + status + \"&Username=\" + data.username;\n\n setAppealTransactionUrl(rawUrl);\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_APPEAL_TRANSACTION\")}

    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {PaginationTable}\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n

    {bonusForm.id > 0 ? t('EDIT_BONUS', { name: bonusForm.name }) : t('ADD_NEW_BONUS')}

    \n
    \n \n
    \n
    \n
    \n \n \n {errorsBonusForm.name &&
    {t(errorsBonusForm.name.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errorsBonusForm.amount &&
    {t(errorsBonusForm.amount.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errorsBonusForm.rate &&
    {t(errorsBonusForm.rate.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errorsBonusForm.minimumThreshold &&
    {t(errorsBonusForm.minimumThreshold.message)}
    }\n
    \n
    \n
    \n
    \n \n \n {errorsBonusForm.limitCount &&
    {t(errorsBonusForm.limitCount.message)}
    }\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n updateImage(acceptedFiles)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(bannerImage) &&

    {t(\"UPLOAD_BANNER\")}

    }\n {!stringIsNullOrEmpty(bannerImage) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n {\n bonusForm.id > 0 &&\n
    \n
    \n
    \n {t('PLEASE_NOTE_THAT_EDITING_BONUS_WILL_CAUSED_CURRENT_USER_WHO_HAVING_THIS_BONUS')}\n
    \n
    \n
    \n }\n
    \n \n \n \n \n
    \n
    \n {\n if (attachedShops) {\n onSubmitAttachShop(attachedShops);\n }\n else {\n setSelectedBonus({});\n }\n }} />\n \n )\n}\n\nexport default ManageBonus;","import React, { useEffect, useState, useRef, useMemo } from 'react';\nimport DualListBox from 'react-dual-listbox';\nimport DualListBoxItemRow from './DualListBoxItemRow';\n\n/// \n/// Author : YJ\n/// \nconst RegionFilterDualListBox = props => {\n const [selectedRegions, setSelectedRegions] = useState([]);\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n if (selectedRegions.length > 0) {\n var currentOptions = [].concat.apply([], props.options.filter(x => selectedRegions.some(region => region == x.value)).map(option => option.options));\n\n props.onChange(props.selectedOptions.filter(option => currentOptions.some(currentOption => currentOption.value == option)));\n }\n }, [selectedRegions]);\n\n return (\n <>\n
    \n {\n (props.regions ?? []).map((region, index) => {\n return (\n
    \n
    \n selectedRegion == region.value).length}\n value={region.value}\n onChange={(e) => {\n if (selectedRegions.filter(selectedRegion => selectedRegion == e.target.value).length) {\n setSelectedRegions(selectedRegions.filter(selectedRegion => selectedRegion != e.target.value));\n }\n else {\n setSelectedRegions([...selectedRegions, e.target.value]);\n }\n }} />\n \n
    \n
    \n );\n })\n }\n
    \n selectedRegions.some(region => region == x.value))} selected={props.selectedOptions} />\n selectedRegions.some(region => region == x.value))}\n selected={props.selectedOptions}\n onChange={(e) => {\n props.onChange(e);\n }}\n />\n \n )\n}\n\nexport default RegionFilterDualListBox;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport { Panel, PanelBody } from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, Role, AlertTypes, ReportType } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, getValidationMessage, arrayGroupByKey } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, ButtonGroup, Button } from 'reactstrap';\nimport RegionFilterDualListBox from \"../../../components/custom/RegionFilterDualListBox\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst SetLimitReport = props => {\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [postData, setPostData] = useState({});\n const [reportRole, setReportRole] = useState(ReportType._SHOP);\n const _userData = useSelector(state => state.authState.userData);\n const [regions, setRegions] = useState([]);\n var _dispatch = useDispatch();\n\n const _TYPE_OPTION = {\n ALL: -1,\n IN: 0,\n OUT: 1,\n };\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"DATE\",\n accessor: \"date\",\n disableSortBy: true,\n Footer: () => {\n return {t('TOTAL')}: \n },\n },\n {\n Header: reportRole == ReportType._SHOP ? \"SHOP\" : \"AGENT\",\n accessor: \"shopUser\",\n disableSortBy: true\n },\n {\n Header: \"INITIAL_LIMIT\",\n accessor: \"preLimit\",\n Cell: ({ row }) => {\n return row.original.preLimit.toFixed(2)\n },\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount.toFixed(2)} : {row.original.amount.toFixed(2)};\n },\n disableSortBy: true,\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"FINAL_LIMIT\",\n accessor: \"postLimit\",\n Cell: ({ row }) => {\n return row.original.postLimit.toFixed(2)\n },\n disableSortBy: true\n },\n {\n Header: \"MODIFIED_BY\",\n accessor: \"modifiedUser\",\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n accessor: \"type\",\n disableSortBy: true\n },\n {\n Header: \"REMARK\",\n accessor: \"remark\",\n disableSortBy: true\n },\n {\n Header: t(\"ACTION\"),\n Cell: ({ row }) => (\n _userData.isAdminLevel &&\n
    \n \n \n \n { onEditStatusConfirmation(row.original.id) }}>{t(\"DELETE\")}\n \n \n
    \n ),\n disableFilters: true,\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author: Wind\n /// \n function onEditStatusConfirmation(rowId) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t('ARE_YOU_SURE'),\n showCancel: true,\n content: t('PLEASE_CONFIRM_INVALID_SET_LIMIT'),\n onConfirm: () => { onEditStatus(rowId) }\n }));\n }\n\n /// \n /// Author: Wind\n /// \n async function onEditStatus(rowId) {\n var responseJson = await ApiEngine.post(ApiUrl._API_DISABLE_SET_LIMIT_DATA + \"?rowId=\" + rowId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'shops' });\n register({ name: 'endDate' }, { required: true });\n\n setValue('shops', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n }, []);\n\n /// \n /// Author : A\n /// \n useEffect(() => {\n init();\n }, [reportRole]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n if (reportRole == ReportType._SHOP) {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n } else {\n var apiUrl = ApiUrl._API_GET_AGENT_LIST;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n regionOptions.push({ label: key, value: key });\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + (shop.shopName ? \" (\" + shop.shopName + \")\" : \"\"), value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n setRegions(regionOptions);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"TargetShop\": data.shops,\n \"Type\": parseInt(data.type),\n \"ReportRoleId\": parseInt(reportRole)\n };\n\n if (!stringIsNullOrEmpty(data.name)) {\n params[\"CreatedByUser\"] = data.name;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_SET_SCORE_LIMIT_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n

    \n {t(\"SET_LIMIT_REPORT\")}\n \n {\n Object.keys(ReportType).filter(i => ReportType[i] != ReportType._ALL).map((key) =>\n setReportRole(ReportType[key])}\n >\n {t(key.replace(\"_\", \"\"))}\n \n )\n }\n \n

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n setValue('shops', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default SetLimitReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport moment from 'moment';\nimport { Panel, PanelBody } from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, ButtonGroup, Button } from 'reactstrap';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { setBusy, setIdle, showResponseMessage } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, Status, AlertTypes, TransactionType, ReportType } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport RegionFilterDualListBox from \"../../../components/custom/RegionFilterDualListBox\";\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : CK\n/// \nconst SetScoreReport = props => {\n let _dispatch = useDispatch();\n let { search } = useLocation();\n const _query = new URLSearchParams(search);\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [shopOption, setShopOption] = useState([]);\n const [selectedOperatedBy, setSelectedOperatatedBy] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [reportRole, setReportRole] = useState(ReportType._SHOP);\n const [isFirstLoad, setIsFirstLoad] = useState(true);\n const [regions, setRegions] = useState([]);\n\n const _TYPE_OPTION = {\n ALL: -1,\n IN: 0,\n OUT: 1,\n };\n\n const _TRANSACTION_TYPE_ID = {\n BONUS: 1,\n REWARD: 2,\n SET_LIMIT: 3,\n SET_SCORE: 4,\n WALLET: 5,\n SEAMLESS_SET_CREDIT: 10,\n ONLINE_WITHDRAWAL: 11,\n PASSWORD_RESET: 15,\n SHOP_EGHL_LIMIT: 15,\n };\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"DATE\",\n accessor: \"createdTime\",\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true,\n },\n {\n Header: \"OPERATED_BY\",\n accessor: \"operatedBy\",\n disableSortBy: true,\n },\n {\n Header: reportRole == ReportType._SHOP ? \"OPERATED_SHOP\" : \"AGENT\",\n accessor: \"operatedShop\",\n disableSortBy: true,\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return stringIsNullOrEmpty(value) ? \"-\" : value;\n }\n },\n {\n Header: \"PLAYER_ID\",\n accessor: \"playerId\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return stringIsNullOrEmpty(value) ? \"-\" : value;\n }\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendor\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return stringIsNullOrEmpty(value) ? \"-\" : value;\n }\n },\n {\n Header: \"TRANSACTION_TYPE\",\n accessor: \"transactionType\",\n Cell: ({ row }) => {\n return renderTransactionType(row.original.transactionType);\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"SUCCESS\")} : {t(\"FAILED\")};\n },\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n accessor: \"type\",\n disableSortBy: true\n },\n {\n Header: \"INITIAL_LIMIT\",\n accessor: \"shopInitialLimit\",\n Cell: ({ row }) => {\n return row.original.shopInitialLimit.toFixed(2)\n },\n Footer: ({ page }) => {\n const initialLimitTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopInitialLimit);\n }, 0);\n\n return {initialLimitTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"SCORE\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount.toFixed(2)} : {row.original.amount.toFixed(2)};\n },\n Footer: ({ page }) => {\n const scoreTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {scoreTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"FINAL_LIMIT\",\n accessor: \"shopFinalLimit\",\n Cell: ({ row }) => {\n return row.original.shopFinalLimit.toFixed(2)\n },\n Footer: ({ page }) => {\n const finalLimitTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopFinalLimit);\n }, 0);\n\n return {finalLimitTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_INITIAL_LIMIT\",\n accessor: \"playerInitialCredit\",\n Cell: ({ row }) => {\n return row.original.playerInitialCredit.toFixed(2)\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_FINAL_LIMIT\",\n accessor: \"playerFinalCredit\",\n Cell: ({ row }) => {\n return row.original.playerFinalCredit.toFixed(2)\n },\n disableSortBy: true\n },\n {\n Header: \"IP_ADDRESS\",\n accessor: \"ipAddress\",\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n
    \n \n \n \n {\n _dispatch(showResponseMessage(true, row.original.remark));\n }}>{t(\"VIEW_REMARK\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'operatedBy' });\n register({ name: 'operatedShop' });\n register({ name: 'vendor' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('operatedBy', []);\n setValue('operatedShop', []);\n setValue('vendor', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author : A\n /// \n useEffect(() => {\n (async () => {\n await getOperatedBy();\n\n // do not load report on first load\n if (!isFirstLoad) {\n handleSubmit(submitForm)();\n }\n })();\n }, [reportRole]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function renderTransactionType(transactionType) {\n let transactionTypeString = \"\";\n\n switch (transactionType) {\n case TransactionType._BONUS_CLAIM:\n transactionTypeString = t(\"BONUS\");\n break;\n case TransactionType._REWARD_CLAIM:\n transactionTypeString = t(\"REWARD\");\n break;\n case TransactionType._SET_LIMIT:\n transactionTypeString = t(\"LIMIT\");\n break;\n case TransactionType._SET_SCORE:\n transactionTypeString = t(\"RELOAD\");\n break;\n case TransactionType._WALLET_TRANSFER:\n transactionTypeString = t(\"CREDIT\");\n break;\n case TransactionType._SEAMLESS_SET_CREDIT:\n transactionTypeString = t(\"SEAMLESS_SET_CREDIT\");\n break;\n case TransactionType._ONLINE_WITHDRAWAL:\n transactionTypeString = t(\"ONLINE_WITHDRAWAL\");\n break;\n case TransactionType._PASSWORD_RESET:\n transactionTypeString = t(\"PASSWORD_RESET\");\n break;\n case TransactionType._SHOP_EGHL_LIMIT: \n transactionTypeString = t(\"EGHL_LIMIT\");\n break;\n }\n\n return {transactionTypeString}\n }\n\n /// \n /// Author : CK\n /// \n async function init() {\n _dispatch(setBusy());\n await getVendorOption();\n _dispatch(setIdle());\n\n if (!stringIsNullOrEmpty(_query.get('username'))) {\n setValue('phoneNumber', _query.get('username'));\n setValue('startDate', _query.get('startDate') + \" 00:00:00\");\n setValue('endDate', _query.get('endDate') + \" 23:59:59\");\n setStartDate(_query.get('startDate') + \" 00:00:00\");\n setEndDate(_query.get('endDate') + \" 23:59:59\");\n handleSubmit(submitForm)();\n }\n }\n\n /// \n /// Author : CK\n /// \n async function getOperatedBy() {\n if (reportRole == ReportType._SHOP) {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n } else {\n var apiUrl = ApiUrl._API_GET_AGENT_LIST;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n regionOptions.push({ label: key, value: key });\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + (shop.shopName ? \" (\" + shop.shopName + \")\" : \"\"), value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n setRegions(regionOptions);\n setIsFirstLoad(false);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function getVendorOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"OperatedBy\": data.operatedBy,\n \"TargetShop\": data.operatedShop,\n \"Vendor\": data.vendor,\n \"Type\": parseInt(data.type),\n \"Status\": parseInt(data.status),\n \"TransactionType\": parseInt(data.transactionType),\n \"ReportRoleId\": parseInt(reportRole)\n };\n\n if (!stringIsNullOrEmpty(data.phoneNumber)) {\n params[\"PhoneNumber\"] = data.phoneNumber;\n }\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_SET_SCORE_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData, reportRole])\n\n return (\n
    \n

    \n {t(\"SET_SCORE_REPORT\")}\n \n {\n Object.keys(ReportType).filter(i => ReportType[i] != ReportType._ALL).map((key) =>\n setReportRole(ReportType[key])}\n >\n {t(key.replace(\"_\", \"\"))}\n \n )\n }\n \n

    \n \n \n
    \n
    \n
    \n
    \n \n {\n setValue('operatedBy', e);\n setSelectedOperatatedBy(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n {\n setValue('operatedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendor', e);\n setSelectedVendor(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default SetScoreReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage, numberWithCurrencyFormat } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// Modified: Dorset, Added 3 more fields for the sales report: Total In, Total Out, TotalInOut\n/// \nconst SalesReport = props => {\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [regionOption, setRegionOption] = useState([]);\n const [selectedRegions, setSelectedRegions] = useState([])\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [shopAvailableList, setShopAvailableList] = useState([]);\n const [postData, setPostData] = useState({});\n\n let _tableColumns = [\n {\n Header: \"SHOP_USERNAME\",\n accessor: \"shopUsername\",\n disableSortBy: true\n },\n {\n Header: \"SHOP_NAME\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"SET_SCORE_IN\",\n accessor: \"setScoreIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.setScoreIn)\n },\n disableSortBy: true\n },\n {\n Header: \"SET_SCORE_OUT\",\n accessor: \"setScoreOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.setScoreOut)\n },\n disableSortBy: true\n },\n {\n Header: \"NET_SET_SCORE\",\n accessor: \"netSetScore\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.netSetScore)\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_IN_COUNT\",\n accessor: \"totalScoreIn\",\n Cell: ({ row }) => {\n return row.original.totalScoreIn\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_OUT_COUNT\",\n accessor: \"totalScoreOut\",\n Cell: ({ row }) => {\n return row.original.totalScoreOut\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL\",\n accessor: \"netScoreInOut\",\n Cell: ({ row }) => {\n return row.original.netScoreInOut\n },\n disableSortBy: true\n },\n {\n Header: \"USER_SET_SCORE_IN\",\n accessor: \"userSetScoreIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.userSetScoreIn)\n },\n disableSortBy: true\n },\n {\n Header: \"USER_SET_SCORE_OUT\",\n accessor: \"userSetScoreOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.userSetScoreOut)\n },\n disableSortBy: true\n },\n {\n Header: \"USER_NET_SET_SCORE\",\n accessor: \"userNetSetScore\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.userNetSetScore)\n },\n disableSortBy: true\n },\n {\n Header: \"NET_SCORE\",\n accessor: \"netScore\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.userNetSetScore + row.original.netSetScore)\n },\n disableSortBy: true\n },\n {\n Header: \"WALLET_IN\",\n accessor: \"walletIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.walletIn)\n },\n disableSortBy: true\n },\n {\n Header: \"WALLET_OUT\",\n accessor: \"walletOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.walletOut)\n },\n disableSortBy: true\n },\n {\n Header: \"WALLET_TOTAL_IN_COUNT\",\n accessor: \"totalWalletIn\",\n Cell: ({ row }) => {\n return row.original.totalWalletIn\n },\n disableSortBy: true\n },\n {\n Header: \"WALLET_TOTAL_OUT_COUNT\",\n accessor: \"totalWalletOut\",\n Cell: ({ row }) => {\n return row.original.totalWalletOut\n },\n disableSortBy: true\n },\n {\n Header: \"WALLET_TOTAL\",\n accessor: \"netWalletInOut\",\n Cell: ({ row }) => {\n return row.original.netWalletInOut\n },\n disableSortBy: true\n },\n {\n Header: \"GPAY_WALLET_IN\",\n accessor: \"gpayWalletIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.gpayWalletIn)\n },\n disableSortBy: true\n },\n {\n Header: \"NET_WALLET\",\n accessor: \"netWallet\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.netWallet)\n },\n disableSortBy: true\n },\n {\n Header: \"FREE_SPIN_WIN_TOTAL\",\n accessor: \"freeSpinWinTotal\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.freeSpinWinTotal)\n },\n disableSortBy: true\n },\n {\n Header: \"WINLOSE_REWARD\",\n accessor: \"winLoseRewardGranted\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.winLoseRewardGranted)\n },\n disableSortBy: true\n },\n {\n Header: \"REWARD_CLAIMED\",\n accessor: \"rewardClaimed\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.rewardClaimed)\n },\n disableSortBy: true\n },\n {\n Header: \"EGHL_SERVICE\",\n accessor: \"eghlService\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.eghlService)\n },\n disableSortBy: true\n },\n {\n Header: \"ONLINE_WITHDRAWAL\",\n accessor: \"onlineWithdrawal\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.onlineWithdrawal)\n },\n disableSortBy: true\n },\n {\n Header: \"LIMIT_IN\",\n accessor: \"limitIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.limitIn)\n },\n disableSortBy: true\n },\n {\n Header: \"LIMIT_OUT\",\n accessor: \"limitOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.limitOut)\n },\n disableSortBy: true\n },\n {\n Header: \"NET_LIMIT\",\n accessor: \"netLimit\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.netLimit)\n },\n disableSortBy: true\n },\n ]\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'shops' });\n register({ name: 'endDate' }, { required: true });\n\n setValue('shops', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION)\n\n var regionList = [];\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n setRegionOption(regionList);\n }\n\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n\n responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let shopOptionsByRegion = [];\n regionList.map(region => {\n let shopsByRegion = responseJson[ApiKey._API_DATA_KEY].filter(shop => shop.regionId == region.value);\n\n if (shopsByRegion.length) {\n let options = [];\n\n shopsByRegion.map(shop => {\n options.push({\n label: shop.username + \" (\" + shop.shopName+\")\",\n value: shop.id,\n regionId: shop.regionId\n });\n });\n\n shopOptionsByRegion.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n })\n\n setShopOption(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function onSelectedRegionChange(e) {\n if (selectedRegions.filter(selectedRegion => selectedRegion == e.target.value).length) {\n setSelectedRegions(selectedRegions.filter(selectedRegion => selectedRegion != e.target.value));\n }\n else {\n setSelectedRegions([...selectedRegions, e.target.value]);\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n useEffect(() => {\n if (shopOption.length) {\n let tempShopAvailableList = [];\n selectedRegions.map(selectedRegion => {\n let filteredShops = shopOption.filter(shopOption => shopOption.value == selectedRegion);\n\n if (filteredShops.length && filteredShops[0].options.length) {\n filteredShops[0].options.map(filteredShop => {\n tempShopAvailableList.push(filteredShop.value);\n })\n }\n })\n\n setShopAvailableList(tempShopAvailableList);\n }\n }, [selectedRegions, shopOption]);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n setPostData({\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"TargetShop\": data.shops,\n });\n\n setApiUrl(ApiUrl._API_GET_SALES_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl])\n\n return (\n
    \n

    {t(\"SALES_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n
    \n {\n regionOption.map((region, index) => {\n return (\n
    \n selectedRegion == region.value).length}\n value={region.value}\n ref={register}\n onChange={onSelectedRegionChange} />\n \n
    \n );\n })\n }\n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n setValue('shops', e);\n setSelectedShop(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n}\n\nexport default SalesReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledButtonDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from 'reactstrap';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, arrayGroupByKey } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// Editted: CK - Table returning column changes\n/// \nconst RewardReport = props => {\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [summaryApiUrl, setSummaryApiUrl] = useState('');\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [detailData, setDetailData] = useState([]);\n const [showSummary, setShowSummary] = useState(false);\n const [showDetail, setShowDetail] = useState(false);\n const [phone, setPhone] = useState('');\n const [startDate, setStartDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [postData, setPostData] = useState({});\n const [summaryPostData, setSummaryPostData] = useState({});\n const [recordDateSummary, setRecordDateSummary] = useState([]);\n const [showRecordDateSummary, setShowRecordDateSummary] = useState(false);\n\n let _summaryTableColumns = [\n {\n Header: \"DATE\",\n accessor: \"date\",\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount} : {row.original.amount};\n },\n disableSortBy: true\n }\n ]\n\n let _detailTableColumns = [\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"ACCUMULATED_REWARD\",\n accessor: \"accumulatedReward\",\n disableSortBy: true\n },\n {\n Header: \"TOTAL_LOSE\",\n accessor: \"loseAmount\",\n Cell: ({ row }) => {\n return {row.original.loseAmount};\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_WIN\",\n accessor: \"winAmount\",\n Cell: ({ row }) => {\n return {row.original.winAmount};\n },\n disableSortBy: true\n },\n ]\n\n let _tableColumns = [\n {\n Header: \"PROCESS_DATE\",\n accessor: \"processDate\",\n Cell: ({ row }) => {\n return moment(row.original.processDate, 'MM/DD/YYYY HH:mm:ss').format('MM/DD/YYYY');\n },\n disableSortBy: true\n },\n {\n Header: \"RECORD_DATE\",\n accessor: \"recordDate\",\n Cell: ({ row }) => {\n return moment(row.original.recordDate, 'MM/DD/YYYY HH:mm:ss').format('MM/DD/YYYY');\n },\n disableSortBy: true\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"REGION\",\n accessor: \"region\",\n disableSortBy: true\n },\n {\n Header: \"REWARD\",\n accessor: \"reward\",\n Cell: ({ row }) => {\n return row.original.reward > 0 ? {row.original.reward} : {row.original.reward};\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_LOSE\",\n accessor: \"loseAmount\",\n Cell: ({ row }) => {\n return {row.original.loseAmount};\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_WIN\",\n accessor: \"winAmount\",\n Cell: ({ row }) => {\n return {row.original.winAmount};\n },\n disableSortBy: true\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n
    \n \n \n \n \n \n {\n readRewardDetail(row.original.userId);\n }}>\n {t(\"VIEW_DETAIL\")}\n \n \n \n
    \n ),\n },\n ]\n\n let _recordDateSummaryTableColumns = [\n {\n Header: \"PROCESS_DATE\",\n accessor: \"processDate\",\n Cell: ({ row }) => {\n return moment(row.original.processDate, 'MM/DD/YYYY HH:mm:ss').format('MM/DD/YYYY');\n },\n disableSortBy: true\n },\n {\n Header: \"RECORD_DATE\",\n accessor: \"recordDate\",\n Cell: ({ row }) => {\n return moment(row.original.recordDate, 'MM/DD/YYYY HH:mm:ss').format('MM/DD/YYYY');\n },\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true\n },\n {\n Header: \"REWARD\",\n accessor: \"reward\",\n Cell: ({ row }) => {\n return {row.original.reward};\n },\n Footer: ({ page }) => {\n const rewardTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.reward);\n }, 0);\n\n return {rewardTotal.toFixed(6)}\n },\n disableSortBy: true\n }\n ]\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function readRewardDetail(memberId) {\n var data = {\n \"StartDate\": startDate + \" 00:00:00\",\n \"EndDate\": endDate + \" 23:59:59\",\n \"TargetMemberId\": memberId,\n };\n var responseJson = await ApiEngine.post(ApiUrl._API_GET_REWARD_DETAIL_REPORT, data);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShowDetail(true);\n setDetailData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function filterRewardReport(isSummary) {\n var data = {\n \"Phone\": phone,\n \"StartDate\": startDate + \" 00:00:00\",\n \"EndDate\": endDate + \" 23:59:59\",\n \"TargetShop\": selectedShop,\n };\n\n if (isSummary) {\n setSummaryPostData(data);\n\n setSummaryApiUrl(ApiUrl._API_GET_REWARD_SUMMARY_REPORT);\n }\n else {\n setPostData(data);\n\n setApiUrl(ApiUrl._API_GET_REWARD_REPORT);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function getRecordDateSummary() {\n var data = {\n \"Phone\": phone,\n \"StartDate\": startDate + \" 00:00:00\",\n \"EndDate\": endDate + \" 23:59:59\",\n \"TargetShop\": selectedShop,\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_GET_REWARD_RECORD_DATE_REPORT, data);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShowRecordDateSummary(true);\n setRecordDateSummary(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl])\n\n return (\n
    \n

    {t(\"REWARD_REPORT\")}

    \n \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n }\n else {\n setStartDate(\"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n }\n else {\n setEndDate(\"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n setPhone(e.target.value)} />\n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n {PaginationTable}\n
    \n
    \n
    \n
    \n
    \n setShowDetail(false)} style={{ paddingBottom: \"100px\" }} className=\"modal-lg\" keyboard={true} >\n setShowDetail(false)}>{t(\"REWARD_DETAIL\")}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n setShowSummary(false)} style={{ paddingBottom: \"100px\" }} className=\"modal-lg\" keyboard={true} >\n setShowSummary(false)}>{t(\"SUMMARY\")}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n setShowRecordDateSummary(false)} style={{ paddingBottom: \"100px\" }} className=\"modal-lg\" keyboard={true} >\n setShowRecordDateSummary(false)}>{t(\"RECORD_DATE_SUMMARY\")}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default RewardReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { setBusy, setIdle } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, Status } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport RegionFilterDualListBox from \"../../../components/custom/RegionFilterDualListBox\";\n\n/// \n/// Author : CK\n/// \nconst ClaimRewardReport = props => {\n let _dispatch = useDispatch();\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regions, setRegions] = useState([]);\n\n const _TYPE_OPTION = {\n ALL: -1,\n IN: 0,\n OUT: 1,\n };\n\n let _tableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"createdTime\",\n disableSortBy: true\n },\n {\n Header: t(\"OPERATED_SHOP\"),\n accessor: \"operatedShop\",\n disableSortBy: true\n },\n {\n Header: t(\"PHONE_NUMBER\"),\n accessor: \"phoneNumber\",\n disableSortBy: true\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"SUCCESS\")} : {t(\"FAILED\")};\n },\n disableSortBy: true\n },\n {\n Header: t(\"TYPE\"),\n accessor: \"type\",\n disableSortBy: true\n },\n {\n Header: t(\"INITIAL_LIMIT\"),\n accessor: \"shopInitialLimit\",\n Cell: ({ row }) => {\n return row.original.shopInitialLimit.toFixed(2)\n },\n Footer: ({ page }) => {\n const initialLimitTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopInitialLimit);\n }, 0);\n\n return {initialLimitTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: t(\"SCORE\"),\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount.toFixed(2)} : {row.original.amount.toFixed(2)};\n },\n Footer: ({ page }) => {\n const scoreTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {scoreTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: t(\"FINAL_LIMIT\"),\n accessor: \"shopFinalLimit\",\n Cell: ({ row }) => {\n return row.original.shopFinalLimit.toFixed(2)\n },\n Footer: ({ page }) => {\n const finalLimitTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopFinalLimit);\n }, 0);\n\n return {finalLimitTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: t(\"PLAYER_INITIAL_LIMIT\"),\n accessor: \"playerInitialCredit\",\n Cell: ({ row }) => {\n return row.original.playerInitialCredit.toFixed(2)\n },\n disableSortBy: true\n },\n {\n Header: t(\"PLAYER_FINAL_LIMIT\"),\n accessor: \"playerFinalCredit\",\n Cell: ({ row }) => {\n return row.original.playerFinalCredit.toFixed(2)\n },\n disableSortBy: true\n },\n {\n Header: t(\"IP_ADDRESS\"),\n accessor: \"ipAddress\",\n disableSortBy: true\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'operatedShop' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('operatedShop', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n async function init() {\n await getShopOption();\n }\n\n /// \n /// Author : CK\n /// \n async function getShopOption() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n regionOptions.push({ label: key, value: key });\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n \n setShopOption(shopOptionsByRegion);\n setRegions(regionOptions);\n }\n }\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"TargetShop\": data.operatedShop,\n \"Type\": _TYPE_OPTION.ALL,\n \"Status\": parseInt(data.status)\n };\n\n if (!stringIsNullOrEmpty(data.phoneNumber)) {\n params[\"PhoneNumber\"] = data.phoneNumber;\n }\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_CLAIM_REWARD_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl]);\n\n return (\n
    \n

    {t(\"CLAIM_REWARD_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n setValue('operatedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default ClaimRewardReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, _SYSTEM_SUPPORT_ROLE_NAME, Role, ReportType } from \"../../../util/Constant\";\nimport { numberWithCurrencyFormat, getValidationMessage } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showResponseMessage } from '../../../redux/AppAction';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Wind\n/// \nconst ManagerLimitReport = props => {\n let _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [regionOption, setRegionOption] = useState([]);\n const [selectedRegion, setSelectedRegion] = useState([]);\n const [defaultManagerOption, setDefaultManagerOption] = useState([]);\n const [managerOption, setManagerOption] = useState([]);\n const [selectedManager, setSelectedManager] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [postData, setPostData] = useState({});\n const [csData, setCsData] = useState([]);\n var _userData = useSelector(state => state.authState.userData);\n\n let _tableColumns = [\n {\n Header: \"MANAGER_USERNAME\",\n accessor: \"userId\",\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_LIMIT_IN\",\n accessor: \"totalLimitIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.totalLimitIn)\n },\n Footer: ({ page }) => {\n const totalLimitIn = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalLimitIn);\n }, 0);\n\n return {numberWithCurrencyFormat(totalLimitIn)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_LIMIT_OUT\",\n accessor: \"totalLimitOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.totalLimitOut)\n },\n Footer: ({ page }) => {\n const totalLimitOut = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalLimitOut);\n }, 0);\n\n return {numberWithCurrencyFormat(totalLimitOut)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_EGHL_LIMIT_IN\",\n accessor: \"totalEghlLimitIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.totalEghlLimitIn)\n },\n Footer: ({ page }) => {\n const totalLimitIn = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalEghlLimitIn);\n }, 0);\n\n return {numberWithCurrencyFormat(totalLimitIn)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_EGHL_LIMIT_OUT\",\n accessor: \"totalEghlLimitOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.totalEghlLimitOut)\n },\n Footer: ({ page }) => {\n const totalLimitOut = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalEghlLimitOut);\n }, 0);\n\n return {numberWithCurrencyFormat(totalLimitOut)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL\",\n accessor: \"total\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.total)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.total);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n }\n ]\n\n let _csColumns = [\n {\n Header: \"OPERATED_BY\",\n accessor: \"operator\",\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n accessor: \"shop\",\n disableSortBy: true\n },\n {\n Header: \"SHOP_LIMIT_IN\",\n accessor: \"shopLimitIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.shopLimitIn)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopLimitIn);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"SHOP_LIMIT_OUT\",\n accessor: \"shopLimitOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.shopLimitOut)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopLimitOut);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"SHOP_EGHL_LIMIT_IN\",\n accessor: \"shopEghlLimitIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.shopEghlLimitIn)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopEghlLimitIn);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"SHOP_EGHL_LIMIT_OUT\",\n accessor: \"shopEghlLimitOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.shopEghlLimitOut)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopEghlLimitOut);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_STRIKE\",\n accessor: \"playerStrike\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.playerStrike)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.playerStrike);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_SCORE_IN\",\n accessor: \"playerScoreIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.playerScoreIn)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.playerScoreIn);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_SCORE_OUT\",\n accessor: \"playerScoreOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.playerScoreOut)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.playerScoreOut);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"MEMBER_WALLET_IN\",\n accessor: \"memberWalletIn\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.memberWalletIn)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.memberWalletIn);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"MEMBER_WALLET_OUT\",\n accessor: \"memberWalletOut\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.memberWalletOut)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.memberWalletOut);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL\",\n accessor: \"total\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.total)\n },\n Footer: ({ page }) => {\n const total = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.total);\n }, 0);\n\n return {numberWithCurrencyFormat(total)}\n },\n disableSortBy: true\n }\n ]\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'manager' });\n register({ name: 'endDate' }, { required: true });\n\n setValue('manager', []);\n setValue('startDate', startDate);\n setValue('endDate', endDate);\n init();\n }, []);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n var filteredManagerOptions = defaultManagerOption.filter(manager => selectedRegion.includes(manager.regionId));\n\n var filterSelectedManager = selectedManager.filter(manager => {\n var managerDetail = defaultManagerOption.find(managerOptions => manager == managerOptions.value);\n if (selectedRegion.includes(managerDetail.regionId)) {\n return manager;\n }\n });\n\n setManagerOption(filteredManagerOptions);\n setSelectedManager(filterSelectedManager);\n setValue('manager', filterSelectedManager);\n }, [selectedRegion]);\n\n /// \n /// Author : Wind\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.prefix, value: region.id });\n });\n\n setRegionOption(regionList);\n }\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._MANAGER);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var managerOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n managerOptionList.push({ label: user.username, value: user.id, regionId: user.regionId });\n });\n\n setDefaultManagerOption(managerOptionList);\n }\n }\n\n /// \n /// Author : Wind\n /// \n const submitForm = async (data, e) => {\n try {\n setPostData({\n \"TargetManager\": data.manager,\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"ReportRoleId\": parseInt(data.reportType)\n });\n \n setApiUrl(ApiUrl._API_GET_MANAGER_LIMIT_REPORT);\n\n if (_userData.userRoleId == Role._SUPER_ADMIN) {\n let responseJson = await ApiEngine.post(ApiUrl._API_GET_CS_USED_LIMIT, {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"RoleName\": _SYSTEM_SUPPORT_ROLE_NAME\n });\n \n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n \n setCsData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n catch (err) {\n _dispatch(showResponseMessage(false, t(err)));\n }\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n

    {t('MANAGER_LIMIT_REPORT')}

    \n \n \n
    \n
    \n
    \n
    \n \n \n {\n setSelectedRegion(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('manager', e);\n setSelectedManager(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n {_userData.userRoleId == Role._SUPER_ADMIN && \n {t(\"CS_USED_LIMIT\")}\n \n \n \n }\n
    \n );\n};\n\nexport default ManagerLimitReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, getValidationMessage } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author: Chris\n/// \nconst KioskTimeoutReport = () => {\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [shopOption, setShopOption] = useState([]);\n const [vendorOption, setVendorOption] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [selectedOperatedShop, setSelectedOperatedShop] = useState([]);\n const [selectedPlayerShop, setSelectedPlayerShop] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [postData, setPostData] = useState({});\n\n const _TYPE_OPTION = {\n ALL: -1,\n IN: 0,\n OUT: 1,\n };\n\n let _tableColumns = [\n {\n Header: \"DATE\",\n accessor: \"date\",\n disableSortBy: true\n },\n {\n Header: \"OPERATED_SHOP\",\n accessor: \"operatedShop\",\n disableSortBy: true\n },\n {\n Header: \"MEMBERSHIP\",\n accessor: \"\",\n disableSortBy: true\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phone\",\n disableSortBy: true\n },\n {\n Header: \"PLAYER_ID\",\n accessor: \"playerId\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendorName\",\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return (\n \n {\n row.original.status == 0 ?\n {t(\"FAIL\")} :\n {t(\"SUCCESS\")}\n }\n \n )\n },\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n accessor: \"type\",\n disableSortBy: true\n },\n {\n Header: \"INITIAL_LIMIT\",\n accessor: \"initialLimit\",\n Cell: ({ row }) => {\n return row.original.initialLimit.toFixed(2);\n },\n Footer: ({ page }) => {\n const initialLimit = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.initialLimit);\n }, 0);\n\n return {initialLimit.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"SCORE\",\n accessor: \"score\",\n Cell: ({ row }) => {\n return row.original.score.toFixed(2);\n },\n Footer: ({ page }) => {\n const score = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.score);\n }, 0);\n\n return {score.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"FINAL_LIMIT\",\n accessor: \"finalLimit\",\n Cell: ({ row }) => {\n return row.original.finalLimit.toFixed(2);\n },\n Footer: ({ page }) => {\n const finalLimit = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.finalLimit);\n }, 0);\n\n return {finalLimit.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_INITIAL_LIMIT\",\n accessor: \"playerInitial\",\n Cell: ({ row }) => {\n return row.original.playerInitial.toFixed(2);\n },\n disableSortBy: true\n },\n {\n Header: \"PLAYER_FINAL_LIMIT\",\n accessor: \"playerFinal\",\n Cell: ({ row }) => {\n return row.original.playerFinal.toFixed(2);\n },\n disableSortBy: true\n },\n {\n Header: \"IP_ADDRESS\",\n accessor: \"ip\",\n disableSortBy: true\n },\n {\n Header: \"ERROR_MESSAGE\",\n accessor: \"message\",\n disableSortBy: true\n },\n ];\n\n /// \n /// Author: Chris\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n register({ name: 'operatedByShops' });\n register({ name: 'playerShops' });\n register({ name: 'vendors' });\n\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('operatedByShops', []);\n setValue('playerShops', []);\n setValue('vendors', []);\n\n init();\n }, []);\n\n /// \n /// Author: Chris\n /// \n async function init() {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_USERS}?RoleId=${Role._SHOP}`);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY])\n {\n var userList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n userList.push({ label: user.username + \" (\" + user.shopName + \")\", value: user.id });\n });\n\n setShopOption(userList);\n }\n\n responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY])\n {\n var vendorList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName +\")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author: Chris\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"TargetOperatedBy\": data.operatedByShops,\n \"TargetPlayerShop\": data.playerShops,\n \"TargetVendor\": data.vendors,\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Type\": parseInt(data.type),\n };\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n if (!stringIsNullOrEmpty(data.phone)) {\n params[\"PhoneNumber\"] = data.phone;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_KIOSK_TIMEOUT_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return <>\n

    {t(\"KIOSK_TIMEOUT_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n \n {\n setValue('operatedByShops', e);\n setSelectedOperatedShop(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('playerShops', e);\n setSelectedPlayerShop(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendors', e);\n setSelectedVendor(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\",\"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n ;\n};\n\nexport default KioskTimeoutReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { setBusy, setIdle, showResponseMessage } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport RegionFilterDualListBox from \"../../../components/custom/RegionFilterDualListBox\";\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst AgentCommissionReport = props => {\n let _dispatch = useDispatch();\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [shopOption, setShopOption] = useState([]);\n const [selectedOperatedBy, setSelectedOperatatedBy] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [commissionDetailData, setCommissionDetailData] = useState([]);\n const [showSummary, setShowSummary] = useState(false);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regions, setRegions] = useState([]);\n\n const _TYPE_OPTION = {\n PENDING: 0,\n COMPLETE: 1,\n };\n\n let _tableColumns = [\n {\n Header: \"DATE\",\n accessor: \"completedDate\",\n disableSortBy: true\n },\n {\n Header: \"OPERATED_SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\",\n disableSortBy: true\n },\n {\n Header: \"Player_ID\",\n accessor: \"playerId\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendor\",\n Footer: ({ page }) => {\n return {t(\"TOTAL\")}:\n },\n disableSortBy: true\n },\n {\n Header: \"DEPOSIT_AMOUNT\",\n accessor: \"rolloverAmount\",\n Cell: ({ row }) => {\n return row.original.rolloverAmount.toFixed(2);\n },\n Footer: ({ page }) => {\n const totalRolloverAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.rolloverAmount);\n }, 0);\n\n return {totalRolloverAmount.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"PROFIT\",\n accessor: \"profit\",\n Cell: ({ row }) => {\n return row.original.profit > 0 ? {row.original.profit.toFixed(2)} : {row.original.profit.toFixed(2)};\n },\n Footer: ({ page }) => {\n const totalProfit = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.profit);\n }, 0);\n\n return {totalProfit.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"ACTION\",\n id: \"ACTION\",\n Cell: ({ row }) => (\n
    \n \n \n \n { viewCommissionDetail(row.original.id) }}>{t(\"VIEW_DETAIL\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ];\n\n let _summaryTableColumns = [\n {\n Header: \"DATE\",\n accessor: \"withdrawalDate\"\n },\n {\n Header: \"SHOP\",\n accessor: \"shopName\"\n },\n {\n Header: \"WITHDRAWAL_AMOUNT\",\n accessor: \"amount\"\n },\n {\n Header: \"PERCENTAGE\",\n accessor: \"percentage\"\n },\n {\n Header: \"PROFIT\",\n accessor: \"actualAmount\"\n }\n ]\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'operatedBy' });\n register({ name: 'operatedShop' });\n register({ name: 'vendor' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('operatedBy', []);\n setValue('operatedShop', []);\n setValue('vendor', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n _dispatch(setBusy());\n await getShopOption();\n await getVendorOption();\n _dispatch(setIdle());\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function getShopOption() {\n var apiUrl = ApiUrl._API_GET_USERS + \"?RoleId=\" + Role._SHOP;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n regionOptions.push({ label: key, value: key });\n\n shopListByRegion[key].map(shop => {\n if (shop.isShopAgent) {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n }\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n setRegions(regionOptions);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function getVendorOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName +\")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"OperatedBy\": data.operatedBy,\n \"TargetShop\": data.operatedShop,\n \"Vendor\": data.vendor,\n \"Type\": parseInt(data.type),\n };\n\n if (!stringIsNullOrEmpty(data.phoneNumber)) {\n params[\"PhoneNumber\"] = data.phoneNumber;\n }\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_AGENT_COMMISSION_REPORT);\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function viewCommissionDetail(id) {\n var responseJson = await ApiEngine.post(ApiUrl._API_GET_AGENT_COMMISSION_DETAIL_REPORT + \"?id=\" + id);\n setShowSummary(true);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setCommissionDetailData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData]);\n\n return (\n
    \n

    {t(\"AGENT_COMMISSION_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n {\n setValue('operatedBy', e);\n setSelectedOperatatedBy(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n {\n setValue('operatedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendor', e);\n setSelectedVendor(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n\n setShowSummary(false)} style={{ paddingBottom: \"100px\" }} className=\"modal-lg\" keyboard={true} >\n setShowSummary(false)}>{t(\"SUMMARY\")}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n );\n};\n\nexport default AgentCommissionReport;","import React, { useState, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage, showMessage } from \"../../redux/AppAction\";\nimport { ApiKey, ApiUrl, AlertTypes, Role } from \"../../util/Constant\";\nimport { useForm } from \"react-hook-form\";\nimport * as Util from '../../util/Util';\nimport Select from \"react-select\";\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { stringIsNullOrEmpty, getValidationMessage } from '../../util/Util';\nimport { useDispatch, useSelector } from \"react-redux\";\n\n/// \n/// Author : CK\n/// \nconst CreateEWalletTransactionModal = (props) => {\n const _EWALLET_TYPE = [\n { title: 'Touch N Go', key: 101 },\n { title: 'GrabPay', key: 102 },\n { title: 'ShopeePay', key: 103 },\n { title: 'Boost', key: 104 },\n { title: 'DuitNow', key: 105 }\n ]\n\n var _userId = useSelector(state => state['authState']['userData']['userId']);\n const [modalVisibility, setModalVisibility] = useState(false);\n const { register, handleSubmit, errors } = useForm();\n const [mxPayHtml, setMxPayHtml] = useState(\"\");\n const [selectedPaymentMethod, setSelectedPaymentMethod] = useState(_EWALLET_TYPE[0]['key']);\n const { t, i18n } = useTranslation();\n var _dispatch = useDispatch();\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n setModalVisibility(props[\"visible\"]);\n }, [props[\"visible\"]]);\n\n /// \n /// Author : CK\n /// \n const onSubmit = async (data, e) => {\n try {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_VERIFY_PASSWORD}?userId=${_userId}&password=${value}`);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let apiUrl = ApiUrl._API_CREATE_EWALLET_TRANSACTION + \"?phoneNumber=\" + data.phoneNumber + \"&transferProvider=\" + selectedPaymentMethod.toString() + \"&amount=\" + data.amount;\n responseJson = await ApiEngine.post(apiUrl);\n setMxPayHtml(responseJson);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }\n }));\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n return (\n \n
    \n props.onFinish()}>\n

    {t('CREATE_EWALLET_TRANSACTION')}

    \n
    \n \n
    \n
    \n
    \n \n \n {errors.phoneNumber &&
    {t(getValidationMessage(errors.phoneNumber))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.amount &&
    {t(getValidationMessage(errors.amount))}
    }\n
    \n
    \n
    \n
    \n \n
    \n
    \n {\n _EWALLET_TYPE.map((item) => {\n return (\n
    \n { setSelectedPaymentMethod(e.target.value); }} />\n \n
    \n )\n })\n }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n );\n}\n\nexport default CreateEWalletTransactionModal","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Toast, ToastBody } from 'reactstrap';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { showResponseMessage, showMessage } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, AlertTypes, TransactionType, TopUpStatus, AccessRight } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { checkIfPermissionExist } from '../../../util/PermissionChecker';\nimport CreateEWalletTransactionModal from '../../../components/custom/CreateEWalletTransactionModal';\nimport RegionFilterDualListBox from \"../../../components/custom/RegionFilterDualListBox\";\n\n/// \n/// Author : YJ\n/// \nconst TopUpReport = props => {\n let _dispatch = useDispatch();\n var _userId = useSelector(state => state['authState']['userData']['userId']);\n\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [createEWalletModal, setCreateEWalletModal] = useState(false);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regions, setRegions] = useState([]);\n const [showToast, setShowToast] = useState(false);\n\n const _TYPE_OPTION = {\n ALL: -1,\n PENDING: 0,\n SUCCESS: 1,\n FAILED: 2\n };\n\n const _METHOD_OPTION = {\n ALL: -1,\n SYSTEM: 0,\n MANUAL: 1\n };\n\n const _TRANSACTION_TYPE_ID = {\n GPAY: 6,\n EGHL: 7,\n EWALLET: 8,\n DUITNOW: 9,\n VENDING_MACHINE: 12,\n MOBILE_PIN_TOPUP: 13,\n KINGPAY_DUITNOW: 14,\n SHOP_EGHL: 17\n };\n\n let _tableColumns = [\n {\n Header: \"CREATED_DATE\",\n accessor: \"createdDate\",\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true,\n },\n {\n Header: \"MEMBER\",\n accessor: \"memberUsername\",\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n accessor: \"shopUsername\",\n disableSortBy: true\n },\n {\n Header: \"TRANSACTION_ID\",\n accessor: \"transactionId\",\n Cell: ({ row }) => {\n return (\n <>\n {row.original.transactionId}\n  \n {\n navigator.clipboard.writeText(row.original.transactionId);\n setShowToast(!showToast);\n }}\n >\n \n \n \n );\n },\n disableSortBy: true,\n },\n {\n Header: \"TRANSACTION_TYPE\",\n accessor: \"typeName\",\n Cell: ({ row }) => {\n return renderTransactionType(row.original.typeName);\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return renderStatus(row.original.status);\n },\n disableSortBy: true\n },\n {\n Header: \"INITIAL_CREDIT\",\n accessor: \"initialCredit\",\n Cell: ({ row }) => {\n return row.original.initialCredit.toFixed(2)\n },\n Footer: ({ page }) => {\n const initialCreditTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.initialCredit);\n }, 0);\n\n return {initialCreditTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount.toFixed(2)\n },\n Footer: ({ page }) => {\n const amountTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {amountTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"FINAL_CREDIT\",\n accessor: \"finalCredit\",\n Cell: ({ row }) => {\n return row.original.finalCredit.toFixed(2)\n },\n Footer: ({ page }) => {\n const finalCreditTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.finalCredit);\n }, 0);\n\n return {finalCreditTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"INITIAL_AMOUNT\",\n accessor: \"initialAmount\",\n Cell: ({ row }) => {\n return row.original.initialAmount.toFixed(2)\n },\n Footer: ({ page }) => {\n const amountTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.initialAmount);\n }, 0);\n\n return {amountTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"PROCESSING_FEE\",\n accessor: \"processingFee\",\n Cell: ({ row }) => {\n return row.original.processingFee.toFixed(2)\n },\n Footer: ({ page }) => {\n const amountTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.processingFee);\n }, 0);\n\n return {amountTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"PROCESSED_DATE\",\n accessor: \"processedDate\",\n Cell: ({ row }) => {\n return !stringIsNullOrEmpty(row.original.processedDate) ? row.original.processedDate : '-'\n },\n disableSortBy: true\n },\n {\n Header: \"BANK_TRANSACTION_ID\",\n accessor: \"bankTransactionId\",\n Cell: ({ row }) => {\n return !stringIsNullOrEmpty(row.original.bankTransactionId) ? row.original.bankTransactionId : '-'\n },\n disableSortBy: true\n },\n {\n Header: \"REMARK\",\n accessor: \"remark\",\n disableSortBy: true,\n style: {\n width: 450,\n whiteSpace: 'break-spaces'\n },\n minWidth: 450\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (row.original.status == TopUpStatus._PENDING || row.original.status == TopUpStatus._PENDING_APPROVAL || row.original.status == TopUpStatus._FAILED) &&\n
    \n \n \n \n {\n (row.original.status == TopUpStatus._PENDING || row.original.status == TopUpStatus._FAILED) && (row.original.typeName == TransactionType._TOP_UP_E_WALLET || row.original.typeName == TransactionType._TOP_UP_GPAY_DUITNOW || row.original.typeName == TransactionType._KINGPAY_DUITNOW) &&\n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, false, true);\n }\n }));\n }}>{t(\"VALIDATE_TRANSACTION\")}\n }\n {\n row.original.typeName == TransactionType._MOBILE_PIN_TOPUP && row.original.status != TopUpStatus._SUCCESS &&\n {\n _dispatch(showMessage({\n content: t(\"ENTER_AMOUNT_1\") + ` (${t(\"MASTER_APPROVE\")})`,\n showCancel: true,\n required: true,\n validationMsg: t('REQUIRED'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (amt) => {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\") + ` (${t(\"MASTER_APPROVE\")})`,\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, true, false, amt);\n }\n }));\n }\n }));\n }}>{t(\"MASTER_APPROVE\")}\n }\n {\n row.original.typeName != TransactionType._KINGPAY_DUITNOW &&\n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, true);\n }\n }));\n }}>{t(\"APPROVE\")}\n }\n {\n row.original.typeName != TransactionType._KINGPAY_DUITNOW && row.original.status != TopUpStatus._FAILED &&\n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, false);\n }\n }));\n }}>{t(\"REJECT\")}\n }\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'operatedShop' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('operatedShop', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n if (showToast) {\n setTimeout(() => setShowToast(!showToast), 3000)\n }\n }, [showToast])\n\n /// \n /// Author: Nelson\n /// \n async function verifyPassword(password, transactionData, isApproved, isValidate = false, approveAmount = 0) {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_VERIFY_PASSWORD}?userId=${_userId}&password=${password}`);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (isValidate) {\n ValidateTransaction(transactionData);\n }\n else {\n SetTransactionStatus(transactionData, isApproved, approveAmount);\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }\n\n /// \n /// Author : YJ\n /// \n function renderStatus(status) {\n let statusString = \"\";\n let spanClass = \"\";\n\n switch (status) {\n case TopUpStatus._SUCCESS.toString():\n spanClass = \"badge-green\";\n statusString = t(\"SUCCESS\");\n break;\n case TopUpStatus._FAILED.toString():\n spanClass = \"badge-red\";\n statusString = t(\"FAILED\");\n break;\n case TopUpStatus._PENDING_APPROVAL.toString():\n spanClass = \"badge-primary\";\n statusString = t(\"PENDING_APPROVAL\");\n break;\n default:\n spanClass = \"badge-default\";\n statusString = t(\"PENDING\");\n }\n\n return {statusString}\n }\n\n /// \n /// Author : YJ\n /// \n function renderTransactionType(transactionType) {\n let transactionTypeString = \"\";\n\n switch (transactionType) {\n case TransactionType._TOP_UP_GPAY:\n transactionTypeString = t(\"GPAY\");\n break;\n case TransactionType._TOP_UP_EGHL:\n transactionTypeString = t(\"EGHL\");\n break;\n case TransactionType._TOP_UP_E_WALLET:\n transactionTypeString = t(\"E_WALLET\");\n break;\n case TransactionType._TOP_UP_GPAY_DUITNOW:\n transactionTypeString = t(\"DUITNOW\");\n break;\n case TransactionType._VENDING_MACHINE:\n transactionTypeString = t(\"VENDING_MACHINE\");\n break;\n case TransactionType._MOBILE_PIN_TOPUP:\n transactionTypeString = t(\"MOBILE_PIN_TOPUP\");\n break;\n case TransactionType._KINGPAY_DUITNOW:\n transactionTypeString = t(\"KINGPAY_DUITNOW\");\n break;\n case TransactionType._SHOP_EGHL_LIMIT:\n transactionTypeString = t(\"SHOP_PURCHASE_EGHL\");\n break;\n }\n\n return {transactionTypeString}\n }\n\n /// \n /// Author : YJ\n /// \n async function init() {\n await getShopOption();\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function SetTransactionStatus(data, status, approveAmount = 0) {\n var responseJson = await ApiEngine.post(ApiUrl._API_UPDATE_TOPUP_TRANSACTION + \"?transactionId=\" + data.transactionId + \"&status=\" + status + \"&approveAmount=\" + approveAmount);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : CK\n /// \n async function ValidateTransaction(data) {\n var responseJson = await ApiEngine.post(ApiUrl._API_VALIDATE_EWALLET_TRANSACTION + \"?transactionId=\" + data.transactionId + \"&isDuitNow=\" + (data.typeName == TransactionType._TOP_UP_GPAY_DUITNOW || data.typeName == TransactionType._KINGPAY_DUITNOW));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n async function getShopOption() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n regionOptions.push({ label: key, value: key });\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n setRegions(regionOptions);\n }\n }\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Username\": data.username,\n \"TransactionId\": data.transactionId,\n \"TargetShops\": data.operatedShop,\n \"Status\": parseInt(data.status),\n \"TransactionTypeId\": parseInt(data.transactionType),\n \"MethodId\": parseInt(data.method)\n };\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_TOPUP_TRANSACTION);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl])\n\n return (\n
    \n
    \n

    {t(\"TOP_UP_REPORT\")}

    \n {\n checkIfPermissionExist(AccessRight._TOP_UP_REPORT_PERMISSION, true) &&\n {\n setCreateEWalletModal(true);\n }}\n >\n {t('CREATE_EWALLET_TRANSACTION')}\n \n }\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n setValue('operatedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n \n \n {t('COPIED')}\n \n \n {\n if (!stringIsNullOrEmpty(transactionId)) {\n // init();\n }\n\n setCreateEWalletModal(false);\n }} />\n
    \n );\n};\n\nexport default TopUpReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { setBusy, setIdle, showResponseMessage } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, Status, Theme } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Wind\n/// \nconst CreditTransferReport = props => {\n let _dispatch = useDispatch();\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [postData, setPostData] = useState();\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n\n const _TRANSFER_TYPE_ID = {\n ALL: -1,\n TO_CREDIT: 1,\n TO_SCORE: 2,\n TRANSFER_SCORE: 3\n };\n\n let _tableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"date\",\n disableSortBy: true\n },\n {\n Header: t(\"MEMBER_ID\"),\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: t(\"INITIAL_VENDOR\"),\n accessor: \"initialVendor\",\n Cell: ({ row }) => {\n return parseInt(row.original.transferType) == _TRANSFER_TYPE_ID.TO_SCORE ? ((process.env.REACT_APP_NAME) + ' User App') : row.original.initialVendor;\n },\n disableSortBy: true\n },\n {\n Header: t(\"TRANSFER_TYPE\"),\n accessor: \"transferType\",\n Cell: ({ row }) => {\n return renderTransferType(row.original.transferType);\n },\n disableSortBy: true\n },\n {\n Header: t(\"TARGET_VENDOR\"),\n accessor: \"targetVendor\",\n Cell: ({ row }) => {\n return parseInt(row.original.transferType) == _TRANSFER_TYPE_ID.TO_CREDIT ? ((process.env.REACT_APP_NAME == Theme._EPAY ? 'Epay' : 'Oren') + ' User App') :\n parseInt(row.original.transferType) == _TRANSFER_TYPE_ID.TO_SCORE ? row.original.initialVendor : row.original.targetVendor;\n },\n disableSortBy: true\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"SUCCESS\")} : {t(\"FAILED\")};\n },\n disableSortBy: true\n },\n {\n Header: \"MEMBER_INITIAL_CREDIT\",\n accessor: \"memberInitialCredit\",\n disableSortBy: true\n },\n {\n Header: t(\"AMOUNT\"),\n accessor: \"amount\",\n disableSortBy: true\n },\n {\n Header: \"MEMBER_FINAL_CREDIT\",\n accessor: \"memberFinalCredit\",\n disableSortBy: true\n },\n {\n Header: t(\"PLAYER_ID\"),\n accessor: \"initialPlayerGameId\",\n disableSortBy: true\n },\n {\n Header: t(\"TARGET_PLAYER_ID\"),\n accessor: \"targetPlayerGameId\",\n disableSortBy: true\n },\n ];\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n register({ name: 'vendor' });\n register({ name: 'member' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('vendor', []);\n setValue('member', \"\");\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author : Wind\n /// \n function renderTransferType(transferType) {\n let transferFromString = t(\"SCORE\");\n let transferToString = t(\"SCORE\")\n\n if (parseInt(transferType) == _TRANSFER_TYPE_ID.TO_CREDIT) {\n transferToString = t(\"CREDIT\");\n }\n else if (parseInt(transferType) == _TRANSFER_TYPE_ID.TO_SCORE) {\n transferFromString = t(\"CREDIT\");\n }\n\n return {transferFromString} {transferToString}\n }\n\n /// \n /// Author : Wind\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : Wind\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Status\": parseInt(data.status),\n \"Type\": parseInt(data.transferType),\n \"Vendor\": data.vendor\n };\n\n if (!stringIsNullOrEmpty(data.member)) {\n params[\"MemberId\"] = data.member;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_CREDIT_TRANSFER_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData]);\n\n return (\n
    \n

    {t(\"CREDIT_TRANSFER_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendor', e);\n setSelectedVendor(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default CreditTransferReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalFooter, ModalBody } from 'reactstrap';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, AlertTypes, AccessRight, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey, isObjectEmpty } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport RegionFilterDualListBox from '../../../components/custom/RegionFilterDualListBox';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : CK\n/// \nconst StrikeReport = props => {\n let _dispatch = useDispatch();\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [confirmStartDate, setConfirmStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD\"));\n const [confirmEndDate, setConfirmEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n var _userId = useSelector(state => state['authState']['userData']['userId']);\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [strikeDetailList, setStrikeDetailList] = useState([]);\n const [showStrikeDetailModal, setShowStrikeDetailModal] = useState(false);\n const [selectedStrikeRecordData, setSelectedStrikeRecordData] = useState({});\n const [regions, setRegions] = useState([]);\n\n const _STATUS_OPTIONS = {\n ALL: -1,\n PENDING: 0,\n SUCCESS: 1,\n FAILED: 2,\n };\n\n /// \n /// Author : CK\n /// \n function renderStatus(status) {\n let statusString = \"\";\n let spanClass = \"\";\n\n switch (status) {\n case _STATUS_OPTIONS.SUCCESS:\n spanClass = \"badge-green\";\n statusString = t(\"SUCCESS\");\n break;\n case _STATUS_OPTIONS.FAILED:\n spanClass = \"badge-red\";\n statusString = t(\"FAILED\");\n break;\n default:\n spanClass = \"badge-default\";\n statusString = t(\"PENDING\");\n }\n\n return {statusString}\n }\n\n // \n /// Author: CK\n /// \n async function verifyPassword(password, transactionData, isApproved, isBulkUpdate = false) {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_VERIFY_PASSWORD}?userId=${_userId}&password=${password}`);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var apiUrl;\n\n if (isBulkUpdate) {\n apiUrl = ApiUrl._API_CONFIRM_STRIKE + \"?startDate=\" + confirmStartDate + \"&endDate=\" + confirmEndDate;\n }\n else {\n apiUrl = ApiUrl._API_UPDATE_BET_RESULT_HISTORY + \"?betResultHistoryId=\" + transactionData.id + \"&status=\" + (isApproved ? _STATUS_OPTIONS.SUCCESS : _STATUS_OPTIONS.FAILED);\n }\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"CreatedTime\",\n accessor: \"createdTime\",\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true,\n },\n {\n Header: \"SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\",\n disableSortBy: true\n },\n {\n Header: \"PLAYER_ID\",\n accessor: \"playerId\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendor\",\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return renderStatus(row.original.status);\n },\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount.toFixed(2)} : {row.original.amount.toFixed(2)};\n },\n Footer: ({ page }) => {\n const scoreTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {scoreTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"REMARK\",\n accessor: \"remark\",\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (checkIfPermissionExist(AccessRight._STRIKE_REPORT_PERMISSION)) &&\n
    \n \n \n \n { setSelectedStrikeRecordData(row.original); await getStrikeDetailList(row.original.id); }}>\n {t(\"VIEW_STRIKE_DETAILS\")}\n \n {\n ((row.original.status == _STATUS_OPTIONS.PENDING || row.original.status == _STATUS_OPTIONS.FAILED) && checkIfPermissionExist(AccessRight._STRIKE_REPORT_PERMISSION, true)) &&\n <>\n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, true);\n }\n }));\n }}>\n {t(\"APPROVE\")}\n \n {\n row.original.status == _STATUS_OPTIONS.PENDING &&\n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, false);\n }\n }));\n }}>\n {t(\"REJECT\")}\n \n }\n \n }\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n let _tableStrikeDetailsColumn = [\n {\n Header: \"BET_DATE\",\n accessor: \"betDateTime\",\n disableSortBy: true\n },\n {\n Header: \"POOL_NAME\",\n accessor: \"poolName\",\n disableSortBy: true\n },\n {\n Header: \"NUMBER\",\n accessor: \"betNumber\",\n disableSortBy: true\n },\n {\n Header: \"BET_TYPE\",\n accessor: \"betType\",\n disableSortBy: true\n },\n {\n Header: \"BET_AMOUNT\",\n accessor: \"betAmount\",\n disableSortBy: true,\n Cell: ({ row }) => (\n {parseFloat(row.original.betAmount).toFixed(2)}\n )\n },\n {\n Header: \"DRAW_DATE\",\n accessor: \"drawDate\",\n disableSortBy: true\n },\n {\n Header: \"PRIZE_RATE\",\n accessor: \"prizeRate\",\n disableSortBy: true\n },\n {\n Header: \"WIN_AMOUNT\",\n accessor: \"winAmount\",\n disableSortBy: true,\n Cell: ({ row }) => (\n {parseFloat(row.original.winAmount).toFixed(2)}\n )\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'vendor' });\n register({ name: 'operatedShop' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('vendor', []);\n setValue('operatedShop', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD\"));\n setValue('endDate', moment().format(\"YYYY-MM-DD\"));\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n async function init() {\n _dispatch(setBusy());\n await getShopOption();\n await getVendorOption();\n _dispatch(setIdle());\n }\n\n /// \n /// Author : CK\n /// \n async function getVendorOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : Nelson\n /// \n async function getShopOption() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n\n regionOptions.push({\n label: key,\n value: key\n });\n }\n\n setRegions(regionOptions);\n setShopOption(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Vendor\": data.vendor,\n \"Status\": parseInt(data.status),\n \"TargetShop\": data.operatedShop\n };\n\n if (!stringIsNullOrEmpty(data.phoneNumber)) {\n params[\"PhoneNumber\"] = data.phoneNumber;\n }\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_STRIKE_REPORT);\n setConfirmStartDate(startDate);\n setConfirmEndDate(endDate);\n }\n\n /// \n /// Author : CK\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData])\n\n /// \n /// Author : Nelson\n /// \n async function getStrikeDetailList(id) {\n setShowStrikeDetailModal(true);\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_STRIKE_DETAILS}?id=${id}`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n else {\n setStrikeDetailList(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n return (\n
    \n

    {t(\"STRIKE_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendor', e);\n setSelectedVendor(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n {\n setValue('operatedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n {PaginationTable}\n
    \n
    \n { setShowStrikeDetailModal(false) }}>\n { setShowStrikeDetailModal(false) }}>

    {(t('STRIKE_DETAILS') + \" - \" + (selectedStrikeRecordData['playerId']))}

    \n \n \n \n
    \n
    \n );\n};\n\nexport default StrikeReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { setBusy, setIdle } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, Status } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey, numberWithCurrencyFormat } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport Select from 'react-select'\nimport RegionFilterDualListBox from '../../../components/custom/RegionFilterDualListBox';\n\n/// \n/// Author : YJ\n/// \nconst RolloverReport = props => {\n const _ALL_VALUE = -1;\n const _ALL_LABEL = \"ALL\";\n const [postData, setPostData] = useState({});\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [typeOption, setTypeOption] = useState([]);\n const [summaryStartDate, setSummaryStartDate] = useState(moment().startOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [summaryEndDate, setSummaryEndDate] = useState(moment().endOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regionOption, setRegionOption] = useState([]);\n const [selectedRegion, setSelectedRegion] = useState([]);\n\n let _tableColumns = [\n {\n Header: \"DATE\",\n accessor: \"parsedTime\",\n disableSortBy: true\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n Cell: ({ row }) => {\n return row.original.username + \" [\" + row.original.fullName + \"]\"\n },\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n accessor: \"parsedType\",\n Cell: ({ row }) => {\n return {row.original.parsedType}\n },\n disableSortBy: true\n },\n {\n Header: \"PRE_ROLLOVER_LEFT\",\n accessor: \"preRolloverLeft\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.preRolloverLeft)\n },\n disableSortBy: true\n },\n {\n Header: \"ROLLOVER\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {numberWithCurrencyFormat(row.original.amount)} : {numberWithCurrencyFormat(row.original.amount)};\n },\n Footer: ({ page }) => {\n const rolloverTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {numberWithCurrencyFormat(rolloverTotal)}\n },\n disableSortBy: true\n },\n {\n Header: \"POST_ROLLOVER_LEFT\",\n accessor: \"postRolloverLeft\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.postRolloverLeft)\n },\n disableSortBy: true\n },\n ]\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n (async () => {\n register({ name: 'selectedShop' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('selectedShop', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n await getShopOption();\n await getTypeOption();\n })();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function getTypeOption() {\n var apiUrl = ApiUrl._API_GET_ROLLOVER_TRANSACTION_TYPE;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let tempType = [{ value: _ALL_VALUE, label: _ALL_LABEL }];\n responseJson[ApiKey._API_DATA_KEY].map((type, index) => {\n tempType.push({ value: type.id, label: type.displayName });\n });\n setTypeOption(tempType);\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function getShopOption() {\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setRegionOption([...new Map(responseJson[ApiKey._API_DATA_KEY].map(item =>\n [item['regionId'], item])).values()].map((region) => { return ({ label: region.regionName, value: region.regionId }) }));\n setShopOption(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"TargetShop\": data.selectedShop,\n \"Type\": parseInt(data.type)\n };\n\n if (!stringIsNullOrEmpty(data.username)) {\n params[\"Username\"] = data.username;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_ROLLOVER_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl]);\n\n return (\n
    \n

    {t(\"ROLLOVER_REPORT\")}

    \n \n \n
    \n
    \n \n {\n setSelectedRegion(e);\n }} />\n
    \n
    \n \n {\n setSummaryStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }} />\n
    \n
    \n \n {\n setSummaryEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }} />\n
    \n
    \n {\n const win = window.open(ApiUrl._API_GET_MEMBER_ROLLOVER_SUMMARY + \"?StartDate=\" + summaryStartDate + \"&EndDate=\" + summaryEndDate +\n \"®ionIds=\" + selectedRegion.map(r => r.value).join(','), \"_blank\");\n win.focus();\n }}\n >\n {t('DOWNLOAD_ROLLOVER_SUMMARY')}\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n { return { label: i.label, value: i.label }})}\n onChange={(e) => {\n setValue('selectedShop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default RolloverReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role, UPPER_LIMIT_WARNING_LEVEL } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : CK\n/// \nconst UpperLimitWarningReport = props => {\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [regionOption, setRegionOption] = useState([]);\n const [selectedRegions, setSelectedRegions] = useState([])\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [shopAvailableList, setShopAvailableList] = useState([]);\n const [postData, setPostData] = useState({});\n const [defaultManagerOption, setDefaultManagerOption] = useState([]);\n const [managerOption, setManagerOption] = useState([]);\n const [selectedManager, setSelectedManager] = useState([]);\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: 35\n },\n {\n Header: \"DATE\",\n accessor: \"date\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {moment(row.original.date).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n }\n },\n {\n Header: \"SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"MANAGER\",\n accessor: \"managerName\",\n disableSortBy: true\n },\n {\n Header: \"EVENT_TYPE\",\n accessor: \"eventType\",\n disableSortBy: true,\n width: 80,\n Cell: ({ row }) => {\n let rowValue = row.original;\n\n return (\n rowValue.isApproval ?\n {t(rowValue.eventType)} :\n (rowValue.level == UPPER_LIMIT_WARNING_LEVEL._REACH_LIMIT ||\n rowValue.level == UPPER_LIMIT_WARNING_LEVEL._BELOW_LIMIT ?\n {t(rowValue.eventType)} {rowValue.thresholdPercentage + \"%\"}\n :\n rowValue.level == UPPER_LIMIT_WARNING_LEVEL._EXCEED_LIMIT ||\n rowValue.level == UPPER_LIMIT_WARNING_LEVEL._REACH_ZERO ? {t(rowValue.eventType)}\n : {t(\"NORMAL\")}));\n }\n },\n {\n Header: \"CREDIT_LIMIT\",\n accessor: \"shopLimit\",\n Cell: ({ row }) => {\n return (row.original.isApproval ? row.original.shopLimit : row.original.shopLimit + \" / \" + row.original.upperLimit)\n },\n disableSortBy: true\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'shops' });\n register({ name: 'manager' });\n register({ name: 'endDate' }, { required: true });\n\n setValue('shops', []);\n setValue('manager', []);\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION)\n\n var regionList = [];\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.name, value: region.id });\n });\n\n setRegionOption(regionList);\n }\n\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n\n responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let shopOptionsByRegion = [];\n regionList.map(region => {\n let shopsByRegion = responseJson[ApiKey._API_DATA_KEY].filter(shop => shop.regionId == region.value);\n\n if (shopsByRegion.length) {\n let options = [];\n\n shopsByRegion.map(shop => {\n options.push({\n label: shop.username + \" (\" + shop.shopName + \")\",\n value: shop.id,\n regionId: shop.regionId\n });\n });\n\n shopOptionsByRegion.push({\n label: region.label,\n value: region.value,\n options: options\n })\n }\n })\n\n setShopOption(shopOptionsByRegion);\n }\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._MANAGER);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var managerOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n managerOptionList.push({ label: user.username, value: user.id, regionId: user.regionId });\n });\n\n setDefaultManagerOption(managerOptionList);\n }\n }\n\n /// \n /// Author : CK\n /// \n function onSelectedRegionChange(e) {\n if (selectedRegions.filter(selectedRegion => selectedRegion == e.target.value).length) {\n setSelectedRegions(selectedRegions.filter(selectedRegion => selectedRegion != e.target.value));\n }\n else {\n setSelectedRegions([...selectedRegions, e.target.value]);\n }\n }\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (shopOption.length) {\n let tempShopAvailableList = [];\n selectedRegions.map(selectedRegion => {\n let filteredShops = shopOption.filter(shopOption => shopOption.value == selectedRegion);\n\n if (filteredShops.length && filteredShops[0].options.length) {\n filteredShops[0].options.map(filteredShop => {\n tempShopAvailableList.push(filteredShop.value);\n })\n }\n })\n\n setShopAvailableList(tempShopAvailableList);\n }\n }, [selectedRegions, shopOption]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n if (defaultManagerOption.length) {\n let availableList = [];\n selectedRegions.map(selectedRegion => {\n let filteredManagers = defaultManagerOption.filter(manager => manager.regionId == selectedRegion);\n\n filteredManagers.map(manager => {\n availableList.push({ label: manager.label, value: manager.value });\n })\n })\n\n setManagerOption(availableList);\n }\n }, [selectedRegions]);\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n setPostData({\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"ShopIds\": data.shops.join(','),\n \"ManagerIds\": data.manager.join(',')\n });\n\n setApiUrl(ApiUrl._API_GET_SHOP_LIMIT_REQUEST_LOGS);\n }\n\n /// \n /// Author : CK\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl])\n\n return (\n
    \n

    {t(\"UPPER_LIMIT_WARNING_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n
    \n {\n regionOption.map((region, index) => {\n return (\n
    \n selectedRegion == region.value).length}\n value={region.value}\n ref={register}\n onChange={onSelectedRegionChange} />\n \n
    \n );\n })\n }\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n setValue('shops', e);\n setSelectedShop(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n \n {\n setValue('manager', e);\n setSelectedManager(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n}\n\nexport default UpperLimitWarningReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, numberWithCurrencyFormat, getValidationMessage } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useSelector } from \"react-redux\";\n\n/// \n/// Author : Wind\n/// \nconst UserExperienceReport = props => {\n var _userData = useSelector(state => state['authState']['userData']);\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [phone, setPhone] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regionId, setRegionId] = useState('');\n const [regions, setRegions] = useState([]);\n \n const _TYPE_OPTION = {\n _UP: 1,\n _DOWN: 2\n };\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"DATE\",\n accessor: \"createdTime\",\n Cell: ({ row }) => {\n return
    {moment(row.original.createdTime).format('DD/MM/YYYY hh:mm:ss A')}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"USERNAME\",\n Cell: ({ row }) => {\n return
    {row.original.user.username}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"FACTOR\",\n accessor: \"factor\",\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n disableSortBy: true\n },\n {\n Header: \"PRE_EXPERIENCE\",\n accessor: \"preExperience\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.preExperience, 3)}
    \n }\n },\n {\n Header: \"EXPERIENCE\",\n accessor: \"experience\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.experience, 3)}
    \n } \n },\n {\n Header: \"POST_EXPERIENCE\",\n accessor: \"postExperience\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.postExperience, 3)}
    \n }\n },\n {\n Header: \"PRE_RANK\",\n Cell: ({ row }) => {\n return
    {row.original.preRank.translatedName}
    \n },\n disableSortBy: true\n },\n {\n Header: \"POST_RANK\",\n Cell: ({ row }) => {\n return
    {row.original.postRank.translatedName}
    \n },\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n Cell: ({ row }) => {\n return renderType(row.original.historyTypeId);\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n Cell: ({ row }) => {\n return renderStatus(row.original.completed);\n },\n disableSortBy: true\n },\n {\n Header: \"REMARK\",\n accessor: \"remark\",\n disableSortBy: true\n },\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n (async () => {\n var regionJsonResult = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (regionJsonResult[ApiKey._API_SUCCESS_KEY]) {\n var availableRegions = [];\n\n regionJsonResult[ApiKey._API_DATA_KEY].map((region) => {\n availableRegions.push({\n label: region['name'],\n value: region['id']\n });\n });\n\n if (availableRegions.length > 0 && !_userData.isAdminLevel) {\n setRegionId(availableRegions[0]['value']);\n }\n\n setRegions(availableRegions);\n }\n })();\n }, [])\n\n /// \n /// Author : Wind\n /// \n function renderType(type) {\n let typeString = \"\";\n let spanClass = \"\";\n\n switch (type) {\n case _TYPE_OPTION._UP:\n spanClass = \"badge-green\";\n typeString = t(\"UP\");\n break;\n case _TYPE_OPTION._DOWN:\n spanClass = \"badge-red\";\n typeString = t(\"DOWN\");\n break;\n default:\n spanClass = \"badge-default\";\n typeString = t(\"UNKNOWN\");\n }\n\n return {typeString}\n }\n\n /// \n /// Author : Wind\n /// \n function renderStatus(status) {\n let statusString = \"\";\n let spanClass = \"\";\n\n if (status) {\n spanClass = \"badge-green\";\n statusString = t(\"SUCCESS\");\n }\n else {\n spanClass = \"badge-red\";\n statusString = t(\"FAILED\");\n }\n\n return {statusString}\n }\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n let apiUrl = ApiUrl._API_GET_USER_EXPERIENCE_HISTORY + '?StartDate=' + startDate + \"&endDate=\" + endDate + \"&Username=\" + phone + \"&v=\" + Date.now();\n\n if (!stringIsNullOrEmpty(regionId)) {\n apiUrl += \"&RegionId=\" + regionId;\n }\n\n setApiUrl(apiUrl);\n }\n\n /// \n /// Author : Wind\n /// \n const PaginationTable = useMemo(() => , [apiUrl])\n\n return (\n
    \n

    {t(\"USER_EXPERIENCE_REPORT\")}

    \n \n \n
    \n
    \n
    \n \n setPhone(e.target.value)} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n \n { setRegionId(e.target.value); }}>\n {\n _userData.isAdminLevel &&\n \n }\n {\n regions.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n}\n\nexport default UserExperienceReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { setBusy, setIdle, showMessage } from '../../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, Status, AlertTypes, ViewDataType } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey, numberWithCurrencyFormat } from \"../../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport RegionFilterDualListBox from '../../../components/custom/RegionFilterDualListBox';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Wind\n/// \nconst TurnoverReport = props => {\n var _dispatch = useDispatch();\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [postData, setPostData] = useState({});\n const [phone, setPhone] = useState('');\n const [playerId, setPlayerId] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [regions, setRegions] = useState([]);\n const _EGHL_VENDOR_ID = -1;\n const _DATE_RANGE_TYPE = {\n firstWeek: 1,\n firstHalfMonth: 2,\n secondHalfMonth: 3,\n thisMonth: 4\n };\n\n let _tableColumns = [\n {\n Header: \"START_DATE\",\n accessor: \"parsedStartDate\",\n disableSortBy: true,\n },\n {\n Header: \"END_DATE\",\n accessor: \"parsedEndDate\",\n disableSortBy: true,\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true,\n },\n {\n Header: \"PLAYER_ID\",\n accessor: \"playerUsername\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendorName\",\n disableSortBy: true\n },\n {\n Header: \"TOTAL_VALID_TURNOVER\",\n accessor: \"sumAmount\",\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.sumAmount);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_JACKPOT\",\n accessor: \"totalJackpot\",\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalJackpot);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount)}\n },\n disableSortBy: true\n },\n {\n Header: \"MAX_JACKPOT\",\n accessor: \"maxJackpot\",\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.maxJackpot);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount)}\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_BONUS\",\n accessor: \"totalBonus\",\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalBonus);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount)}\n },\n disableSortBy: true\n },\n {\n Header: \"MAX_BONUS\",\n accessor: \"maxBonus\",\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.maxBonus);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount)}\n },\n disableSortBy: true\n }\n ]\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n try {\n var shopResponseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP);\n\n if (shopResponseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(shopResponseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n\n regionOptions.push({\n label: key,\n value: key\n });\n }\n\n setRegions(regionOptions);\n setShopOption(shopOptionsByRegion);\n }\n else {\n throw shopResponseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n var vendorResponseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (vendorResponseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n vendorResponseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n vendorList.push({ label: \"eGHL (eGHL)\", value: _EGHL_VENDOR_ID });\n\n setVendorOption(vendorList);\n }\n else {\n throw vendorResponseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err),\n onConfirm: () => { }\n }));\n }\n })();\n }, []);\n\n /// \n /// Author : Wind\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": startDate,\n \"EndDate\": endDate,\n \"TargetShop\": selectedShop,\n \"Vendor\": selectedVendor,\n };\n\n if (!stringIsNullOrEmpty(phone)) {\n params[\"Username\"] = phone;\n }\n\n if (!stringIsNullOrEmpty(playerId)) {\n params[\"PlayerId\"] = playerId;\n }\n\n if (!stringIsNullOrEmpty(data.viewDataType)) {\n params[\"ViewDataType\"] = Number(data.viewDataType);\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_TURNOVER_REPORT);\n }\n\n /// \n /// Author : Wind\n /// \n function updateDateRange(rangekey) {\n let targetStartDate = moment().startOf('month')\n let targetEndDate = moment().endOf('day');\n\n switch (rangekey){\n case _DATE_RANGE_TYPE.firstWeek: \n targetEndDate = moment(targetStartDate).add(7, 'days');\n break;\n case _DATE_RANGE_TYPE.firstHalfMonth:\n targetEndDate = moment(targetStartDate).add(14, 'days');\n break;\n case _DATE_RANGE_TYPE.secondHalfMonth:\n targetStartDate = moment(targetStartDate).add(14, 'days');\n targetEndDate = moment().endOf('month');\n break;\n case _DATE_RANGE_TYPE.thisMonth:\n targetEndDate = moment().endOf('month');\n break;\n default:\n break;\n }\n\n setStartDate(moment(targetStartDate).format(\"YYYY-MM-DD HH:mm:ss\"));\n setEndDate(moment(targetEndDate).format(\"YYYY-MM-DD 23:59:59\"));\n }\n\n /// \n /// Author : Wind\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData])\n\n return (\n
    \n

    {t(\"TURNOVER_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n setPhone(e.target.value)} className=\"form-control form-control-lg\" />\n
    \n
    \n
    \n
    \n \n setPlayerId(e.target.value)} className=\"form-control form-control-lg\" />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setSelectedVendor(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n
    \n    \n    \n    \n    \n    \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default TurnoverReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledButtonDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from 'reactstrap';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AlertTypes, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, arrayGroupByKey } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport Select from \"react-select\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from '../../../redux/AppAction';\nimport { Collapse } from 'reactstrap';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : CK\n/// \nconst TurnoverRewardReport = props => {\n let _dispatch = useDispatch();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [summaryApiUrl, setSummaryApiUrl] = useState('');\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [detailData, setDetailData] = useState([]);\n const [showSummary, setShowSummary] = useState(false);\n const [showDetail, setShowDetail] = useState(false);\n const [phone, setPhone] = useState('');\n const [startDate, setStartDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [postData, setPostData] = useState({});\n const [summaryPostData, setSummaryPostData] = useState({});\n const [recordDateSummary, setRecordDateSummary] = useState([]);\n const [showRecordDateSummary, setShowRecordDateSummary] = useState(false);\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const RewardReportType = [\n { value: -1, label: t(\"ALL\") },\n { value: 1, label: t(\"REWARD_HISTORY_TYPE_TURNOVER\") },\n { value: 2, label: t(\"REWARD_HISTORY_TYPE_HIGH_PAYOUT\") },\n { value: 3, label: t(\"REWARD_HISTORY_TYPE_HIGH_BONUS\") },\n { value: 4, label: t(\"REWARD_HISTORY_TYPE_DOWNLINE_COMMISSION\") },\n { value: 5, label: t(\"REWARD_HISTORY_TYPE_SPIN\") },\n { value: 6, label: t(\"REWARD_HISTORY_TYPE_KOG\") },\n { value: 7, label: t(\"REWARD_HISTORY_TYPE_ANG_POW\") },\n { value: 8, label: t(\"REWARD_HISTORY_TYPE_WELCOME_BONUS\") }\n ]\n const [selectedRewardType, setSelectedRewardType] = useState(RewardReportType[0]['value']);\n const [showResyncBonusPanel, setShowResyncBonusPanel] = useState(false);\n const [resyncDate, setResyncDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD\"));\n const [playerUsername, setPlayerUsername] = useState('');\n var _userData = useSelector(state => state['authState']['userData']);\n\n let _summaryTableColumns = [\n {\n Header: \"DATE\",\n accessor: \"date\",\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount} : {row.original.amount};\n },\n disableSortBy: true\n }\n ]\n\n let _detailTableColumns = [\n {\n Header: \"PLAYER_USERNAME\",\n accessor: \"playerUsername\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendorGameName\",\n Cell: ({ row }) => {\n return {row.original.vendorGameName ?? row.original.vendorName};\n },\n disableSortBy: true\n },\n {\n Header: \"TURNOVER\",\n accessor: \"turnoverAmount\",\n disableSortBy: true\n },\n {\n Header: t(\"FACTOR\") + \" (%)\",\n accessor: \"factor\",\n disableSortBy: true\n },\n {\n Header: \"REWARD\",\n accessor: \"reward\",\n Cell: ({ row }) => {\n let rewardEarnt = row.original.reward;\n return {rewardEarnt.toFixed(Math.max(2, (rewardEarnt.toString().split('.')[1] || []).length))};\n },\n disableSortBy: true\n },\n ]\n\n let _tableColumns = [\n {\n Header: \"PROCESS_DATE\",\n accessor: \"createdTime\",\n disableSortBy: true\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n accessor: \"shopUsername\",\n disableSortBy: true\n },\n {\n Header: \"REGION\",\n accessor: \"region\",\n disableSortBy: true\n },\n {\n Header: \"REWARD_TYPE\",\n accessor: \"typeName\",\n Cell: ({ row }) => {\n return {t(RewardReportType.find(r => r.value == row.original.typeId).label)};\n },\n disableSortBy: true\n },\n {\n Header: \"PRE_REWARD\",\n accessor: \"preReward\",\n disableSortBy: true\n },\n {\n Header: \"REWARD\",\n accessor: \"reward\",\n Cell: ({ row }) => {\n return row.original.reward > 0 ? {row.original.reward} : {row.original.reward};\n },\n disableSortBy: true\n },\n {\n Header: \"POST_REWARD\",\n accessor: \"postReward\",\n disableSortBy: true\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n
    \n \n \n \n \n \n {\n readRewardDetail(row.original.historyId);\n }}>\n {t(\"VIEW_DETAIL\")}\n \n \n \n
    \n ),\n },\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n init();\n }, []);\n\n /// \n /// Author : CK\n /// \n async function init() {\n await getVendorOption();\n var apiUrl = ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP;\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function getVendorOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function readRewardDetail(historyId) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_TURNOVER_REWARD_DETAIL.replace(\"{historyId}\", historyId));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShowDetail(true);\n setDetailData(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author : CK\n /// \n function filterTurnoverRewardReport(isSummary) {\n var data = {\n \"Username\": phone,\n \"StartDate\": startDate + \" 00:00:00\",\n \"EndDate\": endDate + \" 23:59:59\",\n \"TargetShop\": selectedShop,\n \"TargetVendor\": selectedVendor,\n \"TypeId\": selectedRewardType\n };\n\n if (isSummary) {\n setSummaryPostData(data);\n setSummaryApiUrl(ApiUrl._API_GET_TURNOVER_REWARD_SUMMARY_REPORT);\n }\n else {\n setPostData(data);\n setApiUrl(ApiUrl._API_GET_TURNOVER_REWARD_REPORT);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function getRecordDateSummary() {\n var data = {\n \"Phone\": phone,\n \"StartDate\": startDate + \" 00:00:00\",\n \"EndDate\": endDate + \" 23:59:59\",\n \"TargetShop\": selectedShop,\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_GET_REWARD_RECORD_DATE_REPORT, data);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShowRecordDateSummary(true);\n setRecordDateSummary(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function resyncHighBonusReward() {\n console.log(playerUsername, resyncDate);\n\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_RESYNC_HIGH_BONUS_REWARD}?playerUsername=${playerUsername}&drawDate=${resyncDate}`);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }))\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [postData, apiUrl])\n\n return (\n
    \n

    {t(\"REWARD_REPORT\")}

    \n \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n }\n else {\n setStartDate(\"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n }\n else {\n setEndDate(\"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n setPhone(e.target.value)} />\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n {PaginationTable}\n \n \n \n \n {t('COPIED')}\n \n \n
    \n );\n};\n\nexport default ShopEghlReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../components/custom/ReactTable\";\nimport { ApiUrl } from \"../../util/Constant\";\nimport { stringIsNullOrEmpty } from \"../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport { useSelector } from \"react-redux\";\nimport { TransactionType, Status } from '../../util/Constant';\n\n/// \n/// Author : CK\n/// \nconst Report = props => {\n const _MAX_ROW_RETRIEVAL = 20;\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [postData, setPostData] = useState({});\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const _userData = useSelector(state => state.authState.userData);\n\n const _TYPE_OPTION = {\n ALL: -1,\n IN: 0,\n OUT: 1,\n };\n\n let _tableColumns = [\n {\n Header: \"DATE\",\n accessor: \"createdTime\",\n Footer: () => {\n return {t('TOTAL')}: \n },\n disableSortBy: true\n },\n {\n Header: \"OPERATED_BY\",\n accessor: \"operatedBy\",\n disableSortBy: true\n },\n {\n Header: \"TARGET_SHOP\",\n accessor: \"operatedShop\",\n disableSortBy: true\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\",\n disableSortBy: true\n },\n {\n Header: \"SERIAL_NUMBER\",\n accessor: \"playerId\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendor\",\n disableSortBy: true\n },\n {\n Header: \"TRANSACTION_TYPE\",\n accessor: \"transactionType\",\n Cell: ({ row }) => {\n return renderTransactionType(row.original.transactionType);\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"SUCCESS\")} : {t(\"FAILED\")};\n },\n disableSortBy: true\n },\n {\n Header: \"TYPE\",\n accessor: \"type\",\n Cell: ({ row }) => {\n return row.original.type[0];\n },\n disableSortBy: true\n },\n {\n Header: \"INITIAL_LIMIT\",\n accessor: \"shopInitialLimit\",\n Footer: ({ page }) => {\n const initialLimitTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopInitialLimit);\n }, 0);\n\n return {initialLimitTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount > 0 ? {row.original.amount} : {row.original.amount};\n },\n Footer: ({ page }) => {\n const scoreTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {scoreTotal.toFixed(2)}\n },\n disableSortBy: true\n },\n {\n Header: \"FINAL_LIMIT\",\n accessor: \"shopFinalLimit\",\n Footer: ({ page }) => {\n const finalLimitTotal = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.shopFinalLimit);\n }, 0);\n\n return {finalLimitTotal.toFixed(2)}\n },\n disableSortBy: true\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"OperatedBy\": [_userData.userId],\n \"Type\": parseInt(data.type),\n \"TransactionType\": _TYPE_OPTION.ALL,\n \"Status\": parseInt(data.status),\n \"RowLimit\": _MAX_ROW_RETRIEVAL\n };\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_SET_SCORE_REPORT);\n }\n\n /// \n /// Author : CK\n /// \n function isValidDate(selectedDate) {\n return selectedDate.format(\"YYYY-MM-DD\") <= moment().format(\"YYYY-MM-DD\");\n }\n\n /// \n /// Author : CK\n /// \n function renderTransactionType(transactionType) {\n let transactionTypeString = \"\";\n\n switch (transactionType) {\n case TransactionType._BONUS_CLAIM:\n transactionTypeString = t(\"BONUS\");\n break;\n case TransactionType._REWARD_CLAIM:\n transactionTypeString = t(\"REWARD\");\n break;\n case TransactionType._SET_LIMIT:\n transactionTypeString = t(\"LIMIT\");\n break;\n case TransactionType._SET_SCORE:\n transactionTypeString = t(\"RELOAD\");\n break;\n case TransactionType._WALLET_TRANSFER:\n transactionTypeString = t(\"CREDIT\");\n break;\n case TransactionType._SEAMLESS_SET_CREDIT:\n transactionTypeString = t(\"SEAMLESS_SET_CREDIT\");\n break;\n case TransactionType._ONLINE_WITHDRAWAL:\n transactionTypeString = t(\"ONLINE_WITHDRAWAL\");\n break;\n }\n\n return {transactionTypeString}\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n

    {t('REPORT')}

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n )\n}\n\nexport default Report;","import React, { useEffect, useRef } from 'react';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { ApiKey, ApiUrl, AlertTypes } from '../../util/Constant';\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { useDispatch } from 'react-redux';\nimport { showResponseMessage } from 'redux/AppAction.js';\nimport { useForm } from \"react-hook-form\";\nimport * as Util from '../../util/Util';\nimport Countdown from 'react-countdown';\nimport moment from 'moment'\n\n/// \n/// Author: CK\n/// \nconst PasswordConfirmationModal = props => {\n const { t } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, errors, unregister, setValue } = useForm();\n const _inputTxtRef = useRef(null);\n \n /// \n /// Author: CK\n /// \n async function verifyPassword(data) {\n if (data.password == undefined) {\n data.password = \"\";\n }\n\n if (!props.skipPasswordCheck) {\n var responseJson = await ApiEngine.post(ApiUrl._API_VERIFY_PASSWORD + \"?userId=\" + props.memberId + \"&password=\" + data.password);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n props.onConfirm(data.password);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n else {\n props.onConfirm(data.password);\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'password' }, { required: !props.skipPasswordRequiredCheck });\n if (_inputTxtRef.current) {\n _inputTxtRef.current.focus();\n }\n\n return (() => {\n unregister(\"password\");\n });\n }, [])\n\n /// \n /// Author: CK\n /// \n const countDownRenderer = ({ hours, minutes, seconds, completed }) => {\n if (completed) {\n // Render a completed state\n _dispatch(showResponseMessage(false, t(\"TRANSACTION_REQUEST_EXPIRED\")));\n props.onCancel();\n return ({t(\"EXPIRED\")})\n }\n else {\n // Render a countdown\n return ({t(\"EXPIRE_IN\")}: {minutes}:{seconds})\n }\n };\n\n return (\n
    \n \n
    \n
    \n {\n setValue(\"password\", e.target.value);\n }} />\n {errors[\"password\"] &&
    {t(Util.getValidationMessage(errors[\"password\"]))}
    }\n
    \n
    \n \n \n
    \n {/* {\n props.expiredAt &&\n
    \n \n
    \n } */}\n
    \n
    \n }>\n
    {t('ENTER_PASSWORD_TO_CONFIRM')}
    \n \n \n );\n}\nexport default PasswordConfirmationModal;","import React, { useState, useEffect, Fragment, useRef } from 'react';\nimport { Panel, PanelBody, PanelHeader } from '../../components/panel/panel';\nimport { ApiKey, WebUrl, ApiUrl, AlertTypes, Role, SystemSettingName } from '../../util/Constant';\nimport { createMultiPartFormBody, navigateTo, formatNumber, getValidationMessage, stringIsNullOrEmpty, validatePhoneNumber, isObjectEmpty } from \"../../util/Util\";\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport IntlTelInput from 'react-intl-tel-input';\nimport { showMessage, showResponseMessage } from 'redux/AppAction';\nimport PasswordConfirmationModal from \"../../components/custom/PasswordConfirmationModal\";\n\n/// \n/// Author : Andrew\n/// CK - Edit member details\n/// \nconst MemberDetails = props => {\n let _history = useHistory();\n let _location = useLocation();\n let _dispatch = useDispatch();\n const { t, i18n } = useTranslation();\n const {\n register: registerEditMember,\n handleSubmit: handleSubmitEditMember,\n errors: errorsEditMember,\n setValue: setValueEditMember,\n triggerValidation: triggerValidationEditMember,\n watch: watchEditMember\n } = useForm();\n const {\n register: registerEditPassword,\n handleSubmit: handleSubmitEditPassword,\n errors: errorsEditPassword,\n setValue: setValueEditPassword,\n } = useForm();\n const [memberDetails, setMemberDetails] = useState(null);\n const [availableProduct, setAvailableProduct] = useState([]);\n const [renderPhone, setRenderPhone] = useState(false);\n const [phone, setPhone] = useState('');\n const [selectedProduct, setSelectedProduct] = useState('');\n const [passwordConfirmation, setPasswordConfirmation] = useState(false);\n const _phoneFieldRef = useRef(null);\n\n /// \n /// Author : Andrew\n /// \n useEffect(() => {\n if (!_location.state || !_location.state.isMember) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(\"INVALID_ACCESS\"),\n onConfirm: () => navigateTo(_history, WebUrl._URL_SHOP_SEARCH),\n }));\n }\n else {\n init();\n }\n }, []);\n\n /// \n /// Author : Andrew\n /// \n async function init() {\n try {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + (_location.state != undefined ? _location.state.data.id : \"\"));\n setRenderPhone(false);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMemberDetails(responseJson[ApiKey._API_DATA_KEY]);\n setPhone(responseJson[ApiKey._API_DATA_KEY].phoneNumber);\n setRenderPhone(true);\n\n var responseJson = await ApiEngine.get(ApiUrl._API_RETRIEVE_RELOAD_DETAILS + \"?username=\" + (_location.state != undefined ? _location.state.data.username : \"\"));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let products = [];\n responseJson[ApiKey._API_DATA_KEY].map((game, index) => {\n if (stringIsNullOrEmpty(selectedProduct)) {\n setSelectedProduct(game.vendor.code);\n }\n products.push({ value: game.vendor.code, label: game.vendor.name, displayName: game.vendor.shortName });\n })\n\n setAvailableProduct(products);\n }\n else {\n throw new Error(responseJson[ApiKey._API_SUCCESS_KEY]);\n }\n }\n else {\n throw new Error(responseJson[ApiKey._API_SUCCESS_KEY]);\n }\n }\n catch (e) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(e.message),\n onConfirm: () => navigateTo(_history, WebUrl._URL_SHOP_SEARCH),\n }));\n }\n }\n\n /// \n /// Author : CK\n /// \n async function editMember(data) {\n let params = {\n id: memberDetails.id,\n username: data.phone.substr(1),\n userFullName: data.phone,\n roleId: Role._MEMBER,\n phoneNumber: data.phone\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n }));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n }\n\n /// \n /// Author : CK\n /// \n async function changeMemberPassword(data) {\n if (data.newPassword != data.confirmNewPassword) {\n _dispatch(showResponseMessage(false, t('ERROR_PASSWORD_NOT_MATCH')));\n }\n else {\n var apiUrl = ApiUrl._API_CHANGE_PASSWORD + \"?oldPassword=\" + data.oldPassword + \"&newPassword=\" + data.newPassword + \"&targetUserId=\" + memberDetails.id;\n var responseJson = await ApiEngine.post(apiUrl);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n resetEditPasswordForm();\n }\n }\n }\n\n /// \n /// Author : CK\n /// \n function resetEditPasswordForm() {\n setValueEditPassword(\"oldPassword\", \"\");\n setValueEditPassword(\"newPassword\", \"\");\n setValueEditPassword(\"confirmNewPassword\", \"\");\n }\n\n /// \n /// Author : CK\n /// \n async function resetPasswordHandler() {\n try {\n var apiUrl = ApiUrl._API_RESET_MEMBER_PASSWORD + \"?userId=\" + memberDetails.id;\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (responseJson[ApiKey._API_DATA_KEY] == null || isObjectEmpty(responseJson[ApiKey._API_DATA_KEY])) {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n else {\n let responseData = responseJson[ApiKey._API_DATA_KEY];\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t('ARE_YOU_SURE'),\n content: t('RESET_PASSWORD_ATTEMPT_CHARGE', { attempt: responseData.attempt, charge: responseData.charge }),\n showCancel: true,\n onConfirm: () => resetPasswordWithCharges()\n }));\n }\n }\n else {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showResponseMessage(false, t(err)));\n }\n finally {\n resetEditPasswordForm();\n }\n }\n\n /// \n /// Author : Wind\n /// \n async function resetPasswordWithCharges() {\n var apiUrl = ApiUrl._API_RESET_MEMBER_PASSWORD + \"?userId=\" + memberDetails.id + \"&chargeConfirmation=true\";\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n\n }\n\n /// \n /// Author : Andrew\n /// \n const onChangePhoneNumber = (isValid, newNumber, countryData, fullNumber) => {\n setPhone(newNumber.toString().replace(/\\s/g, '').replace(/\\-/g, ''));\n let formattedNumber = fullNumber.toString().split(/[- ]+/).join('').replace(\"+\", \"\");\n\n registerEditMember({ name: \"phone\" }, {\n validate: (value) => (validatePhoneNumber(fullNumber, countryData[\"iso2\"]) && validatePhoneNumber(newNumber, countryData[\"iso2\"])) || \"REQUIRED_VALID_PHONE_NUMBER\"\n });\n setValueEditMember(\"phone\", formattedNumber);\n triggerValidationEditMember(\"phone\")\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function createPlayer() {\n var apiUrl = ApiUrl._API_SHOP_CREATE_PLAYER + \"?code=\" + selectedProduct + \"&MemberId=\" + memberDetails.id;\n\n var responseJson = await ApiEngine.post(apiUrl);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n\n /// \n /// Author: CK\n /// \n async function editPhoneValidation() {\n if (watchEditMember(\"phone\") != memberDetails.phoneNumber) {\n setPasswordConfirmation(true);\n }\n else {\n handleSubmitEditMember(editMember)();\n }\n }\n\n return (\n
    \n

    {t('MEMBER_INFO')} {_location.state != undefined && _location.state.data.username}

    \n
    \n
    \n \n \n \n
    \n \n
    \n {renderPhone && {\n onChangePhoneNumber(_phoneFieldRef.current.isValidNumber(phone), newNumber, countryData, fullNumber);\n }}\n onPhoneNumberChange={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n onPhoneNumberBlur={(isValid, newNumber, countryData, fullNumber, ext) => {\n onChangePhoneNumber(isValid, newNumber, countryData, fullNumber);\n }}\n customPlaceholder={(placeholder, countryData) => {\n return placeholder.split(/[- ]+/).join('');\n }}\n defaultValue={phone}\n value={phone}\n useMobileFullscreenDropdown={false}\n separateDialCode />}\n {errorsEditMember.phone &&
    {t(getValidationMessage(errorsEditMember.phone))}
    }\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n {passwordConfirmation &&\n {\n handleSubmitEditMember(editMember)();\n setPasswordConfirmation(false);\n }}\n onCancel={() => { setPasswordConfirmation(false); }} />\n }\n
    \n
    \n
    \n )\n}\n\nexport default MemberDetails;","import React, { useState, useEffect } from 'react';\nimport { ApiKey, ApiUrl } from '../../util/Constant';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ReactTable from \"./ReactTable\";\nimport moment from \"moment\";\n\n/// \n/// Author: CK\n/// \nconst MemberRolloverDetailModal = props => {\n var _userId = useSelector(state => state['authState']['userData']['userId']);\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const [rolloverData, setRolloverData] = useState([]);\n\n let _tableColumns = [\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true,\n width: 100\n },\n {\n Header: \"REGION\",\n accessor: \"regionName\",\n disableSortBy: true,\n width: 50\n },\n {\n Header: \"LAST_DEPOSIT\",\n accessor: \"depositType\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    \n {t(\"DEPOSIT_TYPE\")}: {row.original.depositType}
    \n {t(\"OPERATED_TIME\")}: {row.original.parsedLastDepositTime}
    \n {t(\"AMOUNT\")}: {row.original.lastDepositAmount}
    \n {t(\"OPERATED_BY\")}: {row.original.lastDepositOperatedBy}\n
    \n }\n },\n {\n Header: \"TURNOVER\",\n accessor: \"turnover\",\n disableSortBy: true,\n width: 100\n },\n {\n Header: \"LAST_WITHDRAWAL\",\n accessor: \"withdrawalType\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    \n {t(\"WITHDRAWAL_TYPE\")}: {row.original.withdrawalType}
    \n {t(\"OPERATED_TIME\")}: {row.original.parsedLastWithdrawalTime}
    \n {t(\"AMOUNT\")}: {row.original.lastWithdrawalAmount}
    \n {t(\"OPERATED_BY\")}: {row.original.lastWithdrawalOperatedBy}\n
    \n }\n }\n ];\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n (async () => {\n if (props.isVisible) {\n getMemberRolloverDetail();\n }\n })();\n }, [props.isVisible]);\n\n /// \n /// Author: CK\n /// \n async function getMemberRolloverDetail() {\n var apiUrl = ApiUrl._API_GET_MEMBER_ROLLOVER_DETAIL + \"?username=\" + props.username + \"&startDate=\" + moment().subtract(60, \"days\").format(\"YYYY-MM-DD HH:mm:ss\") + \"&endDate=\" + moment().format(\"YYYY-MM-DD HH:mm:ss\");\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setRolloverData([responseJson[ApiKey._API_DATA_KEY]]);\n }\n }\n\n return (\n { props.onFinish() }} size=\"xl\">\n { props.onFinish() }}>\n

    \n {t(\"ROLLOVER_DETAIL\") + ' (' + props.username + ')'}\n

    \n
    \n \n \n \n
    \n );\n}\n\nexport default MemberRolloverDetailModal;","import React, { useRef, useEffect, useState } from 'react';\nimport { Panel, PanelBody } from 'components/panel/panel.jsx';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, FilterStatus, Status, TransactionTypeId, CustomResponseCode, TransactionRequestStatus, FirebaseKey, TransactionType } from 'util/Constant.js';\nimport { ApiUrl, WebUrl } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from 'react-hook-form';\nimport ReloadDetailModal from '../../components/custom/ReloadDetailModal';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, ignoreDecimal, isObjectEmpty, printReceipt } from \"../../util/Util\";\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { useLocation, withRouter, useHistory } from \"react-router-dom\";\nimport PasswordConfirmationModal from \"../../components/custom/PasswordConfirmationModal\";\nimport AccountStatusModal from \"../../components/custom/AccountStatusModal\";\nimport AppealRequestModal from \"../../components/custom/AppealRequestModal\";\nimport MemberRolloverDetailModal from \"../../components/custom/MemberRolloverDetailModal\";\nimport { initFirebaseTransactionRequestDatabase } from '../../redux/FirebaseAction';\nimport { getShopCredit } from \"../../redux/AuthAction.js\";\nimport { TabContent, TabPane, Nav, NavItem, NavLink, Row, Col, Modal, ModalBody, ModalHeader, ModalFooter } from 'reactstrap';\nimport classnames from 'classnames';\nimport ScoreLogModal from '../../components/custom/ScoreLogModal';\nimport GameLogModal from '../../components/custom/GameLogModal';\n\n/// \n/// Author: Chris\n/// Yong Sheng Chuan - redesign flow\n/// CK - Set score verification\n/// \nconst Reload = props => {\n const _PENDING_USER_VERIFICATION_ID = 0;\n var _dispatch = useDispatch();\n var _location = useLocation();\n var _history = useHistory();\n const { t } = useTranslation();\n const { register, handleSubmit, errors, reset, setValue, getValues } = useForm({ shouldUnregister: false });\n const [gameList, setGameList] = useState([]);\n var _userData = useSelector(state => state.authState.userData);\n var [selectedUsername, setSelectedUsername] = useState('');\n var [selectedVendor, setSelectedVendor] = useState('');\n var [selectedStatus, setSelectedStatus] = useState(false);\n var [userDetail, setUserDetail] = useState();\n const [modalVisibility, setModalVisibility] = useState(false);\n const [claimRewardModal, setClaimRewardModal] = useState(false);\n const [passwordConfirmation, setPasswordConfirmation] = useState(false);\n const [setScoreParams, setSetScoreParams] = useState(null);\n const [setScoreUrl, setSetScoreUrl] = useState(\"\");\n const [rewardAmount, setRewardAmount] = useState(0);\n const [actionType, setActionType] = useState(null)\n var [selectedRemark, setSelectedRemark] = useState(\"\");\n const [accountDetail, setAccountDetail] = useState({});\n const _MIN_REWARD_CLAIM_AMOUNT = 5;\n const [transactionDetail, setTransactionDetail] = useState({});\n const [tempScoreDetail, setTempScoreDetail] = useState({});\n const [requestTransactionDetail, setRequestTransactionDetail] = useState({});\n var { requestCode } = useSelector(state => state.firebaseState);\n const [rolloverDetailModal, setRolloverDetailModal] = useState(false);\n const [memberNotes, setMemberNotes] = useState({});\n const [openNotesModal, setOpenNotesModal] = useState(false);\n const [notes, setNotes] = useState('');\n const [deactivateAccountDetail, setDeactivateAccountDetail] = useState({});\n const [scoreLogModalVisibility, setScoreLogModalVisibility] = useState(false);\n const [gameLogModalVisibility, setGameLogModalVisibility] = useState(false);\n const [selectedPlayer, setSelectedPlayer] = useState('');\n\n const _BTN_TYPE = {\n ADD: \"ADD\",\n RELOAD: \"RELOAD\",\n BLOCK: \"BLOCK\",\n DELETE: \"DELETE\",\n RESET: \"RESET\"\n }\n\n const _ACTIOM_TYPE = {\n SET_SCORE: \"SET_SCORE\",\n CLAIM_REWARD: \"CLAIM_REWARD\",\n RELOAD_CREDIT: \"RELOAD_CREDIT\"\n }\n\n const _GAME_TYPE = [\n { id: '1', type: 'APP' },\n { id: '2', type: 'H5' }\n ];\n const [currentActiveTab, setCurrentActiveTab] = useState(_GAME_TYPE[0]['id']);\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n useEffect(() => {\n if (!_location.state) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(\"INVALID_ACCESS\"),\n onConfirm: () => navigateTo(_history, WebUrl._URL_SHOP_SEARCH),\n }));\n }\n else {\n _dispatch(getShopCredit());\n initMemberDetail();\n init();\n getMemberNotes();\n }\n }, [_location.state]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(requestCode) && requestTransactionDetail[\"code\"] == requestCode) {\n getTransactionRequest(requestCode);\n }\n }, [requestCode])\n\n /// \n /// Author: CK\n /// When listening code completed from user app\n /// \n async function getTransactionRequest(code) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_TRANSACTION_REQUEST + \"?code=\" + code);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let responseData = responseJson[ApiKey._API_DATA_KEY];\n\n if (passwordConfirmation && responseData != null &&\n (responseData['status'] == TransactionRequestStatus._REJECTED || responseData['status'] == TransactionRequestStatus._SUCCESS)) {\n _dispatch(getShopCredit());\n initMemberDetail();\n showSetScoreMessage(responseData, responseData['amount'], true);\n passwordConfirmationCleanup();\n }\n }\n else {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n }));\n\n passwordConfirmationCleanup();\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function initMemberDetail() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ACCOUNT + \"?id=\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setUserDetail(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function init() {\n let apiUrl = ApiUrl._API_RETRIEVE_RELOAD_DETAILS + \"?username=\" + _location.state.username;\n\n if (_userData.isCustomerService) {\n apiUrl += \"&memberId=\" + _location.state.id;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (responseJson[ApiKey._API_DATA_KEY].length == 0) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(\"NO_VENDOR\"),\n onConfirm: () => _history.goBack(),\n }));\n return;\n }\n\n let games = [];\n responseJson[ApiKey._API_DATA_KEY].map((game, index) => {\n let products = [{ value: game.vendor.code, label: game.vendor.name, displayName: game.vendor.shortName }];\n let mobiles = [];\n\n game.players.map((player, playerIndex) => {\n mobiles.push({ value: player.username, label: player.displayUsername, status: player.status, remark: player.remark });\n })\n games.push({ index: index + 1, productOptions: products, mobileOptions: mobiles, isApp: !stringIsNullOrEmpty(game?.vendor?.appDownloadUrlAndroid) || !stringIsNullOrEmpty(game?.vendor?.appDownloadUrlIos) });\n setValue(\"amount[\" + index + \"]\", \"\");\n })\n reset();\n setGameList(games);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: Saitama\n /// \n async function getMemberNotes() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_MEMBER_NOTES + \"?memberId=\" + _location.state.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setMemberNotes(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: Chris\n /// \n const btnHandler = (type) => {\n let options = { type: AlertTypes._WARNING, title: t('ARE_YOU_SURE'), showCancel: true };\n let useCustomAlert = false;\n\n switch (type) {\n case _BTN_TYPE.ADD:\n options = {\n ...options,\n content: t('PLEASE_CONFIRM_PLAYER_ACTION', { action: t('CREATE') }),\n showCancel: true,\n onConfirm: () => createPlayer()\n };\n break;\n case _BTN_TYPE.BLOCK: {\n setAccountDetail({\n fromStatus: selectedStatus ? Status._ENABLED : Status._DISABLED,\n toStatus: !selectedStatus ? Status._ENABLED : Status._DISABLED,\n remark: selectedRemark,\n btnType: _BTN_TYPE.BLOCK\n });\n useCustomAlert = true;\n break;\n }\n case _BTN_TYPE.DELETE: {\n setAccountDetail({\n fromStatus: selectedStatus ? Status._ENABLED : Status._DISABLED,\n toStatus: Status._DELETED,\n remark: selectedRemark,\n btnType: _BTN_TYPE.DELETE\n });\n useCustomAlert = true;\n break;\n }\n case _BTN_TYPE.RESET:\n options = {\n ...options,\n content: t('PLEASE_CONFIRM_PLAYER_ACTION', { action: t(type) }),\n showCancel: true,\n onConfirm: () => playerOperation(type)\n }\n break;\n }\n\n if (!useCustomAlert) {\n _dispatch(showMessage(options));\n }\n }\n\n /// \n /// Author: YJ\n /// \n async function createPlayer() {\n var apiUrl = ApiUrl._API_SHOP_CREATE_PLAYER + \"?code=\" + selectedVendor + \"&MemberId=\" + _location.state.id;\n\n var responseJson = await ApiEngine.post(apiUrl);\n let data = responseJson[ApiKey._API_DATA_KEY];\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY]),\n `Username: ${data.member}|Game: ${data.gameName}|ID: ${data.playerUsername}|Pw: ${data.password}|Download URL (iOS): ${data.downloadUrlIos}|Download URL (Android): ${data.downloadUrlAndroid}`));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n async function performMemberTransaction(amount) {\n var responseJson = await ApiEngine.post(ApiUrl._API_RELOAD_CREDIT + \"?amount=\" + amount + \"&MemberId=\" + _location.state.id);\n let responseData = responseJson[ApiKey._API_DATA_KEY];\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (responseData[\"id\"] != _PENDING_USER_VERIFICATION_ID) {\n _dispatch(getShopCredit());\n initMemberDetail();\n showSetScoreMessage(responseData, responseData[\"score\"], true);\n }\n else {\n // Require user verification\n _dispatch(initFirebaseTransactionRequestDatabase(FirebaseKey._TRANSACTION_REQUEST + userDetail['id'], responseData['code']));\n setActionType(_ACTIOM_TYPE.RELOAD_CREDIT);\n setRequestTransactionDetail({ \"code\": responseData['code'], \"expiredAt\": responseData['expiredTime'] });\n setPasswordConfirmation(true);\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function claimReward(amount) {\n var responseJson = await ApiEngine.post(ApiUrl._API_CLAIM_REWARD + \"?amount=\" + amount + \"&MemberId=\" + _location.state.id);\n let responseData = responseJson[ApiKey._API_DATA_KEY];\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (responseData[\"id\"] != _PENDING_USER_VERIFICATION_ID) {\n _dispatch(getShopCredit());\n initMemberDetail();\n showSetScoreMessage(responseData, responseData[\"score\"], true);\n }\n else {\n // Require user verification\n _dispatch(initFirebaseTransactionRequestDatabase(FirebaseKey._TRANSACTION_REQUEST + userDetail['id'], responseData['code']));\n setActionType(_ACTIOM_TYPE.CLAIM_REWARD);\n setRequestTransactionDetail({ \"code\": responseData['code'], \"expiredAt\": responseData['expiredTime'] });\n setPasswordConfirmation(true);\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: YJ\n /// \n async function playerOperation(type, remark = \"\") {\n let apiUrl = \"\";\n\n if (type == _BTN_TYPE.RESET) {\n apiUrl = ApiUrl._API_SHOP_RESET_PASSWORD + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername;\n }\n else if (type == _BTN_TYPE.BLOCK) {\n apiUrl = ApiUrl._API_SHOP_SET_PLAYER_STATUS + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername + \"&status=\" + (selectedStatus ? \"false\" : \"true\") + \"&remark=\" + remark;\n }\n else if (type == _BTN_TYPE.DELETE) {\n apiUrl = ApiUrl._API_SHOP_DELETE_PLAYER + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername + \"&remark=\" + remark;\n }\n else {\n return;\n }\n\n var responseJson = await ApiEngine.post(apiUrl);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n function initSelectedData(key) {\n selectedVendor = (getValues()[\"product[\" + key + \"]\"]);\n selectedUsername = (getValues()[\"player[\" + key + \"]\"]);\n selectedStatus = getValues()[\"status[\" + key + \"]\"].toString() == FilterStatus._ACTIVE.toString();\n selectedRemark = (getValues()[\"remark[\" + key + \"]\"]);\n\n setSelectedUsername((getValues()[\"player[\" + key + \"]\"]));\n setSelectedVendor((getValues()[\"product[\" + key + \"]\"]));\n setSelectedStatus(getValues()[\"status[\" + key + \"]\"].toString() == FilterStatus._ACTIVE.toString());\n setSelectedRemark((getValues()[\"remark[\" + key + \"]\"]));\n }\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(setScoreUrl)) {\n setScoreConfirmation();\n }\n }, [setScoreUrl]);\n\n /// \n /// Author: Yong Sheng Chuan\n /// Edited: CK - Set score confirmation \n /// \n const submitForm = async (data, e) => {\n var validInputCount = data.amount.filter(i => !stringIsNullOrEmpty(i)).length;\n if (validInputCount > 1) {\n _dispatch(showResponseMessage(false, t(\"ONLY_ONE_RELOAD_ALLOWED\")));\n return;\n }\n else if (validInputCount == 0) {\n _dispatch(showResponseMessage(false, t(\"SELECT_ONE_RELOAD_TO_PROCEED\")));\n return;\n }\n\n var indexToUse = -1;\n data.amount.map((value, key) => {\n if (!stringIsNullOrEmpty(value) && stringIsNullOrEmpty(data.player[key] && stringIsNullOrEmpty(data.product[key])) && indexToUse < 0) {\n indexToUse = key;\n }\n });\n\n var scoreAmountSelected = data.amount[indexToUse];\n setTempScoreDetail({\n \"code\": data.product[indexToUse],\n \"username\": data.player[indexToUse],\n \"amount\": scoreAmountSelected\n });\n setSetScoreUrl(ApiUrl._API_SHOP_SET_SCORE + \"?code=\" + data.product[indexToUse] + \"&playerUsername=\" + data.player[indexToUse] + \"&score=\" + scoreAmountSelected + \"&v=\" + + Date.now());\n }\n\n /// \n /// Author: CK\n /// \n async function setScoreHandler(setScoreUrl, setScoreParams) {\n setActionType(_ACTIOM_TYPE.SET_SCORE);\n\n if (setScoreParams) {\n var responseJson = await ApiEngine.post(setScoreUrl, createMultiPartFormBody(setScoreParams));\n }\n else {\n var responseJson = await ApiEngine.post(setScoreUrl);\n }\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n\n let responseData = responseJson[ApiKey._API_DATA_KEY];\n\n if (responseJson[ApiKey._API_SUCCESS_KEY] && !setScoreParams) {\n if (responseData[\"id\"] != _PENDING_USER_VERIFICATION_ID) {\n _dispatch(getShopCredit());\n showSetScoreMessage(responseData, responseData[\"score\"], true);\n }\n else {\n // Require user verification\n _dispatch(initFirebaseTransactionRequestDatabase(FirebaseKey._TRANSACTION_REQUEST + userDetail['id'], responseData['code']));\n setRequestTransactionDetail({ \"code\": responseData['code'], \"expiredAt\": responseData['expiredTime'] });\n setPasswordConfirmation(true);\n }\n }\n else if (responseJson[ApiKey._API_SUCCESS_KEY] && setScoreUrl == ApiUrl._API_SHOP_BULK_SET_SCORE) {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(\"BULK_RELOAD_PLAYER_STATUS\",\n { successCount: responseData[\"successCount\"], failCount: responseData[\"failCount\"] })));\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function settleTransactionRequst(password) {\n try {\n var responseJson = await ApiEngine.post(ApiUrl._API_SETTLE_TRANSACTION_REQUEST + \"?code=\" + requestTransactionDetail['code'] + \"&status=\" + TransactionRequestStatus._SUCCESS + \"&password=\" + password);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n initMemberDetail();\n let responseData = responseJson[ApiKey._API_DATA_KEY];\n _dispatch(getShopCredit());\n showSetScoreMessage(responseData, responseData[\"amount\"], true);\n passwordConfirmationCleanup();\n }\n // Reject to withdraw when rollover not reached\n else if (!stringIsNullOrEmpty(responseJson[ApiKey._API_CODE_KEY]) && responseJson[ApiKey._API_CODE_KEY] == CustomResponseCode._ROLLOVER_APPEAL_REQUIRED) {\n setTransactionDetail({\n \"memberId\": _location.state.id,\n \"type\": TransactionTypeId._SET_SCORE,\n \"code\": tempScoreDetail[\"code\"],\n \"username\": tempScoreDetail[\"username\"],\n \"amount\": tempScoreDetail[\"amount\"]\n })\n }\n else {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: err\n }));\n }\n }\n\n /// \n /// Author: CK\n /// \n function setScoreConfirmation() {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t('ARE_YOU_SURE'),\n showCancel: true,\n content: t('PLEASE_CONFIRM_SET_SCORE'),\n onConfirm: () => {\n setScoreHandler(setScoreUrl, setScoreParams);\n },\n onCancel: () => passwordConfirmationCleanup()\n }));\n }\n\n /// \n /// Author: CK\n /// \n function passwordConfirmationCleanup() {\n setSetScoreParams(null);\n setSetScoreUrl(\"\");\n setRewardAmount(0);\n setActionType(null);\n setPasswordConfirmation(false);\n setRequestTransactionDetail({});\n }\n\n /// \n /// Author: CK\n /// \n function showSetScoreMessage(responseData, amount, showPrintButton = false) {\n let status = (responseData['status'] == undefined && responseData['id'] != _PENDING_USER_VERIFICATION_ID) || responseData['status'] == TransactionRequestStatus._SUCCESS;\n\n _dispatch(showMessage({\n type: status ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n title: t(status ? \"SUCCESS\" : \"FAILED\"),\n content: status ?
    {t(actionType == _ACTIOM_TYPE.RELOAD_CREDIT ? \"SET_WALLET_CREDIT_SUCCESS\" :\n actionType == _ACTIOM_TYPE.CLAIM_REWARD ? \"REWARD_CLAIMED\" : \"SET_SCORE_SUCCESS\")}: {Number(amount).toFixed(1)}
    \n : responseData['remark'],\n html: status,\n confirmBtnText: t(\"PRINT\"),\n confirmBtnBsStyle: \"success\",\n showCancel: showPrintButton,\n cancelBtnText: \"OK\",\n cancelBtnBsStyle: \"primary\",\n reverseButtons: !showPrintButton,\n onConfirm: () => {\n if (showPrintButton) {\n printReceipt(`Username: ${actionType == _ACTIOM_TYPE.RELOAD_CREDIT || actionType == _ACTIOM_TYPE.CLAIM_REWARD ? _location.state.username : tempScoreDetail.username}|${actionType != _ACTIOM_TYPE.RELOAD_CREDIT && actionType != _ACTIOM_TYPE.CLAIM_REWARD ? 'Game: ' + (responseData['gameName'] ?? responseData['playerVendorGameName']) : ''}|${actionType == _ACTIOM_TYPE.RELOAD_CREDIT ? \"Set Wallet\" : actionType == _ACTIOM_TYPE.CLAIM_REWARD ? \"Set Reward\" : \"Set Score\"}: ${amount}`)\n }\n }\n }));\n }\n\n /// \n /// Author: Wind\n /// \n const toggleTab = tab => {\n if (currentActiveTab !== tab) setCurrentActiveTab(tab);\n }\n\n /// \n /// Author: Saitama\n /// \n async function submitMemberNotes() {\n try {\n let data = {\n id: memberNotes?.id,\n memberUserId: _location.state.id,\n remark: notes\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_SAVE_MEMBER_NOTES, data);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setNotes('');\n setOpenNotesModal(!openNotesModal);\n getMemberNotes();\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: err\n }));\n }\n }\n\n /// \n /// Author: Saitama\n /// \n async function userStatusHandler(userId, status, remark = \"\") {\n let params = {\n memberUserId: userId,\n status: status,\n remark: remark\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_SHOP_UPDATE_USER_STATUS, params);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n initMemberDetail();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return <>\n

    \n {t('RELOAD')} {userDetail?.status == Status._DISABLED && {`(${t('BLOCK')})`}} {_location.state.username} ({t('WALLET_CREDIT').toUpperCase()}: {userDetail && userDetail.memberProfile.totalCredit.toFixed(2)})\n {\n !stringIsNullOrEmpty(memberNotes?.remark) &&\n

     {`[${memberNotes.remark}]`}

    \n }\n

    \n \n \n {claimRewardModal &&\n {\n setClaimRewardModal(false);\n setRewardAmount(e);\n\n if (_ACTIOM_TYPE.CLAIM_REWARD == actionType) {\n claimReward(e);\n }\n else {\n performMemberTransaction(e);\n }\n }}\n onCancel={() => { setClaimRewardModal(false); }}>\n

    {t('WALLET_CREDIT')} : {_ACTIOM_TYPE.CLAIM_REWARD == actionType ? userDetail.memberProfile.totalRewardPoint.toFixed(2) : userDetail.memberProfile.totalCredit.toFixed(2)}

    \n \n }\n {passwordConfirmation &&\n {\n settleTransactionRequst(password);\n }}\n onCancel={() => { passwordConfirmationCleanup(); }} />\n }\n \n \n
    \n
    #
    \n
    {t('PRODUCT')}
    \n
    {t('AMOUNT')}
    \n
    {t('RELOAD_MOBILE')}
    \n
    \n {\n gameList.filter(g => currentActiveTab === _GAME_TYPE[0]['id'] ? g.isApp : !g.isApp).map((game, key) => {\n var defaultStatus = FilterStatus._ACTIVE;\n var defaultRemark = \"\";\n if (game.mobileOptions.length > 0) {\n if (stringIsNullOrEmpty((getValues()[\"player[\" + key + \"]\"])) || game.mobileOptions.filter(i => i.value == (getValues()[\"player[\" + key + \"]\"])).length == 0) {\n defaultStatus = game.mobileOptions[0].status;\n defaultRemark = game.mobileOptions[0].remark;\n }\n else {\n defaultStatus = game.mobileOptions.filter(i => i.value == (getValues()[\"player[\" + key + \"]\"]))[0].status;\n defaultRemark = game.mobileOptions.filter(i => i.value == (getValues()[\"player[\" + key + \"]\"]))[0].remark;\n }\n }\n\n return (\n
    \n
    {key}
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n {\n _userData?.isCustomerService ?\n <>\n \n \n \n :\n <>\n }\n
    \n
    \n );\n })\n }\n
    \n setScoreLogModalVisibility(false)} />\n setGameLogModalVisibility(false)} />\n {\n if (isConfirm) {\n playerOperation(accountDetail.btnType, remark)\n }\n setAccountDetail({});\n }} />\n {\n setTransactionDetail({});\n }} />\n {\n if (refreshRequired) {\n init();\n }\n\n setModalVisibility(false);\n\n if (setScoreUrl && !stringIsNullOrEmpty(score)) {\n setSetScoreUrl(setScoreUrl);\n setTempScoreDetail(details);\n }\n }}\n visible={modalVisibility} />\n
    \n \n {userDetail && userDetail.memberProfile.totalRewardPoint >= _MIN_REWARD_CLAIM_AMOUNT && }\n \n {\n (_userData?.isCustomerService || _userData?.username.toUpperCase().includes(\"CM\")) &&\n \n }\n \n \n
    \n {\n if (isConfirm) {\n userStatusHandler(deactivateAccountDetail.id, deactivateAccountDetail.toStatus, remark)\n }\n setDeactivateAccountDetail({});\n }} />\n {\n setRolloverDetailModal(false);\n }}\n />\n \n \n

    {t('MEMBER_NOTES')}

    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n ;\n}\n\nexport default withRouter(Reload);","import React, { useRef, useEffect, useState } from 'react';\nimport { Panel, PanelBody } from 'components/panel/panel.jsx';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, FilterStatus, Status, TransactionTypeId, Role, TransactionRequestStatus, FirebaseKey, TransactionType } from 'util/Constant.js';\nimport { ApiUrl, WebUrl } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from 'react-hook-form';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, createFormBody, isObjectEmpty, printReceipt } from \"../../util/Util\";\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { useLocation, withRouter, useHistory } from \"react-router-dom\";\nimport { getShopCredit } from \"../../redux/AuthAction.js\";\n\n/// \n/// Author: CK\n/// \nconst EghlServiceDetail = ({ subCategory }) => {\n const _ROUTE_KEY_PIN = \"pin\";\n const _ROUTE_KEY_ETU = \"etu\";\n const _ROUTE_KEY_PMT = \"pmt\";\n const _INPUT_TYPE_PHONE = 'phone_no';\n const _INPUT_TYPE_ACCOUNT = 'acc_no';\n\n const { register, handleSubmit, errors, triggerValidation, setValue, getValues, watch } = useForm();\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n var _userData = useSelector(state => state.authState.userData);\n var _eghlLimit = useSelector(state => state.authState.eghlLimit);\n const [serviceDetail, setServiceDetail] = useState();\n const [selectedServiceType, setSelectedServiceType] = useState();\n const [selectedService, setSelectedService] = useState();\n\n var _requiredInputField = selectedService ? selectedService.max_denom != selectedService.min_denom : false;\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n geteGHLServiceDetail();\n }, []);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (selectedServiceType == _ROUTE_KEY_PIN && !isObjectEmpty(serviceDetail.pin)) {\n setSelectedService(serviceDetail.pin.services[0]);\n }\n else if (selectedServiceType == _ROUTE_KEY_ETU && !isObjectEmpty(serviceDetail.etu)) {\n setSelectedService(serviceDetail.etu.services[0]);\n }\n else if (selectedServiceType == _ROUTE_KEY_PMT && !isObjectEmpty(serviceDetail.pmt)) {\n setSelectedService(serviceDetail.pmt.services[0]);\n }\n }, [selectedServiceType]);\n\n /// \n /// Author: CK\n /// \n const geteGHLServiceDetail = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SERVICE_DETAIL + \"?subCategoryId=\" + subCategory.id);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let currentServiceDetail = responseJson[ApiKey._API_DATA_KEY];\n setServiceDetail(currentServiceDetail);\n\n if (currentServiceDetail.selection.length > 0) {\n let currentSelectedServiceType = currentServiceDetail.selection[0];\n setSelectedServiceType(currentSelectedServiceType);\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n const submitForm = async (data, e) => {\n console.log(\"Data\", data, selectedService);\n if (_requiredInputField && !selectedService) {\n _dispatch(showResponseMessage(false, t(\"PLEASE_SELECT_AMOUNT\")));\n return;\n }\n\n let params = {};\n let dialogConfirmationService = \"\";\n\n if (selectedServiceType == _ROUTE_KEY_PIN) {\n if (selectedService.max_denom > _eghlLimit) {\n _dispatch(showResponseMessage(false, t(\"INSUFFICIENT_LIMIT\")));\n return;\n }\n\n dialogConfirmationService = \"Amount: RM\" + selectedService.max_denom;\n\n params = {\n 'initialAmount': selectedService.max_amount_cents,\n 'amount': selectedService.max_amount_cents,\n 'serviceId': selectedService.id,\n 'type': selectedServiceType.toUpperCase(),\n 'deviceId': window.navigator.userAgent,\n 'enableVerification': false\n };\n }\n else if (selectedServiceType == _ROUTE_KEY_ETU) {\n if ((_requiredInputField ? data['amount'] : selectedService.min_denom) > _eghlLimit) {\n _dispatch(showResponseMessage(false, t(\"INSUFFICIENT_LIMIT\")));\n return;\n }\n\n dialogConfirmationService = !stringIsNullOrEmpty(data['accountNo']) ? \"Account No: \" + data['accountNo'] + \"\\n\" : \"\";\n dialogConfirmationService += \"Amount: RM\" + (_requiredInputField ? data['amount'] : selectedService.min_denom);\n\n params = {\n 'amount': (_requiredInputField ? data['amount'] : selectedService.min_denom) * 100,\n 'serviceId': selectedService.id,\n 'type': selectedServiceType.toUpperCase(),\n 'deviceId': window.navigator.userAgent,\n 'enableVerification': false,\n 'accountNo': data['accountNo']\n };\n }\n else if (selectedServiceType == _ROUTE_KEY_PMT) {\n if (data['amount'] > _eghlLimit) {\n _dispatch(showResponseMessage(false, t(\"INSUFFICIENT_LIMIT\")));\n return;\n }\n\n dialogConfirmationService = !stringIsNullOrEmpty(data['accountNo']) ? \"Account No: \" + data['accountNo'] + \"\\n\" : \"\";\n dialogConfirmationService += \"Amount: RM\" + (_requiredInputField ? data['amount'] : selectedService.min_denom);\n\n params = {\n 'amount': data['amount'] * 100,\n 'serviceId': selectedService.id,\n 'type': selectedServiceType.toUpperCase(),\n 'deviceId': window.navigator.userAgent,\n 'enableVerification': false,\n 'accountNo': data['accountNo']\n };\n }\n\n if (params.amount <= 0) {\n _dispatch(showResponseMessage(false, t(\"MIN_ERROR\")));\n return;\n }\n\n _dispatch(showMessage({\n type: AlertTypes._INFO,\n title: \"Confirm purchase \" + subCategory.ssc_name,\n content: dialogConfirmationService,\n showCancel: true,\n onConfirm: () => {\n createEghlTransaction(params);\n }\n }));\n }\n\n /// \n /// Author: CK\n /// \n const createEghlTransaction = async (params) => {\n console.log(params);\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_EGHL_TRANSACTION, createFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let eGHLResponse = responseJson[ApiKey._API_DATA_KEY];\n let receiptContent = !stringIsNullOrEmpty(eGHLResponse.pin) ? \"Pin: \" + eGHLResponse.pin + \"\\n\" : \"\";\n receiptContent += !stringIsNullOrEmpty(eGHLResponse.pin_expiry) ? \"Pin Expiry: \" + eGHLResponse.pin_expiry + \"\\n\" : \"\";\n receiptContent += !stringIsNullOrEmpty(eGHLResponse.details) ? \"Instruction: \" + eGHLResponse.details : \"\";\n\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n title: t(\"SUCCESS\"),\n content: \"Transaction ID: \" + eGHLResponse.transactionId + \"\\nPlease print the receipt for pin/instruction to topup.\\n\" + \"\",\n confirmBtnText: t(\"PRINT\"),\n confirmBtnBsStyle: \"success\",\n showCancel: false,\n cancelBtnText: \"OK\",\n cancelBtnBsStyle: \"primary\",\n onConfirm: () => {\n printReceipt(receiptContent);\n }\n }));\n \n _dispatch(getShopCredit());\n }\n else {\n _dispatch(showResponseMessage(false, responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }\n\n return
    \n {\n subCategory &&\n
    \n {subCategory.ssc_name}\n

    {subCategory.ssc_name}

    \n
    \n }\n
    \n {\n serviceDetail ?\n
    \n
    \n {\n serviceDetail.selection.map(i => {\n return { setSelectedServiceType(i); }}\n >\n {t(i.toUpperCase())}\n \n })\n }\n
    \n
    \n
    \n {\n selectedServiceType == _ROUTE_KEY_PIN && !isObjectEmpty(serviceDetail.pin) ?\n
    \n {\n serviceDetail.pin.services.map(i => {\n return { setSelectedService(i); }}\n >\n {'RM ' + i.max_denom}\n \n })\n }\n
    \n :\n selectedServiceType == _ROUTE_KEY_ETU && !isObjectEmpty(serviceDetail.etu) ?\n
    \n
    \n \n \n {errors.accountNo &&
    {t(errors.accountNo.message)}
    }\n
    \n {\n _requiredInputField ?\n
    \n \n \n {errors.amount &&
    {t(errors.amount.message)}
    }\n
    \n :\n serviceDetail.etu.services.map(i => {\n return { setSelectedService(i); }}\n >\n {'RM ' + i.max_denom}\n \n })\n }\n
    \n :\n selectedServiceType == _ROUTE_KEY_PMT && !isObjectEmpty(serviceDetail.pmt) ?\n
    \n
    \n \n \n {errors.accountNo &&
    {t(errors.accountNo.message)}
    }\n
    \n {\n _requiredInputField ?\n
    \n \n \n {errors.amount &&
    {t(errors.amount.message)}
    }\n
    \n :\n serviceDetail.pmt.services.map(i => {\n return { setSelectedService(i); }}\n >\n {'RM ' + i.max_denom}\n \n })\n\n }\n
    \n :\n <>\n }\n \n
    \n
    \n
    \n :\n

    {t(\"NO_DATA_FOUND\")}

    \n }\n
    \n
    ;\n}\n\nexport default EghlServiceDetail;","import React, { useRef, useEffect, useState } from 'react';\nimport { Panel, PanelBody } from 'components/panel/panel.jsx';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, FilterStatus, Status, TransactionTypeId, Role, TransactionRequestStatus, FirebaseKey, TransactionType } from 'util/Constant.js';\nimport { ApiUrl, WebUrl } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from 'react-hook-form';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, ignoreDecimal, isObjectEmpty, printReceipt, numberWithCurrencyFormat } from \"../../util/Util\";\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport { useLocation, withRouter, useHistory } from \"react-router-dom\";\nimport EghlServiceDetail from '../../components/custom/EghlServiceDetail';\n\n/// \n/// Author: CK\n/// \nconst EGHLReload = props => {\n const _CATEGORY_PAGE = \"CATEGORY\";\n const _SUBCATEGORY_PAGE = \"SUBCATEGORY\";\n const _DETAIL_PAGE = \"DETAIL\";\n\n var _dispatch = useDispatch();\n var _location = useLocation();\n var _history = useHistory();\n const { t } = useTranslation();\n var _eghlLimit = useSelector(state => state.authState.eghlLimit);\n var _userData = useSelector(state => state.authState.userData);\n const [currentServicePage, setCurrentServicePage] = useState(_CATEGORY_PAGE);\n const [serviceCategories, setServiceCategories] = useState([]);\n const [serviceSubCategories, setServiceSubCategories] = useState([]);\n const [selectedSubCategory, setSelectedSubCategory] = useState();\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n // if (!(_userData.userRoleId == Role._SHOP && _userData.canEghlReload)) {\n navigateTo(_history, WebUrl._URL_MAIN);\n return;\n // }\n\n geteGHLServicesCategory();\n }, []);\n\n /// \n /// Author: CK\n /// \n const geteGHLServicesCategory = async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SERVICE_CATEGORY);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (responseJson[ApiKey._API_DATA_KEY].length) {\n setServiceCategories(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n const geteGHLServicesSubCategory = async (categoryId) => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SERVICE_SUBCATEGORY + \"?categoryId=\" + categoryId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setCurrentServicePage(_SUBCATEGORY_PAGE);\n\n if (responseJson[ApiKey._API_DATA_KEY].length) {\n setServiceSubCategories(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return <>\n
    \n

    \n eGHL Reload\n

    \n {t(\"EGHL_LIMIT\")}: {numberWithCurrencyFormat(_eghlLimit)}\n
    \n \n \n
    \n
    \n {\n currentServicePage != _CATEGORY_PAGE &&\n {\n if (currentServicePage == _SUBCATEGORY_PAGE) {\n setCurrentServicePage(_CATEGORY_PAGE);\n }\n else if (currentServicePage == _DETAIL_PAGE) {\n setCurrentServicePage(_SUBCATEGORY_PAGE);\n setSelectedSubCategory(null);\n }\n }}\n >\n {t(\"BACK\")}\n \n }\n
    \n
    \n {\n currentServicePage == _CATEGORY_PAGE ?\n serviceCategories.map(i => {\n return
    \n {\n geteGHLServicesSubCategory(i.id);\n }}\n className=\"btn btn-eghl-service\"\n >\n {i.sc_code}\n
    {i.sc_name}
    \n \n
    \n })\n :\n currentServicePage == _SUBCATEGORY_PAGE ?\n serviceSubCategories.map(i => {\n return
    \n {\n setSelectedSubCategory(i);\n setCurrentServicePage(_DETAIL_PAGE);\n }}\n className=\"btn btn-eghl-service\"\n >\n {i.ssc_name}\n
    {i.ssc_name}
    \n \n
    \n })\n :\n currentServicePage == _DETAIL_PAGE ?\n \n :

    {t(\"NO_DATA_FOUND\")}

    \n }\n
    \n
    \n
    \n
    \n ;\n}\n\nexport default withRouter(EGHLReload);","import React, { useMemo, useState, useEffect } from 'react';\nimport { Panel, PanelBody } from 'components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport ReactTable from 'components/custom/ReactTable';\nimport { useLocation, withRouter, useHistory } from \"react-router-dom\";\nimport { useDispatch } from \"react-redux\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo } from \"../../util/Util\";\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, FilterStatus } from 'util/Constant.js';\nimport { ApiUrl, WebUrl } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport PasswordConfirmationModal from \"../../components/custom/PasswordConfirmationModal\";\n\n/// \n/// Author: Chris\n/// Editted: YJ (Change From Dummy UI to Functional UI)\n/// \nconst ClaimBonus = () => {\n var _dispatch = useDispatch();\n var _location = useLocation();\n var _history = useHistory();\n const { t } = useTranslation();\n const [bonusData, setBonusData] = useState([]);\n const [username, setUsername] = useState('');\n const [memberId, setMemberId] = useState('');\n const [passwordConfirmation, setPasswordConfirmation] = useState(false);\n const [selectedId, setSelectedId] = useState('');\n const [selectedAction, setSelectedAction] = useState();\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (!_location.state) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(\"INVALID_ACCESS\"),\n onConfirm: () => navigateTo(_history, WebUrl._URL_SHOP_SEARCH),\n }));\n return;\n }\n init();\n }, [_location.state])\n\n /// \n /// Author: YJ\n /// \n async function init() {\n setUsername(_location.state.username);\n setMemberId(_location.state.id);\n await getMemberPrize();\n }\n\n /// \n /// Author: YJ\n /// \n async function getMemberPrize() {\n var getPrizeResponseJson = await ApiEngine.get(ApiUrl._API_GET_MEMBER_PRIZE + \"?id=\" + _location.state.id + \"&isPromotionId=false\");\n if (getPrizeResponseJson[ApiKey._API_SUCCESS_KEY]) {\n setBonusData(getPrizeResponseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: YJ\n /// \n async function performBonusAction() {\n var getPrizeResponseJson = await ApiEngine.post(ApiUrl._API_SET_MEMBER_PRIZE_STATUS + \"?id=\" + selectedId\n + \"&status=\" + selectedAction);\n \n if (getPrizeResponseJson[ApiKey._API_SUCCESS_KEY]) {\n await getMemberPrize();\n }\n setPasswordConfirmation(false);\n _dispatch(showResponseMessage(getPrizeResponseJson[ApiKey._API_SUCCESS_KEY], t(getPrizeResponseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: YJ\n /// \n function passwordConfirmationCleanup() {\n setSelectedAction();\n setSelectedId('');\n setPasswordConfirmation(false);\n }\n\n return <>\n

    {t(\"CLAIM_CREDIT\")}

    \n {passwordConfirmation &&\n { performBonusAction(); }}\n onCancel={() => { passwordConfirmationCleanup(); }} />\n }\n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n bonusData.map((bonus, index) => {\n return (\n \n \n \n \n \n \n \n \n \n )\n })\n }\n \n
    {t(\"NO\")}{t(\"PROMOTION_NAME\")}{t(\"ENTITLED_AMOUNT\")}{t(\"STATUS\")}{t(\"CLAIMED_DATE\")}{t(\"PERFORMED_BY\")}{t(\"ACTION\")}
    {index}{bonus.promotionName}{bonus.prizeValue.toFixed(2)}{bonus.claimStatus ? 1 : 0}{bonus.claimTime}{bonus.performedByName}{!bonus.claimStatus &&
    \n \n \n \n {\n setSelectedId(bonus.id);\n setSelectedAction(true);\n setPasswordConfirmation(true)\n }}> {t(\"ACCEPT\")}\n \n \n
    }
    \n
    \n
    \n ;\n}\n\nexport default withRouter(ClaimBonus);","import React from 'react';\nimport { Panel, PanelBody } from '../../components/panel/panel';\nimport { ApiKey, WebUrl, ApiUrl, AlertTypes, Theme } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { showMessage } from 'redux/AppAction';\n\n\n/// \n/// Author: CK\n/// \nconst Search = props => {\n let _history = useHistory();\n let _dispatch = useDispatch();\n const { t, i18n } = useTranslation();\n const { register, handleSubmit, errors } = useForm();\n\n /// \n /// Author: Andrew\n /// \n async function searchMember(data) {\n var responseJson = await ApiEngine.get(ApiUrl._API_SEARCH_MEMBER + \"?searchInput=\" + data['searchMemberInput']);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n _history.push({\n pathname: WebUrl._URL_SHOP_MEMBER_DETAILS,\n state: responseJson[ApiKey._API_DATA_KEY]\n });\n }\n else {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n }));\n }\n }\n\n return (\n
    \n
    \n \n \n

    {t('SEARCH')}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n );\n}\n\nexport default Search;","import React, { useState, useEffect } from 'react';\nimport { Panel, PanelBody } from '../../components/panel/panel';\nimport { showResponseMessage, showMessage } from '../../redux/AppAction';\nimport * as Util from '../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { ApiKey, ApiUrl, AlertTypes, Status } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useLocation } from \"react-router-dom\";\nimport { useForm } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport AccountStatusModal from '../../components/custom/AccountStatusModal';\n\nconst _BLOCK_ACTION = \"BLOCK_ACTION\";\nconst _DELETE_ACTION = \"DELETE_ACTION\";\n\n/// \n/// Author: CK\n/// \nconst BlockPuk = props => {\n let _dispatch = useDispatch();\n var _location = useLocation();\n var _userData = useSelector(state => state.authState.userData);\n const { t } = useTranslation();\n const { register, handleSubmit, errors, reset } = useForm();\n const [memberData, setMemberData] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState(null);\n const [playerList, setPlayerList] = useState([]);\n const [accountDetail, setAccountDetail] = useState({});\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n getMemberData();\n }, []);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (selectedVendor) {\n setPlayerList(selectedVendor.players);\n }\n }, [selectedVendor]);\n\n /// \n /// Author: CK\n /// \n async function getMemberData() {\n let apiUrl = ApiUrl._API_RETRIEVE_RELOAD_DETAILS + \"?username=\" + (_location.state != undefined ? _location.state.username : \"\");\n\n if (_userData.isCustomerService) {\n apiUrl += \"&memberId=\" + _location.state.id;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (responseJson[ApiKey._API_DATA_KEY].length) {\n setMemberData(responseJson[ApiKey._API_DATA_KEY]);\n if (selectedVendor == null) {\n setSelectedVendor(responseJson[ApiKey._API_DATA_KEY][0]);\n }\n else {\n setPlayerList(responseJson[ApiKey._API_DATA_KEY].filter(vendor => vendor.vendor.id == selectedVendor.vendor.id)[0].players);\n }\n }\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n function submitBlockForm(data, action) {\n let selectedStatus = playerList.filter(player => player.username == data.playerUsername)[0].status;\n let selectedRemark = playerList.filter(player => player.username == data.playerUsername)[0].remark;\n\n setAccountDetail({\n vendorCode: data.vendorCode,\n playerUsername: data.playerUsername,\n selectedStatus: selectedStatus,\n fromStatus: selectedStatus ? Status._ENABLED : Status._DISABLED,\n toStatus: action == _BLOCK_ACTION ? (!selectedStatus ? Status._ENABLED : Status._DISABLED) : Status._DELETED,\n action: action,\n remark: selectedRemark\n })\n }\n\n /// \n /// Author: CK\n /// \n async function playerOperation(selectedVendor, selectedUsername, selectedStatus, action, remark = \"\") {\n let apiUrl = \"\";\n\n if (action == _BLOCK_ACTION) {\n apiUrl = ApiUrl._API_SHOP_SET_PLAYER_STATUS + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername + \"&status=\" + (selectedStatus ? \"false\" : \"true\") + \"&remark=\" + remark;\n }\n else if (action == _DELETE_ACTION) {\n apiUrl = ApiUrl._API_SHOP_DELETE_PLAYER + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername + \"&remark=\" + remark;\n }\n else {\n return;\n }\n\n var responseJson = await ApiEngine.post(apiUrl);\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n getMemberData();\n }\n }\n\n return (\n
    \n

    {t('BLOCK_DELETE_PUK')}

    \n {\n if (isConfirm) {\n playerOperation(accountDetail.vendorCode, accountDetail.playerUsername, accountDetail.selectedStatus,\n accountDetail.action, remark)\n }\n setAccountDetail({});\n }} />\n \n \n
    \n
    \n
    \n \n
    \n \n {errors[\"vendorCode\"] &&
    {t(Util.getValidationMessage(errors[\"vendorCode\"]))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n {errors[\"playerUsername\"] &&
    {t(Util.getValidationMessage(errors[\"playerUsername\"]))}
    }\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n}\n\nexport default BlockPuk;","import React, { useRef, useState, useEffect } from 'react';\nimport { Panel, PanelBody } from '../../components/panel/panel';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, Status, ApiUrl, Role } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from 'react-hook-form';\nimport { useLocation } from 'react-router-dom';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, validatePhoneNumber } from \"../../util/Util\";\nimport IntlTelInput from 'react-intl-tel-input';\nimport 'react-intl-tel-input/dist/main.css';\n\n/// \n/// Author: CK\n/// Editted: YJ (Added Registration Function)\n/// \nconst RegisterMember = props => {\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, errors, unregister, setValue, getValues } = useForm();\n var _phoneFieldRef = useRef(null);\n var _userData = useSelector(state => state.authState.userData);\n\n /// \n /// Author: YJ\n /// \n const submitForm = async (data, e) => {\n let formattedNumber = _phoneFieldRef.current.getNumber(data.phoneNumber).split(/[- ]+/).join('').replace(\"+\", \"\");\n let randomPassword = Math.floor(100000 + Math.random() * 900000);\n\n let params = {\n username: formattedNumber.substr(1),\n userFullName: formattedNumber,\n roleId: Role._MEMBER,\n phoneNumber: formattedNumber,\n regionId: _userData.regionId,\n ownerId: _userData.userId,\n status: Status._ENABLED,\n password: randomPassword,\n pin: randomPassword\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_USER_ACCOUNT, createMultiPartFormBody(params));\n \n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY]), \n `New Member: ${formattedNumber.substr(1)}|Pw: ${randomPassword}`));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n init();\n }\n }\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n init();\n }, [])\n\n /// \n /// Author: YJ\n /// \n async function init() {\n setValue('phoneNumber', \"\");\n register({ name: 'phoneNumber' }, {\n required: \"PLEASE_ENTER_PHONE\",\n validate: { exist: value => (validatePhoneNumber(value, \"my\") && validatePhoneNumber(_phoneFieldRef.current.getNumber(value).split(/[- ]+/).join('').replace(\"+\", \"\"), \"my\")) || \"REQUIRED_VALID_PHONE_NUMBER\" }\n });\n }\n\n return (\n
    \n
    \n
    \n
    \n \n \n

    {t(\"REGISTER_A_MEMBER\")}

    \n
    \n
    \n \n\n \n \n {errors.phoneNumber &&
    {t(errors.phoneNumber.message)}
    }\n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default RegisterMember;","import React, { useRef, useState, useEffect } from 'react';\nimport { Panel, PanelBody } from '../../components/panel/panel';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, Status, ApiUrl, Role } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from 'react-hook-form';\nimport { useLocation } from 'react-router-dom';\nimport { stringIsNullOrEmpty, getValidationMessage } from \"../../util/Util\";\nimport Select from \"react-select\";\n\n/// \n/// Author: Wind\n/// \nconst RegisterPlayer = props => {\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, errors, unregister, setValue, watch } = useForm();\n var _userData = useSelector(state => state.authState.userData);\n const [gameList, setGameList] = useState([]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n init();\n register({ name: 'vendorCode' }, { required: \"PLEASE_SELECT_PRODUCT\" });\n }, [])\n\n /// \n /// Author: Wind\n /// \n async function init() {\n try {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_SHOP_ATTACHED_VENDOR}?userId=${_userData.userId}`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setGameList(responseJson[ApiKey._API_DATA_KEY].map(item => { return { value: item.actualVendorCode, label: item.vendorName + \" (\" + item.vendorShortName + \")\" } }));\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n /// \n /// Author: Wind\n /// \n const submitForm = async (data, e) => {\n try {\n if (!stringIsNullOrEmpty(data.amount) && data.amount > 0) {\n let score = 0;\n var responseJson = await ApiEngine.post(`${ApiUrl._API_SHOP_CREATE_PLAYER}?code=${data.vendorCode}`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n let returnData = responseJson[ApiKey._API_DATA_KEY];\n var topUpResponse = await ApiEngine.post(ApiUrl._API_SHOP_SET_SCORE + \"?code=\" + data.vendorCode + \"&playerUsername=\" + returnData.playerUsername + \"&score=\" + data.amount + \"&v=\" + + Date.now());\n\n if (topUpResponse[ApiKey._API_SUCCESS_KEY]) {\n score = data.amount\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], \"Vendor: \" + returnData.vendorName + \" (\" + returnData.vendorShortCode + \") \\nH/P: \" + returnData.playerUsername + \" \\nPW: ******\" + \"\\nCredit: \" + score,\n `Vendor: ${returnData.vendorName} (${returnData.vendorShortCode})|H/P: ${returnData.playerUsername}|Pw: ${returnData.password}|Credit: ${score}|iOS: ${returnData.downloadUrlIos}|Android: ${returnData.downloadUrlAndroid}`, false));\n }\n else {\n throw \"MIN_TOP_UP_IS_REQUIRED\"\n }\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err));\n }\n }\n\n return (\n
    \n
    \n
    \n
    \n \n \n

    {t(\"REGISTER_A_PLAYER\")}

    \n
    \n
    \n
    \n \n option.value == watch('vendorCode'))}\n onChange={(e) => {\n setValue(\"vendorCode\", e.value);\n }} />\n {errors.vendorCode &&
    {t(errors.vendorCode.message)}
    }\n
    \n
    \n \n {\n setValue(\"amount\", e.target.value);\n }} />\n {errors.amount &&
    {t(getValidationMessage(errors.amount))}
    }\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default RegisterPlayer;","import React, { useState, useEffect } from \"react\";\nimport { Panel, PanelBody } from '../../components/panel/panel';\nimport DateTime from 'react-datetime';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, Role } from \"../../util/Constant\";\nimport { stringIsNullOrEmpty, arrayGroupByKey } from \"../../util/Util\";\nimport { setBusy, setIdle, showResponseMessage } from '../../redux/AppAction';\nimport ReactTable from '../../components/custom/ReactTable';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport { Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\n\n/// \n/// Author: Yong Sheng Chuan\n/// \nconst ShopAgentCommissionReport = props => {\n const { t } = useTranslation();\n let _dispatch = useDispatch();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const { register, handleSubmit, setValue } = useForm();\n const [postData, setPostData] = useState({});\n const [commissionDetailData, setCommissionDetailData] = useState([]);\n const [showSummary, setShowSummary] = useState(false);\n\n const _TYPE_OPTION = {\n PENDING: 0,\n COMPLETE: 1,\n };\n\n let _tableColumns = [\n {\n Header: \"DATE\",\n accessor: \"completedDate\",\n disableSortBy: true\n },\n {\n Header: \"OPERATED_SHOP\",\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: \"PHONE_NUMBER\",\n accessor: \"phoneNumber\",\n disableSortBy: true\n },\n {\n Header: \"PLAYER_ID\",\n accessor: \"playerId\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendor\",\n disableSortBy: true\n },\n {\n Header: \"DEPOSIT_AMOUNT\",\n accessor: \"rolloverAmount\",\n disableSortBy: true,\n Footer: ({ page }) => {\n const totalRolloverAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.rolloverAmount);\n }, 0);\n\n return {totalRolloverAmount.toFixed(2)}\n }\n },\n {\n Header: \"PROFIT\",\n accessor: \"profit\",\n Cell: ({ row }) => {\n return row.original.profit > 0 ? {row.original.profit} : {row.original.profit};\n },\n disableSortBy: true,\n Footer: ({ page }) => {\n const totalProfit = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.profit);\n }, 0);\n\n return {totalProfit.toFixed(2)}\n },\n },\n {\n id: \"action\",\n Header: \"ACTION\",\n Cell: ({ row }) => (\n
    \n \n \n \n { viewCommissionDetail(row.original.id) }}>{t(\"VIEW_DETAIL\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ];\n\n let _summaryTableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"withdrawalDate\"\n },\n {\n Header: t(\"SHOP\"),\n accessor: \"shopName\"\n },\n {\n Header: t(\"WITHDRAWAL_AMOUNT\"),\n accessor: \"amount\"\n },\n {\n Header: t(\"PERCENTAGE\"),\n accessor: \"percentage\"\n },\n {\n Header: t(\"PROFIT\"),\n accessor: \"actualAmount\"\n }\n ]\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Type\": parseInt(data.type),\n };\n\n if (!stringIsNullOrEmpty(data.playerId)) {\n params[\"PlayerId\"] = data.playerId;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_AGENT_COMMISSION_REPORT);\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function viewCommissionDetail(id) {\n var responseJson = await ApiEngine.post(ApiUrl._API_GET_AGENT_COMMISSION_DETAIL_REPORT + \"?id=\" + id);\n setShowSummary(true);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setCommissionDetailData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n }, []);\n\n return (\n
    \n

    {t('COMMISSION_REPORT')}

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n setShowSummary(false)} style={{ paddingBottom: \"100px\" }} className=\"modal-lg\" keyboard={true} >\n setShowSummary(false)}>{t(\"SUMMARY\")}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n );\n}\n\nexport default ShopAgentCommissionReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../components/custom/ReactTable\";\nimport { stringIsNullOrEmpty } from \"../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, Role, AlertTypes, TransactionType, TopUpStatus } from \"../../util/Constant\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Toast, ToastBody } from 'reactstrap';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { showResponseMessage, showMessage } from '../../redux/AppAction';\nimport ApiEngine from '../../util/ApiEngine.js';\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst CreditTopupReport = props => {\n let _dispatch = useDispatch();\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [postData, setPostData] = useState({});\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [interfaceShop, setInterfaceShop] = useState();\n const _userData = useSelector(state => state.authState.userData);\n const [showToast, setShowToast] = useState(false);\n\n const _TYPE_OPTION = {\n ALL: -1,\n PENDING: 0,\n SUCCESS: 1,\n FAILED: 2\n };\n\n const _TRANSACTION_TYPE_ID = {\n GPAY: 6,\n EGHL: 7,\n EWALLET: 8,\n DUITNOW: 9,\n VENDING_MACHINE: 12,\n MOBILE_PIN_TOPUP: 13,\n KINGPAY_DUITNOW: 14,\n SHOP_EGHL: 17\n };\n\n let _tableColumns = [\n {\n Header: \"CREATED_DATE\",\n accessor: \"createdDate\",\n Footer: () => {\n return TOTAL: \n },\n disableSortBy: true,\n },\n {\n Header: \"MEMBER\",\n accessor: \"memberUsername\",\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n accessor: \"shopUsername\",\n disableSortBy: true\n },\n {\n Header: \"TRANSACTION_ID\",\n accessor: \"transactionId\",\n Cell: ({ row }) => {\n return (\n <>\n {row.original.transactionId}\n  \n {\n navigator.clipboard.writeText(row.original.transactionId);\n setShowToast(!showToast);\n }}\n >\n \n \n \n );\n },\n disableSortBy: true,\n },\n {\n Header: \"TRANSACTION_TYPE\",\n accessor: \"typeName\",\n Cell: ({ row }) => {\n return renderTransactionType(row.original.typeName);\n },\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return renderStatus(row.original.status);\n },\n disableSortBy: true\n },\n // {\n // Header: \"INITIAL_CREDIT\",\n // accessor: \"initialCredit\",\n // Cell: ({ row }) => {\n // return row.original.initialCredit.toFixed(2)\n // },\n // Footer: ({ page }) => {\n // const initialCreditTotal = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.initialCredit);\n // }, 0);\n\n // return {initialCreditTotal.toFixed(2)}\n // },\n // disableSortBy: true\n // },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.amount.toFixed(2)\n },\n // Footer: ({ page }) => {\n // const amountTotal = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.amount);\n // }, 0);\n\n // return {amountTotal.toFixed(2)}\n // },\n disableSortBy: true\n },\n // {\n // Header: \"FINAL_CREDIT\",\n // accessor: \"finalCredit\",\n // Cell: ({ row }) => {\n // return row.original.finalCredit.toFixed(2)\n // },\n // Footer: ({ page }) => {\n // const finalCreditTotal = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.finalCredit);\n // }, 0);\n\n // return {finalCreditTotal.toFixed(2)}\n // },\n // disableSortBy: true\n // },\n {\n Header: \"PROCESSED_DATE\",\n accessor: \"processedDate\",\n Cell: ({ row }) => {\n return !stringIsNullOrEmpty(row.original.processedDate) ? row.original.processedDate : '-'\n },\n disableSortBy: true\n },\n {\n Header: \"BANK_TRANSACTION_ID\",\n accessor: \"bankTransactionId\",\n Cell: ({ row }) => {\n return !stringIsNullOrEmpty(row.original.bankTransactionId) ? row.original.bankTransactionId : '-'\n },\n disableSortBy: true\n },\n {\n Header: \"REMARK\",\n accessor: \"remark\",\n disableSortBy: true\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n (_userData['isCustomerService'] && (row.original.status == TopUpStatus._PENDING || row.original.status == TopUpStatus._PENDING_APPROVAL || row.original.status == TopUpStatus._FAILED)) &&\n
    \n \n \n \n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, true);\n }\n }));\n }}>{t(\"APPROVE\")}\n {\n row.original.status != TopUpStatus._FAILED &&\n {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await verifyPassword(value, row.original, false);\n }\n }));\n }}>{t(\"REJECT\")}\n }\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n if (showToast) {\n setTimeout(() => setShowToast(!showToast), 3000)\n }\n }, [showToast])\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function renderStatus(status) {\n let statusString = \"\";\n let spanClass = \"\";\n\n switch (status) {\n case TopUpStatus._SUCCESS.toString():\n spanClass = \"badge-green\";\n statusString = t(\"SUCCESS\");\n break;\n case TopUpStatus._FAILED.toString():\n spanClass = \"badge-red\";\n statusString = t(\"FAILED\");\n break;\n default:\n spanClass = \"badge-default\";\n statusString = t(\"PENDING\");\n }\n\n return {statusString}\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n getInterfaceShop();\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : CK\n /// \n async function getInterfaceShop() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_INTERFACE_SHOP);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setInterfaceShop(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n const submitForm = async (data, e) => {\n var shopTarget = [];\n shopTarget.push(_userData.userId);\n\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"TargetShops\": shopTarget,\n \"Status\": parseInt(data.status),\n \"Username\": data.username,\n \"TransactionTypeId\": parseInt(data.transactionType),\n \"TransactionId\": data.transactionId,\n \"IsShopInterface\": true\n };\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_TOPUP_TRANSACTION);\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function isValidDate(selectedDate) {\n return selectedDate.format(\"YYYY-MM-DD\") <= moment().format(\"YYYY-MM-DD\");\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function renderTransactionType(transactionType) {\n let transactionTypeString = \"\";\n\n switch (transactionType) {\n case TransactionType._TOP_UP_GPAY:\n transactionTypeString = t(\"GPAY\");\n break;\n case TransactionType._TOP_UP_EGHL:\n transactionTypeString = t(\"EGHL\");\n break;\n case TransactionType._TOP_UP_E_WALLET:\n transactionTypeString = t(\"E_WALLET\");\n break;\n case TransactionType._TOP_UP_GPAY_DUITNOW:\n transactionTypeString = t(\"DUITNOW\");\n break;\n case TransactionType._VENDING_MACHINE:\n transactionTypeString = t(\"VENDING_MACHINE\");\n break;\n case TransactionType._MOBILE_PIN_TOPUP:\n transactionTypeString = t(\"MOBILE_PIN_TOPUP\");\n break;\n case TransactionType._KINGPAY_DUITNOW:\n transactionTypeString = t(\"KINGPAY_DUITNOW\");\n break;\n case TransactionType._SHOP_EGHL_LIMIT:\n transactionTypeString = t(\"SHOP_PURCHASE_EGHL\");\n break;\n }\n\n return {transactionTypeString}\n }\n\n /// \n /// Author: CK\n /// \n async function verifyPassword(password, transactionData, isApproved) {\n var responseJson = await ApiEngine.post(`${ApiUrl._API_VERIFY_PASSWORD}?userId=${_userData['userId']}&password=${password}`);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n SetTransactionStatus(transactionData, isApproved);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], responseJson[ApiKey._API_MESSAGE_KEY]));\n }\n }\n\n /// \n /// Author : CK\n /// \n async function SetTransactionStatus(data, status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_UPDATE_TOPUP_TRANSACTION + \"?transactionId=\" + data.transactionId + \"&status=\" + status);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n

    {t('TOP_UP_REPORT')} {(interfaceShop && interfaceShop['shopName']) ? `(${interfaceShop['shopName']} ${t('CURRENT_LIMIT')}: ${interfaceShop['credit'].toFixed(2)})` : \"\"}

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n \n \n {t('COPIED')}\n \n \n
    \n )\n}\n\nexport default CreditTopupReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../components/custom/ReactTable\";\nimport { stringIsNullOrEmpty } from \"../../util/Util\";\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, Role, Status, AlertTypes } from \"../../util/Constant\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst CreditTrasnferReport = props => {\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [postData, setPostData] = useState();\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n\n const _TRANSFER_TYPE_ID = {\n ALL: -1,\n TO_CREDIT: 1,\n TO_SCORE: 2,\n TRANSFER_SCORE: 3\n };\n\n let _tableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"date\",\n disableSortBy: true\n },\n {\n Header: t(\"MEMBER_ID\"),\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: t(\"INITIAL_VENDOR\"),\n accessor: \"initialVendor\",\n disableSortBy: true\n },\n {\n Header: t(\"TARGET_VENDOR\"),\n accessor: \"targetVendor\",\n disableSortBy: true\n },\n {\n Header: t(\"TRANSFER_TYPE\"),\n accessor: \"transferType\",\n Cell: ({ row }) => {\n return renderTransferType(row.original.transferType);\n },\n disableSortBy: true\n },\n {\n Header: t(\"AMOUNT\"),\n accessor: \"amount\",\n disableSortBy: true\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"SUCCESS\")} : {t(\"FAILED\")};\n },\n disableSortBy: true\n },\n {\n Header: \"MEMBER_INITIAL_CREDIT\",\n accessor: \"memberInitialCredit\",\n disableSortBy: true\n },\n {\n Header: \"MEMBER_FINAL_CREDIT\",\n accessor: \"memberFinalCredit\",\n disableSortBy: true\n },\n {\n Header: t(\"PLAYER_ID\"),\n accessor: \"initialPlayerGameId\",\n disableSortBy: true\n },\n {\n Header: t(\"TARGET_PLAYER_ID\"),\n accessor: \"targetPlayerGameId\",\n disableSortBy: true\n },\n ];\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n register({ name: 'member' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('member', \"\");\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n function renderTransferType(transferType) {\n let transferTypeString = \"\";\n\n switch (parseInt(transferType)) {\n case _TRANSFER_TYPE_ID.TO_CREDIT:\n transferTypeString = t(\"TO_CREDIT\");\n break;\n case _TRANSFER_TYPE_ID.TO_SCORE:\n transferTypeString = t(\"TO_SCORE\");\n break;\n default:\n transferTypeString = t(\"TRANSFER_SCORE\");\n break;\n }\n\n return {transferTypeString}\n }\n\n /// \n /// Author : Wind\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"Status\": parseInt(data.status),\n \"Type\": parseInt(data.transferType)\n };\n\n if (!stringIsNullOrEmpty(data.member)) {\n params[\"MemberId\"] = data.member;\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_CREDIT_TRANSFER_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n

    {t(\"CREDIT_TRANSFER_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n}\n\nexport default CreditTrasnferReport;","import React, { useRef, useEffect, useState } from 'react';\nimport { Panel, PanelBody } from 'components/panel/panel.jsx';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showResponseMessage, showMessage } from 'redux/AppAction.js';\nimport { AlertTypes, ApiKey, FilterStatus, WebUrl } from 'util/Constant.js';\nimport { ApiUrl, Status } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from 'react-hook-form';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, navigateTo, isObjectEmpty } from \"../../util/Util\";\nimport { useLocation, withRouter, useHistory } from \"react-router-dom\";\nimport AccountStatusModal from \"../../components/custom/AccountStatusModal\";\nimport ReloadDetailModal from 'components/custom/ReloadDetailModal';\nimport PasswordConfirmationModal from \"../../components/custom/PasswordConfirmationModal\";\nimport { getShopCredit } from 'redux/AuthAction';\nimport ScoreLogModal from '../../components/custom/ScoreLogModal';\nimport GameLogModal from '../../components/custom/GameLogModal';\n\n/// \n/// Author: YJ\n/// \nconst PlayerReload = props => {\n var _dispatch = useDispatch();\n var _location = useLocation();\n var _history = useHistory();\n var _userData = useSelector(state => state.authState.userData);\n const { t } = useTranslation();\n const { register, handleSubmit, errors, unregister, setValue, getValues } = useForm();\n const [gameList, setGameList] = useState([]);\n const [selectedUsername, setSelectedUsername] = useState('');\n const [selectedVendor, setSelectedVendor] = useState('');\n const [selectedStatus, setSelectedStatus] = useState(false);\n const [selectedRemark, setSelectedRemark] = useState(\"\");\n const [accountDetail, setAccountDetail] = useState({});\n const [modalVisibility, setModalVisibility] = useState(false);\n const [setScoreUrl, setSetScoreUrl] = useState(\"\");\n const [passwordConfirmation, setPasswordConfirmation] = useState(false);\n const [scoreLogModalVisibility, setScoreLogModalVisibility] = useState(false);\n const [gameLogModalVisibility, setGameLogModalVisibility] = useState(false);\n const [selectedPlayer, setSelectedPlayer] = useState('');\n\n const _BTN_TYPE = {\n ADD: \"ADD\",\n RELOAD: \"RELOAD\",\n BLOCK: \"BLOCK\",\n DELETE: \"DELETE\",\n RESET: \"RESET\"\n }\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n init();\n }, [_location.state]);\n\n /// \n /// Author: YJ\n /// \n async function init() {\n if (!stringIsNullOrEmpty(_location.state)) {\n let apiUrl = ApiUrl._API_GET_PLAYER_BY_ID + \"?id=\" + _location.state.id\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let games = [];\n let products = [{\n value: responseJson[ApiKey._API_DATA_KEY][\"vendorCode\"],\n label: responseJson[ApiKey._API_DATA_KEY][\"vendorName\"],\n displayName: responseJson[ApiKey._API_DATA_KEY][\"vendorShortName\"]\n }];\n let mobiles = [{\n value: responseJson[ApiKey._API_DATA_KEY][\"username\"],\n label: responseJson[ApiKey._API_DATA_KEY][\"displayUsername\"],\n status: responseJson[ApiKey._API_DATA_KEY][\"status\"],\n remark: responseJson[ApiKey._API_DATA_KEY][\"remark\"]\n }];\n\n games.push({ index: 1, productOptions: products, mobileOptions: mobiles });\n setGameList(games);\n setSelectedRemark(responseJson[ApiKey._API_DATA_KEY][\"remark\"]);\n setSelectedStatus(responseJson[ApiKey._API_DATA_KEY][\"status\"]);\n setSelectedUsername(responseJson[ApiKey._API_DATA_KEY][\"username\"]);\n setSelectedVendor(responseJson[ApiKey._API_DATA_KEY][\"vendorCode\"])\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n }\n\n /// \n /// Author: YJ\n /// \n const btnHandler = (type) => {\n let options = { type: AlertTypes._WARNING, title: t('ARE_YOU_SURE'), showCancel: true };\n let useCustomAlert = false;\n\n switch (type) {\n case _BTN_TYPE.BLOCK: {\n setAccountDetail({\n fromStatus: selectedStatus ? Status._ENABLED : Status._DISABLED,\n toStatus: !selectedStatus ? Status._ENABLED : Status._DISABLED,\n remark: selectedRemark,\n btnType: _BTN_TYPE.BLOCK\n });\n useCustomAlert = true;\n break;\n }\n case _BTN_TYPE.DELETE: {\n setAccountDetail({\n fromStatus: selectedStatus ? Status._ENABLED : Status._DISABLED,\n toStatus: Status._DELETED,\n remark: selectedRemark,\n btnType: _BTN_TYPE.DELETE\n });\n useCustomAlert = true;\n break;\n }\n case _BTN_TYPE.RESET:\n options = {\n ...options, content: t('PLEASE_CONFIRM_PLAYER_ACTION', { action: t(type) }),\n showCancel: true,\n onConfirm: () => playerOperation(type)\n }\n break;\n }\n\n if (!useCustomAlert) {\n _dispatch(showMessage(options));\n }\n }\n\n /// \n /// Author: YJ\n /// \n async function playerOperation(type, remark = \"\") {\n let apiUrl = \"\";\n\n if (type == _BTN_TYPE.RESET) {\n apiUrl = ApiUrl._API_SHOP_RESET_PASSWORD + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername;\n }\n else if (type == _BTN_TYPE.BLOCK) {\n apiUrl = ApiUrl._API_SHOP_SET_PLAYER_STATUS + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername + \"&status=\" + (selectedStatus ? \"false\" : \"true\") + \"&remark=\" + remark;\n }\n else if (type == _BTN_TYPE.DELETE) {\n apiUrl = ApiUrl._API_SHOP_DELETE_PLAYER + \"?code=\" + selectedVendor + \"&playerUsername=\" + selectedUsername + \"&remark=\" + remark;\n }\n else {\n return;\n }\n\n var responseJson = await ApiEngine.post(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (type != _BTN_TYPE.DELETE) {\n _dispatch(showResponseMessage(true, t(responseJson[ApiKey._API_MESSAGE_KEY])));\n init();\n }\n else {\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_SHOP_SEARCH)\n }));\n }\n }\n else {\n _dispatch(showResponseMessage(false, t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: Saitama\n /// \n function setScoreConfirmation(currentSetScoreUrl) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t('ARE_YOU_SURE'),\n showCancel: true,\n content: t('PLEASE_CONFIRM_SET_SCORE'),\n onConfirm: () => {\n setScoreHandler(currentSetScoreUrl);\n },\n onCancel: () => passwordConfirmationCleanup()\n }));\n }\n\n /// \n /// Author: Saitama\n /// \n function passwordConfirmationCleanup() {\n setPasswordConfirmation(false);\n setSetScoreUrl(\"\");\n }\n\n /// \n /// Author: Saitama\n /// \n async function setScoreHandler(setScoreUrl) {\n var responseJson = await ApiEngine.post(setScoreUrl);\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n passwordConfirmationCleanup();\n }\n\n return <>\n

    {t('RELOAD')} {selectedUsername}

    \n {\n if (isConfirm) {\n playerOperation(accountDetail.btnType, remark)\n }\n setAccountDetail({});\n }} />\n \n \n
    \n
    #
    \n
    {t('PRODUCT')}
    \n {/*
    {t('AMOUNT')}
    */}\n
    {t('RELOAD_MOBILE')}
    \n
    \n
    \n {\n gameList.map((game, key) => {\n return (\n
    \n
    {key + 1}
    \n
    \n \n 0 ? game.mobileOptions[0].status : FilterStatus._ACTIVE} />\n
    \n {/*
    \n \n
    */}\n
    \n \n
    \n
    \n \n \n \n \n {\n _userData?.isCustomerService ?\n <>\n \n \n \n :\n <>\n }\n
    \n
    \n );\n })\n }\n
    \n
    \n
    \n setScoreLogModalVisibility(false)} />\n setGameLogModalVisibility(false)} />\n {\n setModalVisibility(false);\n\n if (setScoreUrl && !stringIsNullOrEmpty(score)) {\n if (score < 0) {\n setSetScoreUrl(setScoreUrl);\n setPasswordConfirmation(true);\n }\n else {\n setScoreConfirmation(setScoreUrl);\n }\n }\n }}\n visible={modalVisibility} />\n {passwordConfirmation &&\n {\n setScoreConfirmation(setScoreUrl + \"&pin=\" + password);\n }}\n onCancel={() => { passwordConfirmationCleanup(); }} />\n }\n ;\n}\n\nexport default withRouter(PlayerReload);","import React, { useState, useEffect } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../components/panel/panel.jsx\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalBody, ModalHeader, ModalFooter } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../components/custom/ReactTable\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { ApiKey, WebUrl, ApiUrl } from \"../../util/Constant\";\nimport { showResponseMessage } from \"../../redux/AppAction\";\nimport ApiEngine from '../../util/ApiEngine.js';\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nconst Announcement = props => {\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n const [viewModal, setViewModal] = useState(false);\n const [announcementData, setAnnouncementData] = useState([]);\n var _userData = useSelector(state => state.authState.userData);\n const [viewData, setViewData] = useState([]);\n\n let _tableColumns = [\n {\n Header: \"TITLE\",\n accessor: \"title\"\n },\n {\n Header: \"CONTENT\",\n accessor: \"content\",\n style: {\n width: \"150px\",\n maxWidth: \"150px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\"\n }\n },\n {\n Header: \"DATE\",\n accessor: \"createdTime\"\n },\n {\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n
    \n \n \n \n { setViewModal(!viewModal); setViewData(row.original) }}>{t(\"VIEW\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n init();\n }, [])\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SYSTEM_MESSAGE + \"?userId=\" + _userData.userId);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setAnnouncementData(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n return (\n
    \n

    {t(\"MY_ANNOUNCEMENT\")}

    \n \n \n \n \n \n { setViewModal(!viewModal) }}>\n { setViewModal(!viewModal) }}>{viewData.title}\n \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n )\n}\n\nexport default Announcement;","import React, { useEffect, useState } from 'react';\nimport { useDispatch } from \"react-redux\";\nimport { WebUrl, ApiUrl, ApiKey } from '../../util/Constant';\nimport { stringIsNullOrEmpty, navigateTo } from '../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage } from \"../../redux/AppAction\";\nimport { useHistory } from \"react-router-dom\";\nimport QrScanner from 'react-qr-scanner'\nimport classNames from 'classnames';\n\n/// \n/// Author: YJ\n/// \nconst QRScanner = props => {\n let _history = useHistory();\n const { t } = useTranslation();\n const _dispatch = useDispatch();\n\n const [isQrScannerFunctionable, setIsQrScannerFunctionable] = useState(false);\n const [isScanned, setIsScanned] = useState(false);\n const [qrErrorMsg, setQrErrorMsg] = useState('');\n\n const _DELAY_IN_MS = 500;\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n var isIosNotSafari = !(/iP(ad|hone|od).+Version\\/[\\d\\.]+.*Safari/i.test(navigator.userAgent)) && (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);\n\n if (isIosNotSafari) {\n _dispatch(showResponseMessage(false, t(\"IF_IOS_BUT_NOT_SAFARI\")));\n setIsQrScannerFunctionable(false);\n }\n else {\n setIsQrScannerFunctionable(true);\n }\n\n return () => {\n setIsQrScannerFunctionable(false);\n setIsScanned(false);\n setQrErrorMsg('');\n }\n }, []);\n\n /// \n /// Author: YJ\n /// \n function handleError(error) {\n if (error.name === 'NotAllowedError') {\n error = \"Camera access permission is required to use QR Scanner.\"\n }\n else if (error.name === 'NotFoundError') {\n error = \"No camera found on your device.\"\n }\n else if (error.name === 'NotSupportedError') {\n error = \"HTTPS required to use QR Scanner\"\n }\n else if (error.name === 'NotReadableError') {\n error = \"Another application is using your device camera. Please close the other application and refresh this page.\"\n }\n else if (error.name === 'OverconstrainedError') {\n error = \"No suitable camera found on your device.\"\n }\n else if (error.name === 'StreamApiNotSupportedError') {\n error = \"QR Scanner is not supported on your browser.\"\n }\n\n setQrErrorMsg(error);\n }\n\n /// \n /// Author: YJ\n /// \n async function qrDetectedHandler(decodedQr) {\n if (!stringIsNullOrEmpty(decodedQr) && !isScanned) {\n setIsScanned(true);\n await props.onQrDetect({ code: decodedQr.text });\n setIsScanned(false);\n }\n }\n\n return (\n
    \n
    \n {\n isQrScannerFunctionable && !qrErrorMsg &&\n
    \n \n
    \n
    \n
    \n
    \n }\n {\n qrErrorMsg &&

    {qrErrorMsg}

    \n }\n
    \n
    \n );\n};\n\nexport default QRScanner;\n","import React, { useState } from 'react';\nimport { Panel, PanelBody } from '../../components/panel/panel';\nimport { ApiKey, WebUrl, ApiUrl, AlertTypes, TransactionRequestStatus, TransactionTypeId, TransactionType, FirebaseKey } from '../../util/Constant';\nimport { isObjectEmpty, numberWithCurrencyFormat, stringIsNullOrEmpty } from '../../util/Util';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { showMessage, showResponseMessage, disposeMessage } from 'redux/AppAction';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport QRScanner from './QrScanner';\nimport moment from 'moment';\nimport { initFirebaseTransactionRequestDatabase } from 'redux/FirebaseAction';\nimport { useEffect } from 'react';\n\n/// \n/// Author: YJ\n/// \nconst TransactionRequest = props => {\n let _history = useHistory();\n let _dispatch = useDispatch();\n const { requestCode } = useSelector(state => state.firebaseState);\n const { t, i18n } = useTranslation();\n const { register, handleSubmit, errors } = useForm();\n const [requestDetail, setRequestDetail] = useState({});\n const _HIDE_SETTLE_BUTTON_ARRAY = [TransactionRequestStatus._EXPIRED, TransactionRequestStatus._REJECTED, TransactionRequestStatus._SUCCESS];\n\n /// \n /// Author: YJ\n /// \n async function searchRequest(data) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_TRANSACTION_REQUEST + \"?code=\" + data.code);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setRequestDetail(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n }));\n }\n }\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(requestCode) && requestDetail[\"code\"] == requestCode && requestDetail[\"status\"] == TransactionRequestStatus._PENDING_PASSWORD_CONFIRMATION) {\n _dispatch(disposeMessage());\n searchRequest(requestDetail);\n }\n }, [requestCode])\n\n /// \n /// Author: YJ\n /// \n useEffect(() => {\n if (requestDetail.status == TransactionRequestStatus._PENDING_PASSWORD_CONFIRMATION) {\n _dispatch(initFirebaseTransactionRequestDatabase(FirebaseKey._TRANSACTION_REQUEST + requestDetail.memberId, requestDetail.code));\n }\n }, [requestDetail])\n\n /// \n /// Author: YJ\n /// \n function showPasswordConfirmation() {\n _dispatch(showMessage({\n content: t(\"VERIFY_PASSWORD_BEFORE_CONTINUE\"),\n showCancel: true,\n required: true,\n inputType: 'password',\n validationMsg: t('INVALID_PASSWORD'),\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._INPUT,\n onConfirm: async (value) => {\n await settleTransactionRequst(TransactionRequestStatus._SUCCESS, value);\n }\n }));\n }\n\n /// \n /// Author: YJ\n /// \n async function settleTransactionRequst(status, password = \"\") {\n try {\n /// required password confirmation and before settle already is pending\n if (stringIsNullOrEmpty(password) && status == TransactionRequestStatus._SUCCESS && requestDetail.status == TransactionRequestStatus._PENDING_PASSWORD_CONFIRMATION) {\n showPasswordConfirmation();\n return;\n }\n\n let postUrl = ApiUrl._API_SETTLE_TRANSACTION_REQUEST + \"?code=\" + requestDetail.code + \"&status=\" + status;\n\n if (!stringIsNullOrEmpty(password)) {\n postUrl += \"&password=\" + password;\n }\n\n var responseJson = await ApiEngine.post(postUrl);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let returnDetail = responseJson[ApiKey._API_DATA_KEY];\n\n /// required password confirmation\n if (returnDetail.status == TransactionRequestStatus._PENDING_PASSWORD_CONFIRMATION) {\n showPasswordConfirmation();\n }\n else {\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n content: t(\"OPERATION_SUCCESS\")\n }));\n }\n\n setRequestDetail(returnDetail);\n }\n else {\n if (!isObjectEmpty(responseJson[ApiKey._API_DATA_KEY] ?? {})) {\n setRequestDetail(responseJson[ApiKey._API_DATA_KEY]);\n }\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: err\n }));\n }\n }\n\n /// \n /// Author: YJ\n /// \n function constructStatusBadge(status, statusString) {\n let statusBadgeClass = \"primary\";\n switch (status) {\n case TransactionRequestStatus._SUCCESS:\n statusBadgeClass = \"success\";\n break;\n case TransactionRequestStatus._REJECTED:\n statusBadgeClass = \"danger\";\n break;\n case TransactionRequestStatus._EXPIRED:\n statusBadgeClass = \"secondary\";\n break;\n default:\n statusBadgeClass = \"primary\";\n break;\n }\n return {statusString}\n }\n\n /// \n /// Author : YJ\n /// \n function constructTransactionType(transactionType) {\n let transactionTypeString = \"\";\n\n switch (transactionType) {\n case TransactionType._SET_SCORE:\n transactionTypeString = t(\"RELOAD\");\n break;\n case TransactionType._WALLET_TRANSFER:\n transactionTypeString = t(\"CREDIT\");\n break;\n }\n\n return {transactionTypeString}\n }\n\n return (\n
    \n
    \n {isObjectEmpty(requestDetail ?? {}) && \n \n

    {t('REQUEST')}

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

    \n OR\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    }\n { setRequestDetail({}) }} size=\"lg\">\n { setRequestDetail({}) }}>

    {t('REQUEST_DETAIL')} ({requestDetail.code})

    \n \n
    \n
    \n \n
    \n
    \n {requestDetail.memberUsername}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {constructTransactionType(requestDetail.transactionTypeName)}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {numberWithCurrencyFormat(requestDetail.amount)}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {constructStatusBadge(requestDetail.status, requestDetail.statusString)}\n
    \n
    \n {requestDetail.transactionTypeId == TransactionTypeId._SET_SCORE && <>\n
    \n
    \n \n
    \n
    \n {requestDetail.playerUsername}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {requestDetail.playerVendor}\n
    \n
    \n }\n
    \n
    \n \n
    \n
    \n {moment(requestDetail.createdTime).format(\"YYYY-MM-DD HH:mm:ss\")}\n
    \n
    \n {!stringIsNullOrEmpty(requestDetail.expiredTime) &&
    \n
    \n \n
    \n
    \n {moment(requestDetail.expiredTime).format(\"YYYY-MM-DD HH:mm:ss\")}\n
    \n
    }\n
    \n \n {(!_HIDE_SETTLE_BUTTON_ARRAY.includes(requestDetail.status)) &&
    \n \n \n
    }\n
    \n
    \n
    \n
    \n );\n}\n\nexport default TransactionRequest;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"./../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"./../../components/custom/ReactTable\";\nimport { setBusy, setIdle } from './../../redux/AppAction';\nimport { ApiKey, ApiUrl, Role, CommonStatus } from \"./../../util/Constant\";\nimport { stringIsNullOrEmpty, numberWithCurrencyFormat } from \"./../../util/Util\";\nimport { showResponseMessage, showMessage } from '../../redux/AppAction';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport ApiEngine from '../../util/ApiEngine.js';\n\n/// \n/// Author : CK\n/// \nconst ShopLimitApprovalReport = props => {\n var _userData = useSelector(state => state.authState.userData);\n var _dispatch = useDispatch();\n const { register, handleSubmit, setValue } = useForm();\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n\n let _tableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"date\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {moment(row.original.date).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n }\n },\n {\n Header: t(\"MANAGER\"),\n accessor: \"managerName\",\n disableSortBy: true\n },\n {\n Header: t(\"SHOP\"),\n accessor: \"shopName\",\n disableSortBy: true\n },\n {\n Header: t(\"SET_LIMIT\"),\n accessor: \"shopLimit\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return numberWithCurrencyFormat(value);\n },\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n let rowValue = row.original;\n return rowValue.status == CommonStatus._PENDING_STATUS ? {t(rowValue.statusName)}\n : rowValue.status == CommonStatus._APPROVE_STATUS ? {t(rowValue.statusName)} : {t(rowValue.statusName)};\n },\n disableSortBy: true\n },\n {\n Header: t(\"ACTION\"),\n id: \"action\",\n Cell: ({ row }) => (\n (row.original.status == CommonStatus._PENDING_STATUS && _userData.userRoleId == Role._SHOP) &&\n
    \n \n \n \n {\n _dispatch(showMessage({\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"APPROVE_SET_SHOP_LIMIT_REQUEST_CONFIRMATION\"),\n showCancel: true,\n onConfirm: async () => {\n await approveOrRejectLimitRequest(CommonStatus._APPROVE_STATUS);\n }\n }));\n }}>{t(\"APPROVE\")}\n {\n _dispatch(showMessage({\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"REJECT_SET_SHOP_LIMIT_REQUEST_CONFIRMATION\"),\n showCancel: true,\n onConfirm: async () => {\n await approveOrRejectLimitRequest(CommonStatus._REJECT_STATUS);\n }\n }));\n }}>{t(\"REJECT\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n register({ name: 'status' });\n\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('status', \"\");\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n let apiUrl = ApiUrl._API_GET_SHOP_LIMIT_REQUEST_LOGS + \"?v=\" + Date.now();\n\n if (_userData.userRoleId != Role._SHOP) {\n apiUrl += \"?StartDate=\" + data.startDate + \"&EndDate=\" + data.endDate;\n\n if (!stringIsNullOrEmpty(data.status)) {\n apiUrl += \"&Status=\" + data.status;\n }\n }\n\n setApiUrl(apiUrl);\n }\n\n /// \n /// Author : CK\n /// \n const PaginationTable = useMemo(() => , [apiUrl]);\n\n /// \n /// Author : CK\n /// \n async function approveOrRejectLimitRequest(status) {\n var responseJson = await ApiEngine.post(ApiUrl._API_APPROVE_OR_REJECT_SHOP_LIMIT_REQUEST + \"?status=\" + status);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n handleSubmit(submitForm)();\n }\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n
    \n

    {t(\"SHOP_LIMIT_APPROVAL_REPORT\")}

    \n {\n _userData.userRoleId != Role._SHOP && \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n }\n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default ShopLimitApprovalReport;","import React, { useState, useEffect, useMemo } from 'react';\nimport { Panel, PanelHeader, PanelBody, PanelFooter } from 'components/panel/panel.jsx';\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, AlertTypes } from '../../../util/Constant';\nimport * as Util from '../../../util/Util';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\n\n/// \n/// Author: Wind\n/// \nconst ManageVendorCategory = props => {\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _dispatch = useDispatch();\n const [vendorCategoryList, setVendorCategoryList] = useState([]);\n\n /// \n /// Author: Wind\n /// \n let _vendorCategoryTableColumns = useMemo(() => [\n {\n Header: \"NAME\",\n accessor: \"localizations\",\n Cell: ({ row }) => {\n return
    {row.original.localizations.map((item) => { return item.value }).join(\" / \")}
    \n }\n },\n {\n Header: \"RANKING\",\n accessor: \"ranking\",\n },\n {\n Header: \"DISPLAY_AT_DESKTOP\",\n accessor: \"displayAtDesktop\",\n Cell: ({ row }) => {\n return row.original.displayAtDesktop ? {t(\"DISPLAY\")} : {t(\"HIDE\")};\n }\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"ACTIVE\")} : {t(\"DISABLE\")};\n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n _history.push({\n pathname: WebUrl._URL_ADMIN_VENDOR_CATEGORY_DETAIL,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT_VENDOR_CATEGORY')}\n \n {\n onEditStatus(row.original.id, { \"status\": !row.original.status, name: JSON.stringify(row.original.localizations) })\n }}>\n {row.original.status ? t(\"DISABLE\") : t(\"ACTIVATE\")}\n \n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t(\"ARE_YOU_SURE\"),\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_VENDOR_CATEGORY\"),\n showCancel: true,\n onConfirm: () => {\n deleteVendorCategory(row.original.id)\n }\n }))\n }}>\n {t(\"DELETE\")}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [vendorCategoryList]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n getVendorCategoryList();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function deleteVendorCategory(id) {\n var responseJson = await ApiEngine.delete(ApiUrl._API_VENDOR_CATEGORY + \"/\" + id);\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && getVendorCategoryList()\n }));\n }\n\n /// \n /// Author: Wind\n /// \n async function onEditStatus(id, data) {\n var responseJson = await ApiEngine.put(ApiUrl._API_VENDOR_CATEGORY + \"/\" + id, Util.createFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && getVendorCategoryList()\n }));\n }\n\n /// \n /// Author: Wind\n /// \n async function getVendorCategoryList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_VENDOR_CATEGORY);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setVendorCategoryList(responseJson[ApiKey._API_DATA_KEY].data);\n }\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_VENDOR_CATEGORY\")}

    \n {\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n );\n}\n\nexport default ManageVendorCategory;","import React, { useState, useEffect, useMemo } from 'react';\nimport { Panel, PanelHeader, PanelBody, PanelFooter } from 'components/panel/panel.jsx';\nimport { WebUrl, ApiUrl, ApiKey, AlertTypes } from '../../../util/Constant';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage, navigateTo, createFormBody } from \"../../../util/Util\";\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { useTranslation } from 'react-i18next';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useForm } from 'react-hook-form';\n\n/// \n/// Author: Wind\n/// \nconst VendorCategoryDetail = props => {\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _location = useLocation();\n var _dispatch = useDispatch();\n const { register, handleSubmit, errors, watch, unregister, setValue, triggerValidation } = useForm();\n const [supportedLanguage, setSupportedLanguage] = useState([]);\n const [selectedVendorCategory, setSelectedVendorCategory] = useState(null);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n getSuppportedLanguageAndLoadData();\n setValue(\"categoryStatus\", true);\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function getSuppportedLanguageAndLoadData() {\n var languageList = [];\n var langResponseJson = await ApiEngine.get(ApiUrl._API_GET_SUPPORTED_LANGUAGE);\n if (langResponseJson[ApiKey._API_SUCCESS_KEY]) {\n languageList = langResponseJson[ApiKey._API_DATA_KEY];\n }\n\n if (_location.state && _location.state.id) {\n var responseJson = await ApiEngine.get(ApiUrl._API_VENDOR_CATEGORY + \"/\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue(\"categoryRanking\", responseJson[ApiKey._API_DATA_KEY].ranking);\n setValue(\"categoryStatus\", responseJson[ApiKey._API_DATA_KEY].status);\n setValue(\"displayAtDesktop\", responseJson[ApiKey._API_DATA_KEY].displayAtDesktop);\n languageList = languageList.map(item => ({ ...item, value: responseJson[ApiKey._API_DATA_KEY].localizations.find(l => l.languageId == item.id).value }));\n }\n }\n \n setSupportedLanguage(languageList)\n }\n\n /// \n /// Author: Wind\n /// \n const onSubmit = async (data) => {\n let params = {\n name: JSON.stringify(supportedLanguage.map(item => ({ languageId: item.id, value: data[`${item.id}`] }))),\n ranking: data.categoryRanking,\n status: data.categoryStatus,\n displayAtDesktop: data.displayAtDesktop\n };\n\n if (_location.state && _location.state.id) {\n params[\"id\"] = _location.state.id;\n }\n \n var responseJson = await ApiEngine.post(ApiUrl._API_VENDOR_CATEGORY, createFormBody(params));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_VENDOR_CATEGORY)\n }));\n };\n\n return (\n
    \n

    {_location.state ? t(\"EDIT_VENDOR_CATEGORY\") : t(\"CREATE_VENDOR_CATEGORY\")}

    \n \n {t(\"VENDOR_CATEGORY_DETAIL\")}\n \n
    \n
    \n {\n supportedLanguage && supportedLanguage.map((item, index) => {\n return (\n
    \n
    \n \n \n {errors[`${item.id}`] &&
    {t(getValidationMessage(errors[`${item.id}`]))}
    }\n
    \n
    \n )\n })\n }\n
    \n
    \n \n \n {errors.categoryRanking &&
    {t(getValidationMessage(errors.categoryRanking))}
    }\n
    \n
    \n
    \n
    \n
    \n
    \n {\n setValue(\"displayAtDesktop\", e.target.checked)\n }}\n checked={watch(\"displayAtDesktop\")}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {\n setValue(\"categoryStatus\", e.target.checked)\n }}\n checked={watch(\"categoryStatus\")}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default VendorCategoryDetail;","import React, { useState, useEffect } from 'react';\nimport { ApiKey, ApiUrl, AlertTypes, AccessRight } from '../../util/Constant';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport ApiEngine from '../../util/ApiEngine';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from 'react-redux';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, createFormBody } from '../../util/Util';\nimport { checkIfPermissionExist } from \"../../util/PermissionChecker\";\nimport { setBusy, setIdle, showMessage } from \"../../redux/AppAction\";\n\n/// \n/// Author: CK\n/// \nconst RankVendorRateModal = ({\n isModalVisible = false,\n onFinish,\n rankList = [],\n}) => {\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, setValue, watch, reset } = useForm();\n const [vendorList, setVendorList] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState();\n const [addedVendorList, setAddedVendorList] = useState([]);\n const [defaultRankVendorRates, setDefaultRankVendorRates] = useState([]);\n const [isFirstLoad, setIsFirstLoad] = useState(true);\n const _INPUT_ARRAY_SIZE = 3;\n const _RATE_TYPE_INDEX = 0;\n const _RANK_ID_INDEX = 1;\n const _VENDOR_ID_INDEX = 2;\n const _RATE_INPUT_KEY = {\n SelfWinlossRate: \"SW\",\n SelfTurnoverRate: \"ST\",\n DownlineWinlossRate: \"DW\",\n DownlineTurnoverRate: \"DT\",\n }\n const _RATE_INPUT_OPTIONS = [\n {\n label: t('SELF_WINLOSS_RATE') + \" (%)\",\n key: _RATE_INPUT_KEY[\"SelfWinlossRate\"],\n variableName: \"SelfWinlossRate\"\n },\n {\n label: t('SELF_TURNOVER_RATE') + \" (%)\",\n key: _RATE_INPUT_KEY[\"SelfTurnoverRate\"],\n variableName: \"SelfTurnoverRate\"\n },\n {\n label: t('DOWNLINE_WINLOSS_RATE') + \" (%)\",\n key: _RATE_INPUT_KEY[\"DownlineWinlossRate\"],\n variableName: \"DownlineWinlossRate\"\n },\n {\n label: t('DOWNLINE_TURNOVER_RATE') + \" (%)\",\n key: _RATE_INPUT_KEY[\"DownlineTurnoverRate\"],\n variableName: \"DownlineTurnoverRate\"\n }\n ]\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (isModalVisible) {\n init();\n }\n else {\n setIsFirstLoad(true);\n setAddedVendorList([]);\n setDefaultRankVendorRates([]);\n reset();\n }\n }, [isModalVisible]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (vendorList.length > 0) {\n setSelectedVendor(vendorList[0]['id']);\n }\n }, [vendorList]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n // Change selected vendor \n let remainingVendorList = vendorList.filter(i => !addedVendorList.some(j => j.id == i.id));\n setSelectedVendor(remainingVendorList.length > 0 ? remainingVendorList[0].id.toString() : \"\");\n }, [addedVendorList]);\n\n /// \n /// Author: CK\n /// Set default value for the commission rate\n /// \n useEffect(() => {\n if (isFirstLoad && defaultRankVendorRates.length > 0) {\n defaultRankVendorRates.map(rate => {\n setValue(`${_RATE_INPUT_KEY[\"SelfWinlossRate\"]}_${rate.rankId}_${rate.vendorId}`, Number(rate.selfWinlossRate));\n setValue(`${_RATE_INPUT_KEY[\"SelfTurnoverRate\"]}_${rate.rankId}_${rate.vendorId}`, Number(rate.selfTurnoverRate));\n setValue(`${_RATE_INPUT_KEY[\"DownlineWinlossRate\"]}_${rate.rankId}_${rate.vendorId}`, Number(rate.downlineWinlossRate));\n setValue(`${_RATE_INPUT_KEY[\"DownlineTurnoverRate\"]}_${rate.rankId}_${rate.vendorId}`, Number(rate.downlineTurnoverRate));\n });\n\n setIsFirstLoad(false);\n }\n }, [defaultRankVendorRates]);\n\n /// \n /// Author : CK\n /// \n async function init() {\n try {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n let currentVendorList = [];\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n currentVendorList = responseJson[ApiKey._API_DATA_KEY];\n setVendorList(currentVendorList);\n }\n\n responseJson = await ApiEngine.get(ApiUrl._API_RANK_VENDOR_RATE);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n let rankVendorRates = responseJson[ApiKey._API_DATA_KEY];\n setAddedVendorList([...currentVendorList.filter(i => rankVendorRates.some(j => j.vendorId == i.id))]);\n setDefaultRankVendorRates(rankVendorRates);\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err),\n }));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function deleteRankVendorRate(vendorId) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n showCancel: true,\n content: t(\"DELETE_RANK_VENDOR_RATE_CONFIRMATION\"),\n onConfirm: async () => {\n try {\n var responseJson = await ApiEngine.delete(ApiUrl._API_RANK_VENDOR_RATE + \"/\" + vendorId);\n \n if (responseJson[ApiKey._API_SUCCESS_KEY], ApiUrl._API_RANK_VENDOR_RATE + \"/\" + vendorId) {\n let currentAddedVendorList = [...addedVendorList];\n setAddedVendorList([...currentAddedVendorList.filter(i => i.id != vendorId)]);\n\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n content: t(\"OPERATION_SUCCESS\")\n }));\n }\n else {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err),\n }));\n }\n }\n }));\n }\n\n /// \n /// Author: CK\n /// \n async function onSubmit(data) {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n showCancel: true,\n content: t(\"EDIT_RANK_VENDOR_RATE_CONFIRMATION\"),\n onConfirm: async () => {\n try {\n let rankVendorRateData = [];\n\n for (var key in data) {\n let inputValues = key.split(\"_\");\n\n // Valid input value when the splitted size is 3\n if (inputValues.length == _INPUT_ARRAY_SIZE) {\n // Search if the rank vendor rate alr existed\n let selectedRankVendorRate = rankVendorRateData.find(i => i.RankId == inputValues[_RANK_ID_INDEX] && i.VendorId == inputValues[_VENDOR_ID_INDEX]);\n\n // If rank vendor existed, update the value of the selected rate type\n if (selectedRankVendorRate) {\n let variableName = _RATE_INPUT_OPTIONS.find(i => i.key == inputValues[_RATE_TYPE_INDEX]).variableName;\n selectedRankVendorRate[variableName] = Number(data[key]);\n }\n else {\n selectedRankVendorRate = {\n RankId: Number(inputValues[_RANK_ID_INDEX]),\n VendorId: Number(inputValues[_VENDOR_ID_INDEX])\n };\n\n _RATE_INPUT_OPTIONS.map(rateType => {\n if (rateType.key == inputValues[_RATE_TYPE_INDEX]) {\n selectedRankVendorRate[rateType.variableName] = Number(data[key]);\n }\n else {\n selectedRankVendorRate[rateType.variableName] = 0;\n }\n })\n }\n\n // Set the updated value of Rank by Vendor rate to the params array\n rankVendorRateData = [...rankVendorRateData.filter(i => !(i.RankId == selectedRankVendorRate.RankId && i.VendorId == selectedRankVendorRate.VendorId)), selectedRankVendorRate];\n }\n }\n\n let params = {\n RankVendorRates: rankVendorRateData\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_RANK_VENDOR_RATE, params);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n content: t(\"OPERATION_SUCCESS\")\n }));\n }\n else {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err),\n }));\n }\n }\n }));\n }\n\n return (\n { onFinish() }} size=\"xl\">\n
    \n { onFinish() }}>

    {t(\"RANK_VENDOR_RATE\")}

    \n \n
    \n
    \n
    \n \n
    \n {\n setSelectedVendor(event.target.value);\n }}\n >\n {\n vendorList.filter(i => !addedVendorList.some(j => j.id == i.id)).map(vendor => {\n return (\n \n )\n })\n }\n \n \n
    \n
    \n
    \n
    \n
    \n {\n rankList.length == 0 ?\n
    \n

    {t('EMPTY_RANK_PLEASE_ADD_TO_PROCEED')}

    \n
    \n :\n \n \n \n \n })\n }\n \n \n \n {\n addedVendorList.map((vendor, index) => {\n return (\n \n \n \n \n {\n rankList.map((rank, index) => {\n return (\n \n )\n })\n }\n \n );\n })\n }\n \n
    \n \n \n {\n rankList.map((rank, index) => {\n return \n {t(rank['translatedName'])}\n {\n addedVendorList.map(vendor => {\n _RATE_INPUT_OPTIONS.map(inputType => {\n setValue(`${inputType.key}_${rank.id}_${vendor.id}`, Number(e.target.value));\n })\n })\n }} />\n
    \n {\n deleteRankVendorRate(vendor.id);\n }}\n >\n \n {!stringIsNullOrEmpty(vendor.gameName) ? vendor.gameName : `${vendor.name} (${vendor.shortName})`}\n {\n _RATE_INPUT_OPTIONS.map(item => {\n return (\n
    \n \n {\n rankList.map(rank => {\n setValue(`${item.key}_${rank.id}_${vendor.id}`, Number(e.target.value));\n })\n }} />\n
    \n )\n })\n }\n
    \n {\n _RATE_INPUT_OPTIONS.map(item => {\n return (\n {\n setValue(`${item.key}_${rank.id}_${vendor.id}`, Number(e.target.value));\n }}\n />\n )\n })\n }\n
    \n }\n
    \n
    \n \n {\n checkIfPermissionExist(AccessRight._RANK_CONTROL_PERMISSION, true) &&\n \n }\n \n
    \n
    \n );\n}\n\nexport default RankVendorRateModal;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useHistory } from \"react-router-dom\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { navigateTo, numberWithCurrencyFormat } from \"../../../util/Util\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, AlertTypes } from '../../../util/Constant';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport RankVendorRateModal from '../../../components/custom/RankVendorRateModal';\n\n/// \n/// Author : Wind\n/// \nconst ManageRank = props => {\n var _history = useHistory();\n var { t, i18n } = useTranslation();\n const { register, handleSubmit, setValue } = useForm();\n var _dispatch = useDispatch();\n const [rankList, setRankList] = useState([]);\n const [isRateModalVisible, setIsRateModalVisible] = useState(false);\n let _rankColumn = useMemo(() => [\n {\n Header: \"NAME\",\n accessor: \"localizations\",\n Cell: ({ row }) => {\n return
    {row.original.localizations.map((item) => { return item.value }).join(\" / \")}
    \n }\n },\n {\n Header: \"COLOR_CODE\",\n accessor: \"colorCode\",\n Cell: ({ row }) => {\n return
     
    \n }\n },\n {\n Header: \"OUTER_FRAME\",\n accessor: \"outerFrame\",\n Cell: ({ row }) => {\n return row.original.outerFrame ? :
    \n }\n },\n {\n Header: \"INNER_FRAME\",\n accessor: \"innerFrame\",\n Cell: ({ row }) => {\n return row.original.innerFrame ? :
    \n }\n },\n {\n Header: \"BADGE\",\n accessor: \"badgeFile\",\n Cell: ({ row }) => {\n return row.original.badgeFile ? :
    \n }\n },\n {\n Header: \"MINIMUM_EXPERIENCE\",\n accessor: \"minimumExperience\",\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.minimumExperience, 3)\n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._RANK_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n _history.push({\n pathname: WebUrl._URL_ADMIN_RANK_DETAIL,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT_RANK_DETAILS')}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [rankList]);\n \n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_RANK);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setRankList(responseJson[ApiKey._API_DATA_KEY].data);\n }\n })();\n }, []);\n\n return (\n
    \n
    \n

    {t(\"MANAGE_RANK\")}

    \n {\n checkIfPermissionExist(AccessRight._RANK_CONTROL_PERMISSION, true) &&\n
    \n \n \n
    \n }\n
    \n setIsRateModalVisible(false)}\n rankList={rankList}\n />\n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n );\n}\n\nexport default ManageRank;","import React, { useState, useEffect, useMemo } from 'react';\nimport { Panel, PanelHeader, PanelBody, PanelFooter } from 'components/panel/panel.jsx';\nimport { WebUrl, ApiUrl, ApiKey, AlertTypes } from '../../../util/Constant';\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage, navigateTo, createFormBody } from \"../../../util/Util\";\nimport { useDispatch } from \"react-redux\";\nimport { setBusy, setIdle, showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { useTranslation } from 'react-i18next';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useForm, Controller } from 'react-hook-form';\nimport Dropzone from 'react-dropzone';\n\n/// \n/// Author : Wind\n/// \nconst RankDetail = props => {\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _location = useLocation();\n var _dispatch = useDispatch();\n const { register, handleSubmit, errors, watch, setValue, control } = useForm();\n const [supportedLanguage, setSupportedLanguage] = useState([]);\n const [outerFrame, setOuterFrame] = useState({ file: null, image: '' });\n const [innerFrame, setInnerFrame] = useState({ file: null, image: '' });\n const [badge, setBadge] = useState({ file: null, image: '' });\n let _OUTER_FRAME_KEY = \"outerFrame\";\n let _INNER_FRAME_KEY = \"innerFrame\";\n let _BADGE_KEY = \"badge\";\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n var languageList = [];\n var langResponseJson = await ApiEngine.get(ApiUrl._API_GET_SUPPORTED_LANGUAGE);\n if (langResponseJson[ApiKey._API_SUCCESS_KEY]) {\n languageList = langResponseJson[ApiKey._API_DATA_KEY];\n }\n\n if (_location.state && _location.state.id) {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_RANK + \"/\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue(\"colorCode\", responseJson[ApiKey._API_DATA_KEY].colorCode);\n setValue(\"minimumExperience\", responseJson[ApiKey._API_DATA_KEY].minimumExperience);\n setOuterFrame({ ...outerFrame, image: responseJson[ApiKey._API_DATA_KEY].outerFrame });\n setInnerFrame({ ...innerFrame, image: responseJson[ApiKey._API_DATA_KEY].innerFrame });\n setBadge({ ...badge, image: responseJson[ApiKey._API_DATA_KEY].badgeFile });\n languageList = languageList.map(item => ({ ...item, value: responseJson[ApiKey._API_DATA_KEY].localizations.find(l => l.languageId == item.id).value }));\n setValue(\"canDropRank\", responseJson[ApiKey._API_DATA_KEY][\"canDropRank\"]);\n setValue(\"canDropExp\", responseJson[ApiKey._API_DATA_KEY][\"canDropExp\"]);\n }\n }\n else {\n setValue(\"canDropRank\", true);\n setValue(\"canDropExp\", true);\n }\n\n setSupportedLanguage(languageList)\n })();\n }, []);\n\n /// \n /// Author : Wind\n /// \n const imageDrop = (acceptedFiles, key) => {\n if (acceptedFiles.length !== 0) {\n const file = acceptedFiles[0];\n const reader = new FileReader();\n\n reader.onloadend = () => {\n if (key == _OUTER_FRAME_KEY) {\n setOuterFrame({ image: reader.result, file: file });\n }\n else if (key == _INNER_FRAME_KEY) {\n setInnerFrame({ image: reader.result, file: file });\n }\n else if (key == _BADGE_KEY) {\n setBadge({ image: reader.result, file: file });\n }\n }\n\n reader.readAsDataURL(file);\n }\n }\n\n /// \n /// Author: Wind\n /// \n const onSubmit = async (data) => {\n var responseJson;\n let params = {\n name: JSON.stringify(supportedLanguage.map(item => ({ languageId: item.id, value: data[`${item.id}`] }))),\n colorCode: data.colorCode,\n minimumExperience: data.minimumExperience,\n canDropRank: data.canDropRank,\n canDropExp: data.canDropExp\n };\n\n if (outerFrame['file']) {\n params['outerFrame'] = outerFrame['file']\n }\n\n if (innerFrame['file']) {\n params['innerFrame'] = innerFrame['file']\n }\n\n if (badge['file']) {\n params['badgeFile'] = badge['file']\n }\n\n if (_location.state && _location.state.id) {\n responseJson = await ApiEngine.put(ApiUrl._API_CREATE_OR_UPDATE_RANK + '/' + _location.state.id, createMultiPartFormBody(params));\n }\n else {\n responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_RANK, createMultiPartFormBody(params));\n }\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_RANK)\n }));\n };\n\n return (\n
    \n

    {_location.state ? t(\"EDIT_RANK\") : t(\"CREATE_RANK\")}

    \n \n {t(\"RANK_DETAIL\")}\n \n
    \n
    \n {\n supportedLanguage && supportedLanguage.map((item, index) => {\n return (\n
    \n
    \n \n \n {errors[`${item.id}`] &&
    {t(getValidationMessage(errors[`${item.id}`]))}
    }\n
    \n
    \n )\n })\n }\n
    \n
    \n \n \n {errors.colorCode &&
    {t(getValidationMessage(errors.colorCode))}
    }\n
    \n
    \n
    \n
    \n \n \n {errors.minimumExperience &&
    {t(getValidationMessage(errors.minimumExperience))}
    }\n
    \n
    \n
    \n
    \n
    \n
    \n setValue(\"canDropRank\", e.target.checked)}\n value={true}\n checked={watch('canDropRank')}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n setValue(\"canDropExp\", e.target.checked)}\n value={true}\n checked={watch('canDropExp')}\n ref={register} />\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n imageDrop(acceptedFiles, _OUTER_FRAME_KEY)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(outerFrame['image']) &&

    {t(\"UPLOAD_OUTER_FRAME\")}

    }\n {!stringIsNullOrEmpty(outerFrame['image']) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n
    \n \n imageDrop(acceptedFiles, _INNER_FRAME_KEY)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(innerFrame['image']) &&

    {t(\"UPLOAD_INNER_FRAME\")}

    }\n {!stringIsNullOrEmpty(innerFrame['image']) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n
    \n \n imageDrop(acceptedFiles, _BADGE_KEY)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {stringIsNullOrEmpty(badge['image']) &&

    {t(\"UPLOAD_BADGE\")}

    }\n {!stringIsNullOrEmpty(badge['image']) && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default RankDetail;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\";\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, Role, AlertTypes } from '../../../util/Constant';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport { navigateTo, createMultiPartFormBody, createFormBody, stringIsNullOrEmpty, isObjectEmpty } from \"../../../util/Util\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useDispatch } from \"react-redux\";\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport AttachShopModal from '../../../components/custom/AttachShopModal';\n\n/// \n/// Author: Wind\n/// \nconst ManageNotificationSettings = props => {\n const { t } = useTranslation();\n let _history = useHistory();\n var _dispatch = useDispatch();\n const [notificationList, setNotificationList] = useState([]);\n const [selectedNotification, setSelectedNotification] = useState();\n const [isModalVisible, setIsModalVisible] = useState(false);\n\n /// \n /// Author: Wind\n /// \n let _notificationColumns = useMemo(() => [\n {\n Header: \"DESCRIPTION\",\n accessor: \"description\",\n disableSortBy: true\n },\n {\n Header: \"CATEGORY\",\n accessor: \"notificationTypeName\",\n disableSortBy: true\n },\n {\n Header: \"CONTENT\",\n accessor: \"localizations\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {row.original.localizations.map((item) => { return item.value }).join(\" / \")}
    \n }\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return row.original.status ? {t(\"ACTIVE\")} : {t(\"DISABLE\")};\n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n _history.push({\n pathname: WebUrl._URL_NOTIFICATION_DETAILS,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT')}\n \n {\n onEditStatus(row.original.id, { \"status\": !row.original.status, name: JSON.stringify(row.original.localizations) })\n }}>\n {row.original.status ? t(\"DISABLE\") : t(\"ACTIVATE\")}\n \n {\n setSelectedNotification(row.original);\n toggleModal();\n }}>\n {t('ATTACH_SHOPS')}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [notificationList]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n getNotificationList();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function getNotificationList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_NOTIFICATION_TEMPLATE);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setNotificationList(responseJson[ApiKey._API_DATA_KEY].data);\n }\n }\n\n /// \n /// Author: Wind\n /// \n async function onEditStatus(id, data) {\n var responseJson = await ApiEngine.put(ApiUrl._API_NOTIFICATION_TEMPLATE + \"/\" + id, createFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && getNotificationList()\n }));\n }\n\n /// \n /// Author: Wind\n /// \n async function toggleModal() {\n if (isModalVisible) {\n setSelectedNotification(null);\n }\n\n setIsModalVisible(!isModalVisible);\n }\n\n /// \n /// Author : Wind\n /// \n async function onSubmitAttachShop(attachedShops) {\n let params = {\n shopIds: attachedShops\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_NOTIFICATION_ATTACHED_SHOP + '/' + selectedNotification.id, createFormBody(params));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setSelectedNotification();\n getNotificationList();\n }\n\n toggleModal();\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_NOTIFICATION_SETTING\")}

    \n {\n checkIfPermissionExist(AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n {\n if (attachedShops) {\n onSubmitAttachShop(attachedShops);\n }\n else {\n toggleModal();\n }\n }} />\n
    \n )\n}\n\nexport default ManageNotificationSettings;","import React, { useState, useEffect, useRef } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport Select from 'react-select';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { WebUrl, SettingType, ApiKey, ApiUrl, LanguageKey, AlertTypes, NotificationTag } from '../../../util/Constant';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty, navigateTo, createFormBody } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\n\n/// \n/// Author: Wind\n/// \nconst NotificationDetails = props => {\n const { t, i18n } = useTranslation();\n let _history = useHistory();\n var _dispatch = useDispatch();\n var _location = useLocation();\n const { register, handleSubmit, errors, setValue, unregister, watch } = useForm();\n const [notificationTypeOption, setNotificationTypeOption] = useState([]);\n const [selectedTagsValue, setSelectedTagsValue] = useState('');\n const [supportedLanguage, setSupportedLanguage] = useState([]);\n const [notificationTypeId, setNotificationTypeId] = useState();\n const [cursorPosition, setCursorPosition] = useState();\n const [currentInput, setCurrentInput] = useState();\n const formRef = useRef();\n const _TAG_OPTIONS = [\n { label: NotificationTag._NOTIFICATION_TEMPLATE_TAG_EXPERIENCE, value: '{' + NotificationTag._NOTIFICATION_TEMPLATE_TAG_EXPERIENCE + '}' },\n { label: NotificationTag._NOTIFICATION_TEMPLATE_TAG_INACTIVE_PERIOD, value: '{' + NotificationTag._NOTIFICATION_TEMPLATE_TAG_INACTIVE_PERIOD + '}' },\n { label: NotificationTag._NOTIFICATION_TEMPLATE_TAG_RANK, value: '{' + NotificationTag._NOTIFICATION_TEMPLATE_TAG_RANK + '}' },\n { label: NotificationTag._NOTIFICATION_TEMPLATE_TAG_RANK_IMAGE, value: '{' + NotificationTag._NOTIFICATION_TEMPLATE_TAG_RANK_IMAGE + '}' }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n register({ name: 'notificationTypeId' }, { required: \"PLEASE_SELECT_CATEGORY\" });\n setValue('notificationStatus', true);\n\n try {\n let typeResponseJson = await ApiEngine.get(ApiUrl._API_GET_NOTIFICATION_TYPE);\n if (typeResponseJson[ApiKey._API_SUCCESS_KEY]) {\n let tempCategory = [];\n typeResponseJson[ApiKey._API_DATA_KEY].map((type, index) => {\n tempCategory.push({ label: type.name, value: type.id });\n })\n setNotificationTypeOption(tempCategory);\n }\n else {\n throw typeResponseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n var languageList = [];\n var langResponseJson = await ApiEngine.get(ApiUrl._API_GET_SUPPORTED_LANGUAGE);\n if (langResponseJson[ApiKey._API_SUCCESS_KEY]) {\n languageList = langResponseJson[ApiKey._API_DATA_KEY];\n }\n else {\n throw langResponseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n if (_location.state && _location.state.id) {\n var responseJson = await ApiEngine.get(ApiUrl._API_NOTIFICATION_TEMPLATE + \"/\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setNotificationTypeId(responseJson[ApiKey._API_DATA_KEY].notificationTypeId);\n setValue(\"notificationTypeId\", responseJson[ApiKey._API_DATA_KEY].notificationTypeId);\n setValue(\"notificationDesciption\", responseJson[ApiKey._API_DATA_KEY].description);\n setValue(\"notificationStatus\", responseJson[ApiKey._API_DATA_KEY].status);\n languageList = languageList.map(item => ({ ...item, value: responseJson[ApiKey._API_DATA_KEY].localizations.find(l => l.languageId == item.id).value }));\n }\n else {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n\n setSupportedLanguage(languageList);\n }\n catch(err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => { }\n }));\n }\n })();\n }, []);\n\n /// \n /// Author: Wind\n /// \n function updatedSelectedContent(selectedContent) {\n let newLangData = [...supportedLanguage];\n let selectedIndex = newLangData.findIndex(l => l.id == selectedContent);\n\n newLangData[selectedIndex].isChecked = !newLangData[selectedIndex].isChecked;\n setSupportedLanguage(newLangData);\n }\n\n /// \n /// Author: Wind\n /// \n function insertTagIntoContent() {\n if (currentInput) {\n let textBeforeCursorPosition = watch(currentInput).substring(0, cursorPosition);\n let textAfterCursorPosition = watch(currentInput).substring(cursorPosition, watch(currentInput).length);\n\n setValue(currentInput, textBeforeCursorPosition + selectedTagsValue + textAfterCursorPosition);\n }\n else {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t('PLEASE_SELECT_ONE_OF_THE_CONTENT_TO_INSERT_TAG'),\n onConfirm: () => { }\n }));\n }\n }\n\n /// \n /// Author: Wind\n /// \n const submitNotificationForm = async (data, e) => {\n let params = {\n name: JSON.stringify(supportedLanguage.map(item => ({ languageId: item.id, value: data[`${item.id}`] }))),\n description: data.notificationDesciption,\n notificationTypeId: data.notificationTypeId,\n status: data.notificationStatus,\n };\n\n var responseJson;\n\n if (_location.state && _location.state.id) {\n responseJson = await ApiEngine.put(ApiUrl._API_NOTIFICATION_TEMPLATE + '/' + _location.state.id, createFormBody(params));\n }\n else {\n responseJson = await ApiEngine.post(ApiUrl._API_NOTIFICATION_TEMPLATE, createFormBody(params));\n }\n\n \n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_NOTIFICATION_SETTINGS)\n }));\n }\n\n /// \n /// Author: Wind\n /// \n const handleInputCursor = (e) => {\n setCursorPosition(e.target.selectionStart);\n }\n\n /// \n /// Author: Wind\n /// \n const handleCurrentInput = (e, id) => {\n setCurrentInput(id);\n handleInputCursor(e);\n }\n\n return (\n
    \n

    {_location.state ? t(\"EDIT_NOTIFICATION_TEMPLATE\") : t(\"CREATE_NOTIFICATION_TEMPLATE\")}

    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {errors.reply &&
    {t(getValidationMessage(errors.reply))}
    }\n
    \n
    \n
    \n \n \n \n \n
    \n \n
    \n )\n}\n\nexport default MemberFeedbackReport;","import React, { useState, useMemo, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport DateTime from 'react-datetime';\nimport { ApiKey, ApiUrl, Role } from '../../../util/Constant';\nimport { getValidationMessage, arrayGroupByKey, stringIsNullOrEmpty } from '../../../util/Util';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport moment from 'moment';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBox from 'react-dual-listbox';\n\n/// \n/// Author: Wind\n/// \nconst ShopFeedbackReport = props => {\n const { t } = useTranslation();\n const { setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [index, setIndex] = useState('');\n const [postData, setPostData] = useState({});\n\n /// \n /// Author: Wind\n /// \n let _feedbackColumns = [\n {\n Header: \"No\",\n accessor: \"index\",\n filterable: false,\n disableSortBy: true,\n width: 20\n },\n {\n Header: \"SHOP\",\n disableSortBy: true,\n Cell: ({ row }) => {\n let rowDetail = row.original;\n\n return
    \n {t(\"SUBMISSION_DATE_TIME\")}: {moment(rowDetail.createdTime).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n {t(\"SHOP\")}: {rowDetail.reporterName}
    \n {t(\"OCCUR_TIME\")}: {moment(rowDetail.occurTime).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n {t(\"LOCATION\")}: {rowDetail.location}\n
    \n }\n },\n {\n Header: \"FEEDBACK\",\n accessor: \"additional\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 300\n }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n applyFilter();\n })();\n }, []);\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n var params = {\n \"StartDate\": startDate,\n \"EndDate\": endDate,\n \"v\": moment.now()\n }\n\n if (!stringIsNullOrEmpty(index)) {\n params[\"Index\"] = parseInt(index);\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_SHOP_FEEDBACK);\n }\n\n /// \n /// Author : Wind\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n
    \n

    {t(\"SHOP_FEEDBACK\")}

    \n
    \n \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n \n setIndex(e.target.value)} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {PaginationTable}\n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default ShopFeedbackReport;","import React, { useState, useMemo, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport DateTime from 'react-datetime';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { ApiKey, ApiUrl, AccessRight, WebUrl, Status, AlertTypes, BannerType } from '../../../util/Constant';\nimport { getValidationMessage } from '../../../util/Util';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport moment from 'moment';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { showMessage } from \"../../../redux/AppAction\";\nimport { useHistory } from \"react-router-dom\";\nimport { useDispatch } from \"react-redux\";\n\n/// \n/// Author: Wind\n/// \nconst ManageBanner = props => {\n const { t } = useTranslation();\n var _dispatch = useDispatch();\n let _history = useHistory();\n const { setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [searchTerm, setSearchTerm] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD HH:mm:ss\"));\n\n /// \n /// Author: Wind\n /// \n let _bannerColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: 50\n },\n {\n Header: \"TYPE\",\n accessor: \"bannerType\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return Object.values(BannerType).find(bt => bt.key == value)?.value ?? \"-\";\n }\n },\n {\n Header: \"BANNER\",\n accessor: \"image\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return row.original.image ? :
    \n }\n },\n {\n Header: \"START_DATE\",\n accessor: \"startDate\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {moment(row.original.startDate).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n }\n },\n {\n Header: \"END_DATE\",\n accessor: \"endDate\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {moment(row.original.endDate).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n }\n },\n {\n Header: \"TITLE\",\n accessor: \"title\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {row.original.titleLocalizations.map((item) => { return item.value }).join(\" / \")}
    \n }\n },\n {\n Header: \"DESCRIPTION\",\n accessor: \"description\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {row.original.descriptionLocalizations.map((item) => { return item.value }).join(\" / \")}
    \n }\n },\n {\n Header: \"SHOP\",\n accessor: \"bannerShops\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {row.original.bannerShops?.map(v => v.shopUsername).join(\", \")}
    \n }\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return \n {row.original.status == Status._ENABLED ? t('ACTIVE') : t('DISABLE')}\n \n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._EVENT_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n _history.push({\n pathname: WebUrl._URL_ADMIN_MANAGE_BANNER_DETAIL,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT')}\n \n {\n _dispatch(showMessage({\n type: AlertTypes._WARNING,\n title: t('ARE_YOU_SURE'),\n showCancel: true,\n content: t('ARE_YOU_SURE_YOU_WANT_TO') + t('DELETE') + \" \" + row.original.title + \"?\",\n onConfirm: () => { deleteBanner(row.original.id); }\n }));\n }}>\n {t('DELETE')}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n setApiUrl(ApiUrl._API_BANNER + '?StartDate=' + startDate + \"&endDate=\" + endDate);\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function deleteBanner(id) {\n var responseJson = await ApiEngine.delete(ApiUrl._API_BANNER + \"/\" + id);\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && applyFilter()\n }));\n }\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n setApiUrl(ApiUrl._API_BANNER + '?StartDate=' + startDate + \"&endDate=\" + endDate +\n \"&searchTerm=\" + searchTerm + \"&v=\" + moment.now());\n }\n\n /// \n /// Author : Wind\n /// \n const PaginationTable = useMemo(() => , [apiUrl])\n\n return (\n
    \n
    \n

    {t(\"MANAGE_BANNER\")}

    \n {\n checkIfPermissionExist(AccessRight._BANNER_CONTROL_PERMISSION, true) &&\n
    \n \n
    \n }\n
    \n \n \n
    \n
    \n
    \n \n setSearchTerm(e.target.value)} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {PaginationTable}\n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default ManageBanner;","import React, { useState, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { Panel, PanelBody, PanelFooter } from '../../../components/panel/panel.jsx';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { WebUrl, ApiKey, ApiUrl, LanguageKey, AlertTypes, Status, Role, BannerType } from '../../../util/Constant';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { showMessage } from \"../../../redux/AppAction\";\nimport { createMultiPartFormBody, stringIsNullOrEmpty, navigateTo, getValidationMessage, arrayGroupByKey } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport 'react-cron-generator/dist/cron-builder.css';\nimport DateTime from 'react-datetime';\nimport moment from 'moment';\nimport Dropzone from 'react-dropzone';\nimport DualListBox from 'react-dual-listbox';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author: Wind\n/// \nconst BannerDetail = props => {\n const { t, i18n } = useTranslation();\n let _history = useHistory();\n var _dispatch = useDispatch();\n var _location = useLocation();\n const { register, handleSubmit, errors, setValue, watch } = useForm();\n const [supportedLanguage, setSupportedLanguage] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [dayOfWeek, setDayOfWeek] = useState([1, 2, 3, 4, 5, 6, 0]);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: \"PLEASE_ENTER_START_DATE\" });\n register({ name: 'endDate' }, { required: \"PLEASE_ENTER_END_DATE\" });\n register({ name: 'status' });\n\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('status', true);\n\n (async () => {\n var languageList = [];\n var langResponseJson = await ApiEngine.get(ApiUrl._API_GET_SUPPORTED_LANGUAGE);\n if (langResponseJson[ApiKey._API_SUCCESS_KEY]) {\n languageList = langResponseJson[ApiKey._API_DATA_KEY].map(item => ({ ...item, file: {}, preview: null }));\n }\n\n var shopResponseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP);\n\n if (shopResponseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(shopResponseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + \" (\" + shop.shopName + \")\", value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n }\n\n if (_location.state && _location.state.id) {\n var responseJson = await ApiEngine.get(ApiUrl._API_BANNER + \"/\" + _location.state.id);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setValue(\"startDate\", moment(responseJson[ApiKey._API_DATA_KEY].startDate).format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", moment(responseJson[ApiKey._API_DATA_KEY].endDate).format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"cta\", responseJson[ApiKey._API_DATA_KEY].cta);\n setValue(\"status\", responseJson[ApiKey._API_DATA_KEY].status == Status._ENABLED ? true : false);\n setValue(\"bannerType\", responseJson[ApiKey._API_DATA_KEY].bannerType);\n setSelectedShop(responseJson[ApiKey._API_DATA_KEY].bannerShops?.map(s => s.userId));\n languageList = languageList.map(item => ({\n ...item, title: responseJson[ApiKey._API_DATA_KEY].titleLocalizations.find(l => l.languageId == item.id).value,\n description: responseJson[ApiKey._API_DATA_KEY].descriptionLocalizations.find(l => l.languageId == item.id).value,\n preview: responseJson[ApiKey._API_DATA_KEY].imageLocalizations.find(l => l.languageId == item.id).value\n }));\n\n if(responseJson[ApiKey._API_DATA_KEY].frequency != -1){\n responseJson[ApiKey._API_DATA_KEY].frequency.split(\",\").map((f) => {\n setValue(`frequency.${f}`, f);\n });\n }\n }\n }\n\n setSupportedLanguage(languageList);\n })();\n }, []);\n\n /// \n /// Author : Wind\n /// \n const updateImage = (acceptedFiles, id) => {\n let newItem = [...supportedLanguage];\n let index = newItem.findIndex(i => i.id == id);\n\n if (acceptedFiles.length != 0) {\n const file = acceptedFiles[0];\n const reader = new FileReader();\n\n newItem[index].file = file;\n\n reader.onloadend = () => {\n newItem[index].preview = reader.result;\n setSupportedLanguage(newItem);\n }\n\n reader.readAsDataURL(file);\n }\n else {\n newItem[index].preview = null;\n newItem[index].file = {};\n setSupportedLanguage(newItem);\n }\n }\n\n /// \n /// Author: Wind\n /// \n const submitForm = async (data, e) => {\n var responseJson;\n\n let frequencyArr = data.frequency.filter(d => d !== false);\n\n let params = {\n title: JSON.stringify(supportedLanguage.map(item => ({ languageId: item.id, value: data[`${item.id}_title`] }))),\n description: JSON.stringify(supportedLanguage.map(item => ({ languageId: item.id, value: data[`${item.id}_description`] }))),\n startDate: data.startDate,\n endDate: data.endDate,\n cta: data.cta,\n status: data.status ? Status._ENABLED : Status._DISABLED,\n shopIds: selectedShop,\n bannerType: data.bannerType,\n frequency: frequencyArr.length > 0 ? frequencyArr : -1\n }\n\n for (var i = 0; i < supportedLanguage.length; i++) {\n if (stringIsNullOrEmpty(supportedLanguage[i][\"preview\"])) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(\"PLEASE_UPLOAD_BANNER_IMAGE\") + ' (' + supportedLanguage[i]['name'] + ')'\n }));\n return;\n }\n params[`${supportedLanguage[i][\"id\"]}`] = supportedLanguage[i][\"file\"];\n }\n\n if (_location.state && _location.state.id) {\n responseJson = await ApiEngine.put(ApiUrl._API_BANNER + '/' + _location.state.id, createMultiPartFormBody(params));\n }\n else {\n responseJson = await ApiEngine.post(ApiUrl._API_BANNER, createMultiPartFormBody(params));\n }\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_BANNER)\n }));\n }\n\n return (\n
    \n

    {_location.state ? t(\"EDIT_BANNER\") : t(\"CREATE_BANNER\")}

    \n
    \n
    \n
    \n \n \n
    \n {\n supportedLanguage && supportedLanguage.map((item, index) => {\n return (\n
    \n
    \n \n \n {errors[`${item.id + '_title'}`] &&
    {t(getValidationMessage(errors[`${item.id + '_title'}`]))}
    }\n
    \n
    \n )\n })\n }\n
    \n
    \n {\n supportedLanguage && supportedLanguage.map((item, index) => {\n return (\n
    \n
    \n \n \n {errors[`${item.id + '_description'}`] &&
    {t(getValidationMessage(errors[`${item.id + '_description'}`]))}
    }\n
    \n
    \n )\n })\n }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n
    \n \n {errors.cta &&
    {t(errors.cta.message)}
    }\n
    \n
    \n
    \n
    \n
    \n {\n supportedLanguage && supportedLanguage.map((item, index) => {\n return (\n
    \n
    \n \n updateImage(acceptedFiles, item.id)}>\n {({ getRootProps, getInputProps }) => (\n
    \n
    \n \n {!item.preview &&

    {t(\"UPLOAD_BANNER\") + \" (\" + item.name + \")\"}

    }\n {item.preview && }\n
    \n
    \n )}\n
    \n \n
    \n
    \n )\n })\n }\n
    \n
    \n
    \n
    \n
    \n \n {\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n setValue('status', e.target.checked)}\n checked={watch('status')} />\n \n
    \n
    \n
    \n
    \n

    {t(\"IGNORE_TO_DISPLAY_EVERYDAY\")}

    \n {\n dayOfWeek.map((d) =>
    \n
    \n \n \n
    \n \n
    )\n }\n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default BannerDetail;","import React, { useState, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport DateTime from 'react-datetime';\nimport { ApiUrl } from '../../../util/Constant';\nimport { getValidationMessage, numberWithCurrencyFormat } from '../../../util/Util';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport moment from 'moment';\n\n/// \n/// Author: Wind\n/// \nconst MemberEcreditTransferLog = props => {\n const { t } = useTranslation();\n const { setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD HH:mm:ss\"));\n const [sender, setSender] = useState('');\n const [receiver, setRecevier] = useState('');\n\n /// \n /// Author: Wind\n /// \n let _eCreditLog = [\n {\n Header: \"DATE\",\n accessor: \"updatedTime\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {moment(row.original.updatedTime).format(\"YYYY-MM-DD HH:mm:ss\")}
    \n }\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return {numberWithCurrencyFormat(row.original.amount)};\n },\n disableSortBy: true\n },\n {\n Header: \"PROCESSING_FEE\",\n accessor: \"processingFee\",\n Cell: ({ row }) => {\n return {numberWithCurrencyFormat(row.original.processingFee)};\n },\n disableSortBy: true\n },\n {\n Header: \"SENDER\",\n accessor: \"senderName\",\n disableSortBy: true\n },\n {\n Header: \"SENDER_PRE_CREDIT\",\n accessor: \"preSenderCredit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.preSenderCredit)}
    ;\n },\n },\n {\n Header: \"SENDER_POST_CREDIT\",\n accessor: \"postSenderCredit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.postSenderCredit)}
    ;\n },\n },\n {\n Header: \"RECEIVER\",\n accessor: \"receiverName\",\n disableSortBy: true\n },\n {\n Header: \"RECEIVER_PRE_CREDIT\",\n accessor: \"preReceiverCredit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.preReceiverCredit)}
    ;\n },\n },\n {\n Header: \"RECEIVER_POST_CREDIT\",\n accessor: \"postReceiverCredit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {numberWithCurrencyFormat(row.original.postReceiverCredit)}
    ;\n },\n },\n ];\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n setApiUrl(ApiUrl._API_GET_ECREDIT_LOG + '?FromUsername=' + sender + '&ToUsername=' + receiver +\n '&StartDate=' + startDate + '&EndDate=' + endDate + '&v=' + moment.now());\n }\n\n /// \n /// Author : Wind\n /// \n const PaginationTable = useMemo(() => , [apiUrl])\n\n return (\n
    \n
    \n

    {t(\"ECREDIT_TRANSFER_LOG_MEMBER\")}

    \n
    \n \n \n
    \n
    \n
    \n \n setSender(e.target.value)} />\n
    \n
    \n
    \n
    \n \n setRecevier(e.target.value)} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {PaginationTable}\n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default MemberEcreditTransferLog;","import React, { useState, useMemo, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport DateTime from 'react-datetime';\nimport { ApiUrl, ApiKey } from '../../../util/Constant';\nimport { getValidationMessage, numberWithCurrencyFormat } from '../../../util/Util';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport moment from 'moment';\nimport ApiEngine from '../../../util/ApiEngine.js';\n\n/// \n/// Author: Wind\n/// \nconst RegionEcreditTransferLog = props => {\n const { t } = useTranslation();\n const { setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regionOption, setRegionOption] = useState();\n const [fromRegion, setFromRegion] = useState('');\n const [toRegion, setToRegion] = useState('');\n const [targetRegion, setTargetRegion] = useState('');\n const [eCreditLog, setECreditLog] = useState([]);\n const _EMPTY_STATE = -1;\n\n /// \n /// Author: Wind\n /// \n let _eCreditLog = [\n {\n Header: \"FROM_REGION\",\n accessor: \"fromRegionName\",\n disableSortBy: true,\n Footer: () => {\n return {t('TOTAL')}: \n },\n },\n {\n Header: \"AMOUNT\",\n accessor: \"totalAmount\",\n Cell: ({ row }) => {\n return {numberWithCurrencyFormat(row.original.totalAmount)};\n },\n disableSortBy: true,\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.totalAmount);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount)}\n },\n },\n {\n Header: \"PROCESSING_FEE\",\n accessor: \"processingFee\",\n Cell: ({ row }) => {\n return {numberWithCurrencyFormat(row.original.processingFee)};\n },\n disableSortBy: true,\n Footer: ({ page }) => {\n const processingFee = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.processingFee);\n }, 0);\n\n return {numberWithCurrencyFormat(processingFee)}\n },\n },\n {\n Header: \"TO_REGION\",\n accessor: \"toRegionName\",\n disableSortBy: true\n }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n (async () => {\n var regionJsonResult = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (regionJsonResult[ApiKey._API_SUCCESS_KEY]) {\n var availableRegions = [];\n\n availableRegions.push({\n label: '',\n value: _EMPTY_STATE\n });\n\n regionJsonResult[ApiKey._API_DATA_KEY].map((region) => {\n availableRegions.push({\n label: region['name'],\n value: region['id']\n });\n });\n\n setRegionOption(availableRegions);\n }\n })();\n }, []);\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_ECREDIT_LOG + '?IsSummary=true&FromRegion=' + (fromRegion != _EMPTY_STATE ? fromRegion : '') +\n '&ToRegion=' + (toRegion != _EMPTY_STATE ? toRegion : '') +\n '&TargetRegion=' + (targetRegion != _EMPTY_STATE ? targetRegion : '') +\n '&StartDate=' + startDate + '&EndDate=' + endDate);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setECreditLog(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n\n return (\n
    \n
    \n

    {t(\"ECREDIT_TRANSFER_LOG_REGION\")}

    \n
    \n \n \n
    \n
    \n
    \n \n { setFromRegion(e.target.value); }}>\n {\n regionOption && regionOption.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n \n { setToRegion(e.target.value); }}>\n {\n regionOption && regionOption.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n \n { setTargetRegion(e.target.value); }}>\n {\n regionOption && regionOption.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n )\n}\n\nexport default RegionEcreditTransferLog;","import React, { useState, useEffect } from 'react';\nimport { ApiUrl } from '../../../util/Constant';\nimport { getValidationMessage } from '../../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from 'react-redux';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useLocation } from \"react-router-dom\";\n\n/// \n/// Author: Wind\n/// \nconst UserActionLog = props => {\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, errors, unregister, setValue } = useForm();\n let { search } = useLocation();\n const _query = new URLSearchParams(search);\n const _USERNAME = _query.get('username');\n const [logUrl, setLogUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n\n let _operationLogTableColumns = [\n {\n Header: t(\"MODIFIED_DATE\"),\n accessor: \"createdTime\",\n disableSortBy: true,\n width: 100\n },\n {\n Header: t(\"ACTION\"),\n accessor: \"actionKey\",\n disableSortBy: true,\n width: '10%'\n },\n {\n Header: t(\"VALUE\"),\n accessor: \"value\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 350,\n width: 350\n },\n {\n Header: t(\"OPERATED_BY\"),\n accessor: \"createdByName\",\n disableSortBy: true,\n width: 50\n },\n {\n Header: t(\"IP_ADDRESS\"),\n accessor: \"ipAddress\",\n disableSortBy: true,\n width: 50\n },\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setValue('startDate', moment().format(\"YYYY-MM-DD\"));\n setValue('endDate', moment().format(\"YYYY-MM-DD\"));\n onSubmit();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function onSubmit() {\n var rawUrl = ApiUrl._API_GET_OPERATION_LOG + \"?Username=\" + _USERNAME +\n \"&StartDate=\" + startDate + \"&EndDate=\" + endDate +\n \"&v=\" + moment.now();\n setLogUrl(rawUrl);\n }\n\n return (\n
    \n
    \n
    \n

    {t(\"USER_ACTION_LOG\") + ' (' + _USERNAME + ')'}

    \n
    \n \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default UserActionLog;","import React, { useState, useEffect } from 'react';\nimport { ApiUrl, CommonStatus, OverallTransactionTypeId } from '../../../util/Constant';\nimport { getValidationMessage, numberWithCurrencyFormat } from '../../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from 'react-redux';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useLocation } from \"react-router-dom\";\nimport { showResponseMessage } from '../../../redux/AppAction';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\n\n/// \n/// Author: Wind\n/// \nconst UserTransactionLog = props => {\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, errors, setValue } = useForm();\n let { search } = useLocation();\n const _query = new URLSearchParams(search);\n const _USERNAME = _query.get('username');\n const [logUrl, setLogUrl] = useState('');\n const [status, setStatus] = useState(CommonStatus._ALL_STATUS);\n const [startDate, setStartDate] = useState(moment().startOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n\n let _operationLogTableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"createdTime\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n {moment(row.original.createdTime).format('YYYY-MM-DD HH:mm:ss')}\n \n )\n },\n },\n {\n Header: t(\"OPERATED_BY\"),\n accessor: \"operatedByUsername\",\n disableSortBy: true,\n Cell: ({ row }) => {\n let operatedBy = \"\";\n let rowDetail = row.original;\n\n switch (rowDetail.typeId) {\n case OverallTransactionTypeId._SEND_CREDIT:\n // Current user is a receiving, else sent credit to others\n if (rowDetail.username == rowDetail.receiverUsername) {\n operatedBy = rowDetail.senderUsername;\n }\n else {\n operatedBy = rowDetail.receiverUsername;\n }\n break;\n default:\n operatedBy = rowDetail.operatedByUsername;\n break;\n }\n\n return operatedBy\n }\n },\n {\n Header: t(\"MEMBER_USERNAME\"),\n accessor: \"username\",\n Cell: ({ row }) => {\n return (\n \n {row.original.username} ({row.original.regionName})\n \n )\n },\n disableSortBy: true\n },\n {\n Header: t(\"PLAYER_ID\"),\n accessor: \"playerUsername\"\n },\n {\n Header: t(\"TYPE\"),\n accessor: \"type\",\n disableSortBy: true,\n Cell: ({ row }) => {\n let transactionTypeMsg = \"\";\n let rowDetail = row.original;\n\n switch (rowDetail.typeId) {\n case OverallTransactionTypeId._ONLINE_BANKING:\n transactionTypeMsg = t(\"TOP_UP_GPAY_BY\");\n break;\n case OverallTransactionTypeId._SHOP_SET_SCORE:\n transactionTypeMsg = t(\"SHOP_SET_E_POINT_BY\");\n break;\n case OverallTransactionTypeId._SHOP_SET_CREDIT:\n transactionTypeMsg = t(\"SHOP_SET_E_CREDIT_BY\");\n break;\n case OverallTransactionTypeId._SEND_CREDIT:\n // Current user is a receiving, else sent credit to others\n if (rowDetail.username == rowDetail.receiverUsername) {\n transactionTypeMsg = t(\"RECEIVED_E_CREDIT_FROM\", { operatedBy: rowDetail.senderUsername });\n }\n else {\n transactionTypeMsg = t(\"SENT_E_CREDIT_TO\", { operatedBy: rowDetail.receiverUsername });\n }\n break;\n case OverallTransactionTypeId._CONVERT_TO_CREDIT:\n transactionTypeMsg = t(\"CONVERT_TO_CREDIT_BY\");\n break;\n case OverallTransactionTypeId._CONVERT_TO_SCORE:\n transactionTypeMsg = t(\"CONVERT_TO_SCORE_BY\");\n break;\n case OverallTransactionTypeId._TRANSFER_SCORE:\n transactionTypeMsg = t(\"TRANSFER_E_POINT\");\n break;\n case OverallTransactionTypeId._REWARD_TO_CREDIT:\n // if claim reward is operated by member, then is convert to credit\n if (rowDetail.username == rowDetail.operatedByUsername) {\n transactionTypeMsg = t(\"CONVERT_REWARD_TO_CREDIT\");\n }\n else {\n transactionTypeMsg = t(\"CLAIM_REWARD\");\n }\n break;\n case OverallTransactionTypeId._EGHL:\n transactionTypeMsg = t(\"PURCHASED_EGHL_BY\");\n break;\n case OverallTransactionTypeId._E_WALLET_MXPAY:\n transactionTypeMsg = t(\"TOP_UP_E_WALLET\");\n break;\n case OverallTransactionTypeId._DUITNOW:\n transactionTypeMsg = t(\"DUITNOW\");\n break;\n case OverallTransactionTypeId._PASSWORD_RESET:\n transactionTypeMsg = t(\"PASSWORD_RESET\");\n break;\n case OverallTransactionTypeId._ONLINE_WITHDRAWAL:\n transactionTypeMsg = t(\"ONLINE_WITHDRAWAL\");\n break;\n }\n\n return (\n \n {transactionTypeMsg}\n \n )\n },\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status == CommonStatus._APPROVE_STATUS ? {t(\"SUCCESS\")} : {t(\"FAILED\")};\n },\n disableSortBy: true\n },\n {\n Header: t(\"MEMBER_PRE\"),\n accessor: \"preCredit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n {numberWithCurrencyFormat(row.original.preCredit)}\n \n )\n }\n },\n {\n Header: t(\"MEMBER_POST\"),\n accessor: \"postCredit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n {numberWithCurrencyFormat(row.original.postCredit)}\n \n )\n }\n },\n {\n Header: t(\"AMOUNT\"),\n accessor: \"amount\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n 0 ? 'text-success' : 'text-danger'}>\n {numberWithCurrencyFormat(row.original.amount)}\n \n )\n }\n },\n {\n Header: t(\"PLAYER_PRE\"),\n accessor: \"preScore\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n {numberWithCurrencyFormat(row.original.preScore)}\n \n )\n },\n },\n {\n Header: t(\"PLAYER_POST\"),\n accessor: \"postScore\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n {numberWithCurrencyFormat(row.original.postScore)}\n \n )\n },\n },\n {\n Header: t(\"IP_ADDRESS\"),\n accessor: \"ipAddress\",\n disableSortBy: true,\n },\n {\n id: \"action\",\n Header: t(\"ACTION\"),\n Cell: ({ row }) => (\n
    \n \n \n \n {\n _dispatch(showResponseMessage(true, row.original.remark));\n }}>{t(\"VIEW_REMARK\")}\n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n onSubmit();\n }, []);\n\n /// \n /// Author: Wind\n /// \n async function onSubmit() {\n var rawUrl = ApiUrl._API_GET_USER_TRANSACTION_LOG + \"?Username=\" + _USERNAME +\n \"&StartDate=\" + startDate + \"&EndDate=\" + endDate + \"&Status=\" + status +\n \"&v=\" + moment.now();\n setLogUrl(rawUrl);\n }\n\n /// \n /// Author: CK\n /// \n async function onSubmit() {\n var rawUrl = ApiUrl._API_GET_USER_TRANSACTION_LOG + \"?Username=\" + _USERNAME +\n \"&StartDate=\" + startDate + \"&EndDate=\" + endDate + \"&Status=\" + status +\n \"&v=\" + moment.now();\n setLogUrl(rawUrl);\n }\n\n return (\n
    \n
    \n
    \n

    {t(\"USER_TRANSACTION_LOG\") + ' (' + _USERNAME + ')'}

    \n
    \n \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n setStatus(e.target.value);\n }}\n >\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default UserTransactionLog;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, getValidationMessage, navigateTo } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useHistory } from 'react-router-dom';\n\n/// \n/// Author : Wind\n/// Editted : CK - Sortable total count\n/// \nconst OverallDownlineReport = props => {\n const _SORTABLE_COLUMNS = {\n TOTAL_COUNT: -1,\n SELF_REWARD: 1,\n DOWNLINE_REWARD: 2\n }\n\n var _history = useHistory();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [phone, setPhone] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('month').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD HH:mm:ss\"));\n const [regionId, setRegionId] = useState('');\n const [regions, setRegions] = useState([]);\n const [orderByAsc, setOrderByAsc] = useState(false);\n const [orderByColumn, setOrderByColumn] = useState(_SORTABLE_COLUMNS.TOTAL_COUNT);\n const [firstTimeInit, setFirstTimeInit] = useState(true);\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: 50\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"TOTAL_DOWNLINE\",\n accessor: \"downlineCount\",\n sortColumn: (orderByColumn == _SORTABLE_COLUMNS.TOTAL_COUNT),\n isAsc: orderByAsc,\n showSortIcon: true,\n disableSortBy: true,\n clickable: () => { sortTable(_SORTABLE_COLUMNS.TOTAL_COUNT); }\n },\n {\n Header: \"SELF_EARNED_REWARD\",\n accessor: \"selfEarnedReward\",\n disableSortBy: true,\n sortColumn: (orderByColumn == _SORTABLE_COLUMNS.SELF_REWARD),\n isAsc: orderByAsc,\n showSortIcon: true,\n clickable: () => { sortTable(_SORTABLE_COLUMNS.SELF_REWARD); }\n },\n {\n Header: \"DOWNLINE_EARNED_REWARD\",\n accessor: \"downlineEarnedReward\",\n disableSortBy: true,\n sortColumn: (orderByColumn == _SORTABLE_COLUMNS.DOWNLINE_REWARD),\n isAsc: orderByAsc,\n showSortIcon: true,\n clickable: () => { sortTable(_SORTABLE_COLUMNS.DOWNLINE_REWARD); }\n },\n {\n Header: \"REGION\",\n accessor: \"regionName\",\n disableSortBy: true\n },\n {\n\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n
    \n \n \n \n {\n navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_MEMBER_DOWNLINE, { id: row.original.userId, username: row.original.username });\n }}\n >\n {t(\"VIEW_DOWNLINE\")}\n \n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n (async () => {\n var regionJsonResult = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (regionJsonResult[ApiKey._API_SUCCESS_KEY]) {\n var availableRegions = [];\n\n regionJsonResult[ApiKey._API_DATA_KEY].map((region) => {\n availableRegions.push({\n label: region['name'],\n value: region['id']\n });\n });\n\n setRegions(availableRegions);\n applyFilter();\n }\n })();\n }, [])\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n if (!firstTimeInit) {\n applyFilter();\n }\n setFirstTimeInit(false);\n }, [orderByColumn, orderByAsc])\n\n /// \n /// Author : Wind\n /// \n function sortTable(selectedColumn) {\n setOrderByColumn(selectedColumn);\n setOrderByAsc(!orderByAsc);\n }\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n let apiUrl = ApiUrl._API_GET_OVERALL_DOWNLINE + '?StartDate=' + startDate + \"&endDate=\" + endDate + \"&Username=\" + phone +\n \"&orderByColumn=\" + orderByColumn + \"&OrderByAsc=\" + orderByAsc + \"&v=\" + Date.now();\n\n if (!stringIsNullOrEmpty(regionId)) {\n apiUrl += \"&RegionId=\" + regionId;\n }\n\n setApiUrl(apiUrl);\n }\n\n /// \n /// Author : Wind\n /// \n const PaginationTable = useMemo(() => , [apiUrl])\n\n return (\n
    \n

    {t(\"OVERALL_DOWNLINE_REPORT\")}

    \n \n \n
    \n
    \n
    \n \n setPhone(e.target.value)} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n \n { setRegionId(e.target.value); }}>\n \n {\n regions.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n}\n\n\nexport default OverallDownlineReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, Role, FilterStatus, AccessRight } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, numberWithCurrencyFormat } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useDispatch } from \"react-redux\";\nimport { showResponseMessage } from \"redux/AppAction.js\";\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\n\n/// \n/// Author : Wind\n/// Edited : CK - Allow to view members by rank \n/// \nconst RankSummaryReport = props => {\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n const [rankSummary, setRankSummary] = useState([]);\n const [regionId, setRegionId] = useState('');\n const [regions, setRegions] = useState([]);\n const [apiUrl, setApiUrl] = useState('');\n const [isMemberModalVisible, setIsMemberModalVisible] = useState(false);\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: 50\n },\n {\n Header: \"REGION\",\n accessor: \"regionName\",\n disableSortBy: true\n },\n {\n Header: \"RANK\",\n accessor: \"rankName\",\n disableSortBy: true\n },\n {\n Header: \"TOTAL_MEMBER\",\n accessor: \"rankCount\",\n disableSortBy: true\n },\n {\n\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._MEMBER_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n getMembersByRankId(row.original.rankId);\n }}>\n {t(\"VIEW_DETAIL\")}\n \n \n \n
    \n ),\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\" }\n }\n ]\n\n var _memberTableColumns = [\n {\n Header: 'USERNAME',\n accessor: 'username',\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n {row.original.username} ({row.original.regionName})\n \n )\n }\n },\n {\n Header: 'SHOP',\n Cell: ({ row }) => {\n return (\n \n {row.original.shopUsername} ({row.original.shopName})\n \n )\n },\n disableSortBy: true\n },\n {\n Header: 'STATUS',\n accessor: 'status',\n Cell: ({ row }) => {\n return (\n \n {\n row.original.status == FilterStatus._ACTIVE ?\n {t(\"ACTIVE\")} :\n {t(\"SUSPENDED\")}\n }\n \n )\n },\n disableSortBy: true\n },\n {\n Header: 'TOTAL_REWARD',\n accessor: row => row.totalReward.toFixed(2)\n },\n {\n Header: 'TOTAL_CREDIT',\n accessor: row => row.totalCredit.toFixed(2)\n },\n {\n Header: 'EXPERIENCE',\n Cell: ({ row }) => {\n let experienceDetail = row.original;\n return {experienceDetail ? numberWithCurrencyFormat(experienceDetail.experience, 3) + \" Exp (\" + experienceDetail.rankName + \")\" : \"\"}\n },\n disableSortBy: true\n },\n {\n Header: 'LAST_LOGIN',\n accessor: 'lastLoginDateString',\n }\n ];\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n applyFilter();\n\n (async () => {\n var regionJsonResult = await ApiEngine.get(ApiUrl._API_GET_REGION);\n\n if (regionJsonResult[ApiKey._API_SUCCESS_KEY]) {\n var availableRegions = [];\n\n regionJsonResult[ApiKey._API_DATA_KEY].map((region) => {\n availableRegions.push({\n label: region['name'],\n value: region['id']\n });\n });\n\n setRegions(availableRegions);\n }\n })();\n }, [])\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n let apiUrl = ApiUrl._API_GET_RANK_SUMMARY + \"?v=\" + Date.now();\n\n if (!stringIsNullOrEmpty(regionId)) {\n apiUrl += \"&RegionId=\" + regionId;\n }\n\n var responseJson = await ApiEngine.get(apiUrl);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setRankSummary(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n }\n\n /// \n /// Author: CK\n /// \n async function getMembersByRankId(rankId) {\n setApiUrl(ApiUrl._API_GET_MEMBERS_BY_RANK_ID + \"?RankId=\" + rankId + \"&v=\" + Date.now());\n setIsMemberModalVisible(true);\n }\n\n /// \n /// Author : CK\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl])\n\n return (\n
    \n

    {t(\"RANK_SUMMARY_REPORT\")}

    \n \n \n
    \n
    \n \n { setRegionId(e.target.value); }}>\n \n {\n regions.map((region, index) => {\n return \n })\n }\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n { setIsMemberModalVisible(false); }} size=\"xl\">\n { setIsMemberModalVisible(false); }}>\n

    \n {t(\"MEMBERS\")}\n

    \n
    \n \n {PaginationTable}\n \n
    \n
    \n );\n}\n\n\nexport default RankSummaryReport;","import React, { useState, useEffect } from 'react';\nimport { ApiUrl } from '../../../util/Constant';\nimport { getValidationMessage } from '../../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from 'react-redux';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { useLocation } from \"react-router-dom\";\n\n/// \n/// Author: Wind\n/// \nconst ApiLog = props => {\n const { t, i18n } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, errors, unregister, setValue } = useForm();\n const [logUrl, setLogUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n\n let _apiLogTableColumns = [\n {\n Header: t(\"CREATED_DATE\"),\n accessor: \"createdAt\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return
    {moment(row.original.createdAt).format('DD/MM/YYYY hh:mm:ss A')}
    ;\n },\n },\n {\n Header: t(\"USERNAME\"),\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: t(\"URI\"),\n accessor: \"uri\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 350,\n width: 350\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n disableSortBy: true\n },\n {\n Header: t(\"METHOD\"),\n accessor: \"method\",\n disableSortBy: true\n },\n {\n Header: t(\"REQUEST_HEADER\"),\n accessor: \"requestHeader\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 350,\n width: 350\n },\n {\n Header: t(\"REQUEST_BODY\"),\n accessor: \"requestBody\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 350,\n width: 350\n },\n {\n Header: t(\"RESPONSE_CONTENT\"),\n accessor: \"responseContent\",\n disableSortBy: true,\n style: {\n wordBreak: 'break-word'\n },\n minWidth: 350,\n width: 350\n },\n {\n Header: t(\"RESPONSE_MESSAGE\"),\n accessor: \"responseMessage\",\n disableSortBy: true\n },\n {\n Header: t(\"DURATION\"),\n accessor: \"duration\",\n disableSortBy: true\n },\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setValue('startDate', moment().format(\"YYYY-MM-DD\"));\n setValue('endDate', moment().format(\"YYYY-MM-DD\"));\n }, []);\n\n /// \n /// Author: Wind\n /// \n const onSubmit = async (data, e) => {\n var rawUrl = ApiUrl._API_GET_API_LOG + \"?Username=\" + data.username +\n \"&StartDate=\" + startDate + \"&EndDate=\" + endDate +\n \"&Uri=\" + data.uri + \"&RequestPayLoad=\" + data.requestPayload +\n \"&ResponsePayLoad=\" + data.responsePayload +\n \"&Status=\" + data.status +\n \"&v=\" + moment.now();\n setLogUrl(rawUrl);\n }\n\n return (\n
    \n
    \n
    \n

    {t(\"API_LOG\")}

    \n
    \n \n \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default ApiLog;","import React, { useEffect, useState, useRef, useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { Panel, PanelHeader, PanelBody } from '../../../components/panel/panel';\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport { AlertTypes, ApiKey, ApiUrl, PackagePayRateType, WebUrl } from 'util/Constant';\nimport LottoPayrateTable from 'components/custom/LottoPayrateTable';\nimport { useTranslation } from 'react-i18next';\nimport { TabContent, TabPane, Nav, NavItem, NavLink, Modal, ModalBody, ModalFooter, Button } from 'reactstrap';\nimport classNames from 'classnames';\nimport ApiEngine from 'util/ApiEngine';\nimport { useForm } from \"react-hook-form\";\nimport * as Util from '../../../util/Util';\nimport { showMessage } from 'redux/AppAction';\nimport ReactTable from 'components/custom/ReactTable';\n\n/// \n/// Author : A\n/// \nconst AgentVendorApiDetail = () => {\n let _history = useHistory();\n let _location = useLocation();\n let _dispatch = useDispatch();\n\n const { register, watch } = useForm();\n const { t } = useTranslation();\n\n const normalPayrateTable = useRef();\n const gdPayrateTable = useRef();\n\n const _TABS = {\n NORMAL: \"NORMAL\",\n GD: \"GD\"\n }\n\n const [activeTab, setActiveTab] = useState(_TABS.NORMAL);\n const [normalPackage, setNormalPackage] = useState([]);\n const [gdPackage, setGdPackage] = useState([]);\n const [agentUserId, setAgentUserId] = useState(_location.state?.id);\n\n const [vendors, setVendors] = useState([]);\n const [agentPackage, setAgentPackage] = useState(null);\n const [packageWarning, setPackageWarning] = useState(false);\n const [warningMessage, setWarningMessage] = useState([]);\n\n /// \n /// Author : A\n /// \n useEffect(() => {\n init();\n }, [agentUserId]);\n\n const _COLUMNS = useMemo(() => [\n {\n Header: t(\"VENDOR\"),\n accessor: \"name\",\n disableSortBy: true,\n },\n {\n Header: t(\"CODE\"),\n accessor: \"code\",\n disableSortBy: true,\n },\n {\n Header: t(\"ROOT_AGENT\"),\n accessor: \"rootAgent\",\n disableSortBy: true,\n },\n {\n Header: t(\"KEY\"),\n accessor: \"signKey\",\n disableSortBy: true,\n },\n {\n Header: t(\"OPCODE\"),\n accessor: \"opcode\",\n disableSortBy: true,\n },\n {\n Header: t(\"OPSECRET\"),\n accessor: \"opSecret\",\n disableSortBy: true,\n },\n {\n Header: t(\"TYPE\"),\n accessor: \"isPrimary\",\n disableSortBy: true,\n width: '1%',\n Cell: ({ row }) => {\n return row.original.isPrimary ? {t(\"PRIMARY\")} : {t(\"SECONDARY\")};\n }\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n disableSortBy: true,\n width: '1%',\n Cell: ({ row }) => {\n return row.original.status ? {t(\"ENABLE\")} : {t(\"DISABLE\")};\n }\n }\n ], []);\n\n /// \n /// Author : A\n /// \n const init = () => {\n ApiEngine.get(`${ApiUrl._API_GET_AGENT_VENDORS}?agentId=${agentUserId}`)\n .then((response) => {\n if (response[ApiKey._API_SUCCESS_KEY]) {\n let data = response[ApiKey._API_DATA_KEY];\n setVendors(data);\n if (data.filter(v => v.isAgentPlayer).length > 0) {\n getLottoPackage();\n }\n }\n });\n }\n\n /// \n /// Author : A\n /// \n const getLottoPackage = async () => {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_AGENT_LOTTO_PACKAGE}?agentId=${agentUserId}&vendorApiMetaId=${watch('vendorApiMetaId')}`);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n const lottoPackages = responseJson[ApiKey._API_DATA_KEY];\n if (lottoPackages) {\n setAgentPackage(lottoPackages.user.customPayRate);\n setNormalPackage(Object.values(lottoPackages.normal));\n setGdPackage([lottoPackages.gd.basePayRate]);\n }\n } else {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n }));\n }\n }\n\n /// \n /// Author : A\n /// \n const saveLottoPackage = async () => {\n let normalPayRateData = await normalPayrateTable.current.getPayrate();\n\n if (!normalPayRateData.success) {\n setWarningMessage(normalPayRateData.message);\n setPackageWarning(true);\n return;\n } else {\n setWarningMessage([]);\n setPackageWarning(false);\n }\n\n let data = {\n id: agentPackage.id,\n ...normalPayRateData.data.customPayrate\n };\n\n var responseJson = await ApiEngine.post(ApiUrl._API_CREATE_OR_UPDATE_AGENT_LOTTO_PACKAGE, Util.createMultiPartFormBody(data));\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n // onConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && Util.navigateTo(_history, WebUrl._URL_ADMIN_MANAGE_AGENT)\n }));\n }\n\n return (\n <>\n
    \n
    \n

    {_location.state?.username} - {t(\"VENDOR_API_DETAILS\")}

    \n \n
    \n \n \n \n \n {\n vendors.filter(v => v.isAgentPlayer).length > 0 &&\n <>\n {t(\"AGENT_PLAYER\")} {t(\"VENDOR\")}\n \n
    \n
    \n
    \n \n {\n vendors.filter(v => v.isAgentPlayer).map((v) => )\n }\n \n
    \n
    \n
    \n \n \n \n 0 && normalPackage}\n userPackage={agentPackage && agentPackage}\n />\n \n \n 0 && gdPackage}\n />\n \n \n \n
    \n \n }\n
    \n
    \n setPackageWarning(false)}>\n \n

    {t(\"PLEASE_CHECK_THE_FOLLOWING_WARNINGS\")}

    \n \n \n \n \n \n \n \n \n {\n warningMessage.map((wm) =>\n \n \n \n \n )\n }\n \n
    {t(\"DESCRIPTION\")}{t(\"WARNING\")}
    {wm.description}\n {Util.numberWithCurrencyFormat(wm.message)}\n \n {Util.numberWithCurrencyFormat(wm.value)}\n
    \n
    \n
    \n \n );\n};\n\nexport default AgentVendorApiDetail;","import ReactTable from 'components/custom/ReactTable';\nimport { Panel, PanelBody } from 'components/panel/panel';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport DualListBox from 'react-dual-listbox';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from 'util/ApiEngine';\nimport { ApiKey, ApiUrl } from 'util/Constant';\nimport { arrayGroupByKey, isObjectEmpty, numberWithCurrencyFormat, stringIsNullOrEmpty, getAmountClassName } from '../../../util/Util';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport RegionFilterDualListBox from '../../../components/custom/RegionFilterDualListBox';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author : YJ\n/// \nconst AgentWinLossReport = () => {\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState(\"\");\n const [postData, setPostData] = useState({});\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [agents, setAgents] = useState([]);\n const [selectedAgents, setSelectedAgents] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'));\n const [endDate, setEndDate] = useState(moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'));\n const [viewDetails, setViewDetails] = useState({});\n const [viewUrl, setViewUrl] = useState(\"\");\n const [modalVisibility, setModalVisibility] = useState(false);\n const [regions, setRegions] = useState([]);\n const _REPORT_TYPE = {\n slot: 1,\n live: 2,\n lotto: 3,\n fishing: 4\n };\n\n const { register, handleSubmit, setValue } = useForm({\n defaultValues: {\n startDate: startDate,\n endDate: endDate\n }\n });\n\n const _COLUMNS = [\n {\n Header: \"No.\",\n id: \"row\",\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: '1%'\n },\n {\n Header: \"AGENT\",\n accessor: \"agentUsername\",\n disableSortBy: true\n },\n {\n Header: \"NAME\",\n accessor: \"agentName\",\n disableSortBy: true\n },\n {\n Header: \"CITY\",\n accessor: \"city\",\n disableSortBy: true\n },\n {\n Header: \"CLOSING_DAY\",\n accessor: \"closingDay\",\n disableSortBy: true\n },\n {\n Header: \"SLOT_TURNOVER\",\n accessor: \"slotTurnover\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.slotTurnover);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount, 2)}\n },\n },\n {\n Header: \"SLOT_PLAYER_WINLOSE\",\n accessor: \"slotWinLoss\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.slot\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.slotWinLoss, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.slotWinLoss);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"SLOT_COMMISSION\",\n accessor: \"slotCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.slotCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"FISHING_WINLOSE\",\n accessor: \"fishingWinLoss\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.fishing\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.fishingWinLoss, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.fishingWinLoss);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"FISHING_COMMISSION\",\n accessor: \"fishingCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.fishingCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LIVE_SLOT_WINLOSS\",\n accessor: \"liveSlotWinLoss\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.live\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.liveSlotWinLoss, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.liveSlotWinLoss);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LIVE_SLOT_COMMISSION\",\n accessor: \"liveSlotCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.liveSlotCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LOTTO_TURNOVER\",\n accessor: \"lottoBet\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.lottoBet);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"STRIKE\",\n accessor: \"lottoStrike\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.lotto\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.lottoStrike, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.lottoStrike);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LOTTO_COMMISSION\",\n accessor: \"lottoCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.lottoCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"TURNOVER_COMMISSION\",\n accessor: \"turnoverCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.turnoverCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"AGENT_TOTAL_COMMISSION\",\n accessor: \"agentTotalCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.agentTotalCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"UPLINE\",\n accessor: \"uplineName\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return
    {stringIsNullOrEmpty(value) ? '-' : value}
    ;\n },\n },\n {\n Header: \"UPLINE_SLOT_COMMISSION\",\n accessor: \"uplineSlotCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineSlotCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"UPLINE_FISHING_COMMISSION\",\n accessor: \"uplineFishingCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineFishingCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n // {\n // Header: \"UPLINE_LIVE_SLOT_COMMISSION\",\n // accessor: \"liveUplineSlotCommission\",\n // disableSortBy: true,\n // Cell: ({ value }) => {\n // return {numberWithCurrencyFormat(value, 2)}\n // },\n // Footer: ({ page }) => {\n // const totalAmount = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.liveUplineSlotCommission);\n // }, 0);\n\n // return {totalAmount.toFixed(2)}\n // },\n // },\n {\n Header: \"UPLINE_LOTTO_COMMISSION\",\n accessor: \"uplineLottoCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineLottoCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n // {\n // Header: \"UPLINE_TURNOVER_COMMISSION\",\n // accessor: \"uplineTurnoverCommission\",\n // disableSortBy: true,\n // Cell: ({ value }) => {\n // return {numberWithCurrencyFormat(value, 2)}\n // },\n // Footer: ({ page }) => {\n // const totalAmount = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.uplineTurnoverCommission);\n // }, 0);\n\n // return {totalAmount.toFixed(2)}\n // },\n // },\n {\n Header: \"TOTAL_UPLINE_COMMISSION\",\n accessor: \"uplineCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n ]\n\n const _VIEW_DETAIL_COLUMNS = [\n {\n Header: \"No.\",\n id: \"row\",\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: '1%'\n },\n {\n Header: \"PLAYER\",\n accessor: \"playerUsername\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendorName\",\n disableSortBy: true,\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return = 0 ? \"\" : \"text-danger\"}>{numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount, 2)}\n },\n },\n ]\n\n /// \n /// Author : YJ\n /// \n useEffect(() => {\n (async () => {\n await getVendorOption();\n await getAgentOption();\n })();\n }, []);\n\n /// \n /// Author : YJ\n /// \n async function getVendorOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : YJ\n /// \n async function getAgentOption() {\n await ApiEngine.get(ApiUrl._API_GET_AGENT_LIST)\n .then((responseJson) => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var data = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var optionList = [];\n var regionOptions = [];\n\n for (var key in data) {\n var agentList = [];\n\n data[key].map(shop => {\n agentList.push({ label: shop.username, value: shop.id });\n });\n\n optionList.push({\n label: key,\n value: key,\n options: agentList\n })\n\n regionOptions.push({\n label: key,\n value: key\n });\n }\n\n setRegions(regionOptions);\n setAgents(optionList);\n }\n })\n }\n\n /// \n /// Author : YJ\n /// \n function constructModalHeader() {\n let header = \"\";\n\n if (viewDetails[\"type\"] == _REPORT_TYPE.lotto) {\n header = t(\"LOTTO\");\n }\n else if (viewDetails[\"type\"] == _REPORT_TYPE.slot) {\n header = t(\"SLOT\");\n }\n else {\n header = t(\"LIVE\");\n }\n\n return header + \" - \" + viewDetails[\"AgentUsername\"];\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData]);\n\n /// \n /// Author : YJ\n /// \n const ViewDetailPaginationTable = useMemo(() =>\n \n , [viewUrl, viewDetails]);\n\n /// \n /// Author : YJ\n /// \n const submitForm = async (data, e) => {\n setPostData({\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n FilterName: data.filterName,\n City: data.city\n });\n setApiUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT);\n }\n\n return (\n
    \n

    \n {t(\"AGENT_WIN_LOSS_REPORT\")}\n

    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n setValue('agents', e);\n setSelectedAgents(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendor', e);\n setSelectedVendor(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n\n { setModalVisibility(false) }} size=\"lg\">\n { setModalVisibility(false) }}>{constructModalHeader()}\n \n {ViewDetailPaginationTable}\n \n \n \n \n \n
    \n );\n};\n\nexport default AgentWinLossReport;","import ReactTable from 'components/custom/ReactTable';\nimport { Panel, PanelBody } from 'components/panel/panel';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport DualListBox from 'react-dual-listbox';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport ApiEngine from 'util/ApiEngine';\nimport { ApiKey, ApiUrl } from 'util/Constant';\nimport { arrayGroupByKey, isObjectEmpty, numberWithCurrencyFormat, stringIsNullOrEmpty, getAmountClassName } from '../../../util/Util';\nimport moment from 'moment';\nimport DateTime from 'react-datetime';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport RegionFilterDualListBox from '../../../components/custom/RegionFilterDualListBox';\nimport DualListBoxItemRow from 'components/custom/DualListBoxItemRow';\n\n/// \n/// Author : CK\n/// \nconst AgentWinLossReport2 = () => {\n const { t } = useTranslation();\n const [apiUrl, setApiUrl] = useState(\"\");\n const [postData, setPostData] = useState({});\n const [vendorOption, setVendorOption] = useState([]);\n const [selectedVendor, setSelectedVendor] = useState([]);\n const [agents, setAgents] = useState([]);\n const [selectedAgents, setSelectedAgents] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'));\n const [endDate, setEndDate] = useState(moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'));\n const [viewDetails, setViewDetails] = useState({});\n const [viewUrl, setViewUrl] = useState(\"\");\n const [modalVisibility, setModalVisibility] = useState(false);\n const [regions, setRegions] = useState([]);\n const _REPORT_TYPE = {\n slot: 1,\n live: 2,\n lotto: 3,\n fishing: 4\n };\n\n const { register, handleSubmit, setValue } = useForm({\n defaultValues: {\n startDate: startDate,\n endDate: endDate\n }\n });\n\n const _COLUMNS = [\n {\n Header: \"No.\",\n id: \"row\",\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: '1%'\n },\n {\n Header: \"AGENT\",\n accessor: \"agentUsername\",\n disableSortBy: true\n },\n {\n Header: \"NAME\",\n accessor: \"agentName\",\n disableSortBy: true\n },\n {\n Header: \"CITY\",\n accessor: \"city\",\n disableSortBy: true\n },\n {\n Header: \"CLOSING_DAY\",\n accessor: \"closingDay\",\n disableSortBy: true\n },\n {\n Header: \"SLOT_TURNOVER\",\n accessor: \"slotTurnover\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.slotTurnover);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount, 2)}\n },\n },\n {\n Header: \"SLOT_PLAYER_WINLOSE\",\n accessor: \"slotWinLoss\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.slot\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.slotWinLoss, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.slotWinLoss);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"SLOT_COMMISSION\",\n accessor: \"slotCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.slotCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"FISHING_WINLOSE\",\n accessor: \"fishingWinLoss\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.fishing\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.fishingWinLoss, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.fishingWinLoss);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"FISHING_COMMISSION\",\n accessor: \"fishingCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.fishingCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LIVE_SLOT_WINLOSS\",\n accessor: \"liveSlotWinLoss\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.live\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.liveSlotWinLoss, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.liveSlotWinLoss);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LIVE_SLOT_COMMISSION\",\n accessor: \"liveSlotCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.liveSlotCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LOTTO_TURNOVER\",\n accessor: \"lottoBet\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.lottoBet);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"STRIKE\",\n accessor: \"lottoStrike\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return (\n \n
    {\n setViewUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_DETAIL);\n setViewDetails({\n AgentId: row.original.agentId,\n AgentUsername: row.original.agentUsername,\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n type: _REPORT_TYPE.lotto\n });\n setModalVisibility(true);\n }}>\n {numberWithCurrencyFormat(row.original.lottoStrike, 2)}\n
    \n
    \n )\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.lottoStrike);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"LOTTO_COMMISSION\",\n accessor: \"lottoCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.lottoCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"TURNOVER_COMMISSION\",\n accessor: \"turnoverCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.turnoverCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"AGENT_TOTAL_COMMISSION\",\n accessor: \"agentTotalCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.turnoverCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"UPLINE\",\n accessor: \"uplineName\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return
    {stringIsNullOrEmpty(value) ? '-' : value}
    ;\n },\n },\n {\n Header: \"UPLINE_SLOT_COMMISSION\",\n accessor: \"uplineSlotCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineSlotCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n {\n Header: \"UPLINE_FISHING_COMMISSION\",\n accessor: \"uplineFishingCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineFishingCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n // {\n // Header: \"UPLINE_LIVE_SLOT_COMMISSION\",\n // accessor: \"liveUplineSlotCommission\",\n // disableSortBy: true,\n // Cell: ({ value }) => {\n // return {numberWithCurrencyFormat(value, 2)}\n // },\n // Footer: ({ page }) => {\n // const totalAmount = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.liveUplineSlotCommission);\n // }, 0);\n\n // return {totalAmount.toFixed(2)}\n // },\n // },\n {\n Header: \"UPLINE_LOTTO_COMMISSION\",\n accessor: \"uplineLottoCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineLottoCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n // {\n // Header: \"UPLINE_TURNOVER_COMMISSION\",\n // accessor: \"uplineTurnoverCommission\",\n // disableSortBy: true,\n // Cell: ({ value }) => {\n // return {numberWithCurrencyFormat(value, 2)}\n // },\n // Footer: ({ page }) => {\n // const totalAmount = page.reduce((sum, currentValue) => {\n // return sum + parseFloat(currentValue.original.uplineTurnoverCommission);\n // }, 0);\n\n // return {totalAmount.toFixed(2)}\n // },\n // },\n {\n Header: \"TOTAL_UPLINE_COMMISSION\",\n accessor: \"uplineCommission\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return {numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.uplineCommission);\n }, 0);\n\n return {totalAmount.toFixed(2)}\n },\n },\n ]\n\n const _VIEW_DETAIL_COLUMNS = [\n {\n Header: \"No.\",\n id: \"row\",\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: '1%'\n },\n {\n Header: \"PLAYER\",\n accessor: \"playerUsername\",\n disableSortBy: true\n },\n {\n Header: \"VENDOR\",\n accessor: \"vendorName\",\n disableSortBy: true,\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n disableSortBy: true,\n Cell: ({ value }) => {\n return = 0 ? \"\" : \"text-danger\"}>{numberWithCurrencyFormat(value, 2)}\n },\n Footer: ({ page }) => {\n const totalAmount = page.reduce((sum, currentValue) => {\n return sum + parseFloat(currentValue.original.amount);\n }, 0);\n\n return {numberWithCurrencyFormat(totalAmount, 2)}\n },\n },\n ]\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n (async () => {\n await getVendorOption();\n await getAgentOption();\n })();\n }, []);\n\n /// \n /// Author : CK\n /// \n async function getVendorOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_VENDOR_LIST);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var vendorList = [];\n\n responseJson[ApiKey._API_DATA_KEY].forEach(function (vendor) {\n vendorList.push({ label: vendor.name + \" (\" + vendor.shortName + \")\", value: vendor.id });\n });\n\n setVendorOption(vendorList);\n }\n }\n\n /// \n /// Author : CK\n /// \n async function getAgentOption() {\n await ApiEngine.get(ApiUrl._API_GET_AGENT_LIST)\n .then((responseJson) => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var data = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var optionList = [];\n var regionOptions = [];\n\n for (var key in data) {\n var agentList = [];\n\n data[key].map(shop => {\n agentList.push({ label: shop.username, value: shop.id });\n });\n\n optionList.push({\n label: key,\n value: key,\n options: agentList\n })\n\n regionOptions.push({\n label: key,\n value: key\n });\n }\n\n setRegions(regionOptions);\n setAgents(optionList);\n }\n })\n }\n\n /// \n /// Author : CK\n /// \n function constructModalHeader() {\n let header = \"\";\n\n if (viewDetails[\"type\"] == _REPORT_TYPE.lotto) {\n header = t(\"LOTTO\");\n }\n else if (viewDetails[\"type\"] == _REPORT_TYPE.slot) {\n header = t(\"SLOT\");\n }\n else {\n header = t(\"LIVE\");\n }\n\n return header + \" - \" + viewDetails[\"AgentUsername\"];\n }\n\n /// \n /// Author : CK\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData]);\n\n /// \n /// Author : CK\n /// \n const ViewDetailPaginationTable = useMemo(() =>\n \n , [viewUrl, viewDetails]);\n\n /// \n /// Author : CK\n /// \n const submitForm = async (data, e) => {\n setPostData({\n StartDate: startDate,\n EndDate: endDate,\n Vendors: selectedVendor,\n Agents: selectedAgents,\n FilterName: data.filterName,\n City: data.city\n });\n setApiUrl(ApiUrl._API_GET_AGENT_WINLOSS_REPORT_2);\n }\n\n return (\n
    \n

    \n {t(\"AGENT_WIN_LOSS_REPORT\")}\n

    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n setValue('agents', e);\n setSelectedAgents(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('vendor', e);\n setSelectedVendor(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n\n { setModalVisibility(false) }} size=\"lg\">\n { setModalVisibility(false) }}>{constructModalHeader()}\n \n {ViewDetailPaginationTable}\n \n \n \n \n \n
    \n );\n};\n\nexport default AgentWinLossReport2;","import React, { useState, useEffect, useMemo } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from \"react-router-dom\";\nimport { ApiKey, ApiUrl, AccessRight, AlertTypes, Status } from '../../../util/Constant';\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\nimport { stringIsNullOrEmpty, createFormBody } from \"../../../util/Util\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useDispatch } from \"react-redux\";\nimport { showMessage } from \"../../../redux/AppAction\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useForm } from \"react-hook-form\";\nimport VipMemberModal from '../../../components/custom/VipMemberModal';\n\n/// \n/// Author: Wind\n/// \nconst ManageVipMember = props => {\n const { t } = useTranslation();\n const { setValue, errors, handleSubmit, register, watch } = useForm();\n var _location = useLocation();\n let { search } = useLocation();\n var _dispatch = useDispatch();\n const _query = new URLSearchParams(search);\n const _ID = _query.get('id');\n const _NAME = _query.get('name');\n const _REGION_NAME = _query.get('region');\n const [status, setStatus] = useState(null);\n const [vipList, setVipList] = useState([]);\n const [event, setEvent] = useState({});\n\n /// \n /// Author: Wind\n /// \n let _vipMemberColumns = [\n {\n Header: \"RANK\",\n accessor: \"rank\",\n disableSortBy: true\n },\n {\n Header: \"USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n disableSortBy: true,\n Cell: ({ row }) => {\n let returnClassName = \"badge badge-success\";\n let statusName = \"ACTIVE\";\n\n if (row.original.status == Status._DISABLED) {\n returnClassName = \"badge badge-danger\";\n statusName = \"DEACTIVATE\";\n }\n\n return {t(statusName)}\n },\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._EVENT_CONTROL_PERMISSION, true) &&
    \n \n \n \n { \n setEvent({\n id: _ID,\n name: _NAME,\n isEdit: true,\n botId: row.original.id,\n username: row.original.username,\n userId: row.original.userId,\n isUserBotActive: row.original.status,\n rank: row.original.rank\n });\n }}>\n {t('EDIT')}\n \n { updateBotStatus(row.original); }}>\n \n {row.original.status == Status._DISABLED ? t('ACTIVE') : t('DEACTIVATE')}\n \n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n applyFilter();\n }, []);\n\n /// \n /// Author : Wind\n /// \n async function applyFilter() {\n try {\n if (!stringIsNullOrEmpty(_ID)) {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_KOG_BOT_MEMBER}?eventId=${_ID}`);\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setVipList(responseJson[ApiKey._API_DATA_KEY]);\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err)\n }));\n }\n }\n\n /// \n /// Author : Wind\n /// \n async function updateBotStatus(row) {\n try {\n let params = {\n id: row.id,\n status: row.status == Status._DISABLED ? Status._ENABLED : Status._DISABLED\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_KOG_BOT_MEMBER, createFormBody(params));\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n applyFilter();\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err)\n }));\n }\n }\n\n return (\n
    \n
    \n

    \n {_NAME + ' ' + t('VIP_MEMBER') + ' (' + _REGION_NAME + ')'}\n

    \n \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n {\n setEvent({});\n\n if (requiredRefresh) {\n applyFilter()\n }\n }} />\n
    \n )\n}\n\nexport default ManageVipMember;","import React, { useState, useEffect } from 'react';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { Panel, PanelBody } from '../../../components/panel/panel.jsx';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, ModalHeader, ModalBody, ModalFooter, Toast, ToastBody } from 'reactstrap';\nimport { useForm } from \"react-hook-form\";\nimport { ApiKey, ApiUrl, AlertTypes, OnlineWithdrawalStatus, AccessRight, CommonStatus } from \"../../../util/Constant\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation } from 'react-i18next';\nimport { showResponseMessage, showMessage } from \"../../../redux/AppAction\";\nimport { getPendingOnlineWithdrawalCount } from \"../../../redux/AuthAction\";\nimport { numberWithCurrencyFormat, stringIsNullOrEmpty, isObjectEmpty } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport moment from 'moment';\nimport { checkIfPermissionExist } from 'util/PermissionChecker';\nimport DateTime from 'react-datetime';\nimport Select from \"react-select\";\n\n/// \n/// Author: Wind\n/// \nconst OnlineWithdrawalRequest = props => {\n const { t } = useTranslation();\n const _dispatch = useDispatch();\n const { register, handleSubmit, setValue, watch } = useForm();\n const _userId = useSelector(state => state['authState']['userData']['userId']);\n const _userData = useSelector(state => state['authState']['userData']);\n const _pendingOnlineWithdrawalCount = useSelector(state => state['authState']['pendingOnlineWithdrawalCount']);\n const [modalData, setModalData] = useState({});\n const [remark, setRemark] = useState('');\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [showToast, setShowToast] = useState(false);\n const _STATUS_OPTION = [\n { label: 'ALL', value: '' },\n { label: 'SYSTEM_REJECTED', value: OnlineWithdrawalStatus._SYSTEM_REJECTED },\n { label: 'REJECTED', value: OnlineWithdrawalStatus._REJECTED },\n { label: 'PENDING_APPROVAL', value: OnlineWithdrawalStatus._PENDING_APPROVAL },\n { label: 'SUCCESS', value: OnlineWithdrawalStatus._SUCCESS },\n ];\n const _REMARK_OPTION = [\n { label: '', value: '' },\n { label: t('SYSTEM_MAINTENANCE'), value: 'System Maintenance' },\n { label: t('BANK_ACCOUNT_INVALID'), value: 'Invalid Bank Account' },\n { label: t('BANK_MAINTENANCE'), value: 'Bank Maintenance' }\n ];\n\n let _tableColumns = [\n {\n Header: \"No.\",\n id: \"row\",\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n disableSortBy: true,\n width: '1%'\n },\n {\n Header: t(\"REQUEST_DATETIME\"),\n disableSortBy: true,\n Cell: ({ row }) => {\n return moment(row.original.createdTime).format('M/D/YYYY hh:mm:ss A');\n },\n },\n {\n Header: t(\"USERNAME\"),\n disableSortBy: true,\n Cell: ({ row }) => {\n return {`${row.original.username} ${row.original.shopName ? '(' + row.original.shopName + ')' : ''}`} {row.original.regionName}\n },\n },\n {\n Header: t(\"PLAYER\"),\n disableSortBy: true,\n Cell: ({ row }) => {\n return stringIsNullOrEmpty(row.original.playerUsername) ? '-' : `${row.original.playerUsername}`;\n },\n },\n {\n Header: t(\"AMOUNT\"),\n accessor: \"amount\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return numberWithCurrencyFormat(row.original.amount * -1)\n },\n },\n {\n Header: t(\"STATUS\"),\n disableSortBy: true,\n Cell: ({ row }) => {\n return renderStatus(row.original.status, row.original.statusName);\n },\n },\n {\n Header: t(\"HANDLED_BY\"),\n disableSortBy: true,\n Cell: ({ row }) => {\n return stringIsNullOrEmpty(row.original.viewerUsername) ? '-' : `${row.original.viewerUsername} (${moment(row.original.viewedTime).format('M/D/YYYY hh:mm:ss A')})`;\n },\n },\n {\n Header: t(\"PROCESSED_DATETIME\"),\n disableSortBy: true,\n Cell: ({ row }) => {\n return row.original.status != OnlineWithdrawalStatus._PENDING_APPROVAL ? moment(row.original.updatedTime).format('M/D/YYYY hh:mm:ss A') : '-';\n },\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._ONLINE_WITHDRAWAL_PERMISSION, true) &&
    \n {\n row.original.status == OnlineWithdrawalStatus._PENDING_APPROVAL &&\n \n }\n  \n {\n row.original.status == OnlineWithdrawalStatus._PENDING_APPROVAL &&\n !stringIsNullOrEmpty(row.original.viewedBy) && checkIfPermissionExist(AccessRight._REVERT_ONLINE_WITHDRAWAL_PERMISSION, true) &&\n \n }\n  \n {\n row.original.status != OnlineWithdrawalStatus._PENDING_APPROVAL &&\n \n }\n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ];\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n setValue('status', OnlineWithdrawalStatus._PENDING_APPROVAL);\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n setValue('startDate', moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n handleSubmit(submitForm)();\n }, []);\n\n /// \n /// Author: Wind\n /// \n useEffect(() => {\n if (showToast) {\n setTimeout(() => setShowToast(!showToast), 3000)\n }\n }, [showToast])\n\n /// \n /// Author: CK\n /// Auto refresh list when got new request come in\n /// \n useEffect(() => {\n if (_pendingOnlineWithdrawalCount > 0) {\n handleSubmit(submitForm)();\n }\n }, [_pendingOnlineWithdrawalCount])\n\n /// \n /// Author : Wind\n /// \n function renderStatus(status, statusString) {\n let spanClass = \"\";\n\n switch (status) {\n case OnlineWithdrawalStatus._SUCCESS:\n spanClass = \"badge-green\";\n break;\n case OnlineWithdrawalStatus._SYSTEM_REJECTED:\n spanClass = \"badge-red\";\n break;\n case OnlineWithdrawalStatus._PENDING_APPROVAL:\n spanClass = \"badge-primary\";\n break;\n case OnlineWithdrawalStatus._REJECTED:\n spanClass = \"badge-red\";\n break;\n }\n\n return {t(statusString)}\n }\n\n /// \n /// Author : Wind\n /// \n const submitForm = async (data, e) => {\n let apiUrl = `${ApiUrl._API_GET_ONLINE_WITHDRAWAL_REQUEST}?username=${data.username}&status=${parseInt(data.status)}&startDate=${startDate}&endDate=${endDate}&v=${new Date()}`\n\n setApiUrl(apiUrl);\n }\n\n /// \n /// Author : Wind\n /// \n async function processTransaction(id) {\n try {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_ONLINE_WITHDRAWAL_REQUEST}/${id}`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n handleSubmit(submitForm)();\n setModalData(responseJson[ApiKey._API_DATA_KEY]);\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err),\n }));\n }\n }\n\n /// \n /// Author : Wind\n /// \n async function transactionAction(isApprove, id) {\n let params = {\n approve: isApprove == CommonStatus._APPROVE_STATUS,\n remark: remark\n };\n var responseJson = await ApiEngine.post(`${ApiUrl._API_GET_ONLINE_WITHDRAWAL_REQUEST}/status/${id}`, params);\n\n _dispatch(showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setApiUrl(apiUrl + '&v=' + new Date());\n setModalData({});\n setRemark('');\n }\n }\n }));\n\n // Reset notification if no more transaction\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n _dispatch(getPendingOnlineWithdrawalCount());\n }\n }\n\n return (\n
    \n

    {t('ONLINE_WITHDRAWAL_REQUEST')}

    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n setModalData({})} centered size=\"lg\" style={{ maxWidth: \"1200px\" }}>\n {t('PROCESS_ONLINE_WITHDRAWAL_REQUEST', { user: modalData.username })}\n \n
    \n
    \n
    \n {t(\"STATUS\") + ': '}\n {renderStatus(modalData.status, modalData.statusName)}\n
    \n
    \n
    \n
    \n {t(\"REQUESTED_DATETIME\") + ': '}\n {moment(modalData.createdTime).format('YYYY-MM-DD hh:mm:ss A')}\n
    \n
    \n
    \n
    \n {t(\"HANDLED_BY\") + ': '}\n {`${modalData.viewerUsername} ${modalData.shopName ? '(' + modalData.shopName + ')' : ''}`}\n
    \n
    \n
    \n
    \n {t(\"USERNAME\") + ': '}\n {`${modalData.username}`} ({modalData.regionName})\n
    \n
    \n
    \n
    \n {t(\"BANK\") + ': '}\n {modalData.bankName}\n
    \n
    \n
    \n
    \n {t(\"HOLDER_NAME\") + ': '}\n {modalData.bankAccountHolderName}\n
    \n
    \n
    \n
    \n {t(\"ACCOUNT_NUMBER\") + ': '}\n {modalData.bankAccountNumber?.match(/.{1,4}/g).join(' ')}\n  \n {\n navigator.clipboard.writeText(modalData.bankAccountNumber);\n setShowToast(!showToast);\n }}>\n
    \n
    \n
    \n
    \n {t(\"AMOUNT\") + ': '}\n {numberWithCurrencyFormat(modalData.amount * -1)}\n
    \n
    \n
    \n
    \n {t(\"REMARK\") + ': '}\n {\n modalData.status == OnlineWithdrawalStatus._PENDING_APPROVAL ?\n option.value == remark)}\n onChange={(e) => {\n setRemark(e.value);\n }} />\n :\n {!stringIsNullOrEmpty(modalData.remark) ? modalData.remark : \"-\"}\n }\n
    \n
    \n
    \n

    {t(\"SET_SCORE_REPORT\")}

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n modalData.refundDetail &&\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n {\n modalData.scoreTransactionId &&\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n
    {t('DATE')}{t('OPERATED_BY')}{t('PHONE_NUMBER')}{t('PLAYER_ID')}{t('VENDOR')}{t('TRANSACTION_TYPE')}{t('STATUS')}{t('AMOUNT')}{t('MEMBER_PRE')}{t('MEMBER_POST')}{t('PLAYER_PRE')}{t('PLAYER_POST')}
    {moment(modalData.updatedTime).format('YYYY-MM-DD hh:mm:ss A')}{modalData.viewerUsername} {modalData.shopName ? '(' + modalData.shopName + ')' : ''}{modalData.username}{modalData.playerUsername ?? \"-\"}{modalData.vendorGameName ?? \"-\"}\n \n {\n t(\"REFUND_E_CREDIT\")\n }\n \n {t(\"SUCCESS\")}{modalData.refundDetail.credit}{modalData.refundDetail.preCredit}{modalData.refundDetail.postCredit}{\"-\"}{\"-\"}
    {moment(modalData.createdTime).format('YYYY-MM-DD hh:mm:ss A')}{modalData.viewerUsername} {modalData.shopName ? '(' + modalData.shopName + ')' : ''}{modalData.username}{modalData.playerUsername ?? \"-\"}{modalData.vendorGameName ?? \"-\"}\n \n {\n modalData.playerUsername ? t(\"E_POINT\") : t(\"E_CREDIT\")\n }\n \n {t(\"SUCCESS\")}{modalData.amount}{modalData.playerUsername ? \"-\" : modalData.preAmount}{modalData.playerUsername ? \"-\" : modalData.postAmount}{modalData.playerUsername ? modalData.preAmount : \"-\"}{modalData.playerUsername ? modalData.postAmount : \"-\"}
    \n
    \n
    \n
    \n {\n modalData.status == OnlineWithdrawalStatus._PENDING_APPROVAL &&\n \n {\n _dispatch(showMessage({\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_THIS_ONLINE_WITHDRAWAL_BY\", { user: modalData.username, action: t('APPROVE') }),\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._WARNING,\n onConfirm: async (value) => {\n transactionAction(CommonStatus._APPROVE_STATUS, modalData.id);\n }\n }));\n }}>\n {t(\"APPROVE\")}\n \n {\n _dispatch(showMessage({\n content: t(\"ARE_YOU_SURE_YOU_WANT_TO_THIS_ONLINE_WITHDRAWAL_BY\", { user: modalData.username, action: t('REJECT') }),\n showCancel: true,\n confirmBtnText: t(\"CONFIRM\"),\n type: AlertTypes._WARNING,\n onConfirm: async (value) => {\n transactionAction(CommonStatus._REJECT_STATUS, modalData.id);\n }\n }));\n }}>\n {t(\"REJECT\")}\n \n \n }\n \n \n {t('COPIED')}\n \n \n
    \n
    \n )\n}\n\nexport default OnlineWithdrawalRequest;","import React, { useState, useEffect, useMemo } from \"react\";\nimport moment from 'moment';\nimport { Link } from \"react-router-dom\";\nimport { Button } from \"reactstrap\";\nimport {\n Panel,\n PanelHeader,\n PanelBody,\n PanelFooter,\n} from \"../../../components/panel/panel.jsx\";\nimport DualListBox from 'react-dual-listbox';\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, WebUrl, AccessRight, Role, ReportType, ManagerTransactionType } from \"../../../util/Constant\";\nimport { stringIsNullOrEmpty, createMultiPartFormBody, getValidationMessage } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport DualListBoxItemRow from \"components/custom/DualListBoxItemRow.js\";\n\n/// \n/// Author : Wind\n/// \nconst ManagerLimitTransactionReport = props => {\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [regionOption, setRegionOption] = useState([]);\n const [selectedRegion, setSelectedRegion] = useState([]);\n const [defaultManagerOption, setDefaultManagerOption] = useState([]);\n const [managerOption, setManagerOption] = useState([]);\n const [selectedManager, setSelectedManager] = useState([]);\n const [startDate, setStartDate] = useState(moment().startOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [endDate, setEndDate] = useState(moment().endOf('day').format(\"YYYY-MM-DD HH:mm:ss\"));\n const [postData, setPostData] = useState({});\n \n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n width: 30,\n disableSortBy: true\n },\n {\n Header: \"DATE\",\n accessor: \"createdTime\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return moment(row.original.createdTime).format('DD/MM/YYYY hh:mm:ss A')\n },\n },\n {\n Header: \"OPERATED_BY\",\n accessor: \"createdByUsername\",\n disableSortBy: true\n },\n {\n Header: \"MANAGER_USERNAME\",\n accessor: \"username\",\n disableSortBy: true\n },\n {\n Header: \"INITIAL_LIMIT\",\n accessor: \"preCreditLimit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return row.original.preCreditLimit.toFixed(2)\n },\n },\n {\n Header: \"AMOUNT\",\n accessor: \"amount\",\n Cell: ({ row }) => {\n return row.original.creditLimit > 0 ? {row.original.creditLimit.toFixed(2)} : {row.original.creditLimit.toFixed(2)};\n },\n disableSortBy: true,\n },\n {\n Header: \"FINAL_LIMIT\",\n accessor: \"postCreditLimit\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return row.original.postCreditLimit.toFixed(2)\n },\n },\n {\n Header: \"TRANSACTION_TYPE\",\n accessor: \"typeName\",\n Cell: ({ row }) => {\n return (\n {t(row.original.typeName)}\n )\n },\n disableSortBy: true\n },\n ]\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n register({ name: 'startDate' }, { required: true });\n register({ name: 'manager' });\n register({ name: 'endDate' }, { required: true });\n\n setValue('manager', []);\n setValue('startDate', startDate);\n setValue('endDate', endDate);\n init();\n }, []);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n var filteredManagerOptions = defaultManagerOption.filter(manager => selectedRegion.includes(manager.regionId));\n\n var filterSelectedManager = selectedManager.filter(manager => {\n var managerDetail = defaultManagerOption.find(managerOptions => manager == managerOptions.value);\n if (selectedRegion.includes(managerDetail.regionId)) {\n return manager;\n }\n });\n\n setManagerOption(filteredManagerOptions);\n setSelectedManager(filterSelectedManager);\n setValue('manager', filterSelectedManager);\n }, [selectedRegion]);\n\n /// \n /// Author : Wind\n /// \n async function init() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_REGION);\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var regionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (region) {\n regionList.push({ label: region.prefix, value: region.id });\n });\n\n setRegionOption(regionList);\n }\n\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USERS + \"?roleId=\" + Role._MANAGER);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var managerOptionList = [];\n responseJson[ApiKey._API_DATA_KEY].forEach(function (user) {\n managerOptionList.push({ label: user.username, value: user.id, regionId: user.regionId });\n });\n\n setDefaultManagerOption(managerOptionList);\n }\n }\n\n /// \n /// Author : Wind\n /// \n const submitForm = async (data, e) => {\n let params = {\n \"startDate\": data.startDate,\n \"endDate\": data.endDate,\n \"managerIds\": data.manager,\n };\n\n if (data.reportType != ReportType._ALL) {\n params['typeId'] = parseInt(data.reportType);\n }\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_MANAGER_LIMIT_TRANSACTION_REPORT);\n }\n\n /// \n /// Author : YJ\n /// \n const PaginationTable = useMemo(() => , [apiUrl, postData])\n\n return (\n
    \n

    {t('MANAGER_LIMIT_TRANSACTION')}

    \n \n \n
    \n
    \n
    \n
    \n \n \n {\n setSelectedRegion(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n \n {\n setValue('manager', e);\n setSelectedManager(e);\n }}\n ref={register}\n />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD HH:mm:ss\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD HH:mm:ss\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n
    \n );\n};\n\nexport default ManagerLimitTransactionReport;","import React, { useState, useEffect } from \"react\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../components/panel/panel.jsx\";\nimport { useTranslation } from 'react-i18next';\nimport ReactTable from \"../../components/custom/ReactTable\";\nimport { stringIsNullOrEmpty } from \"../../util/Util\";\nimport { ApiKey, ApiUrl, Role, Status, AlertTypes } from \"../../util/Constant\";\nimport { showResponseMessage } from \"redux/AppAction.js\";\nimport { useDispatch } from \"react-redux\";\nimport ApiEngine from \"util/ApiEngine.js\";\n\n/// \n/// Author : Wind\n/// \nconst PlayerCreationReport = props => {\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n const [playerList, setPlayerList] = useState([]);\n\n let _tableColumns = [\n {\n Header: t(\"DATE\"),\n accessor: \"createdAt\",\n disableSortBy: true\n },\n {\n Header: t(\"VENDOR\"),\n Cell: ({ row }) => {\n return `${row.original.vendorName} (${row.original.vendorShortName})`;\n },\n disableSortBy: true\n },\n {\n Header: t(\"USERNAME\"),\n accessor: \"username\",\n disableSortBy: true\n },\n ];\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n (async () => {\n try {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_SHOP_CREATED_PLAYER}?StartCount=0&PageSize=10`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setPlayerList(responseJson[ApiKey._API_DATA_KEY][ApiKey._API_DATA_KEY]);\n }\n catch (err) {\n _dispatch(showResponseMessage(false, err))\n }\n })();\n }, []);\n\n return (\n
    \n

    {t(\"PLAYER_CREATION_REPORT\")}

    \n \n \n \n \n \n
    \n );\n}\n\nexport default PlayerCreationReport;","import React, { useState, useEffect, useMemo } from \"react\";\nimport { Panel, PanelBody } from \"../../../components/panel/panel\";\nimport { WebUrl, ApiKey, ApiUrl, AccessRight } from \"../../../util/Constant\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from \"reactstrap\";\nimport ApiEngine from \"../../../util/ApiEngine.js\";\nimport { useTranslation } from \"react-i18next\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from \"../../../components/custom/NavigationButton\";\n\n/// \n/// Author: JavaChips\n/// \nconst ManageThirdParty = () => {\n\tconst { t } = useTranslation();\n\tvar _history = useHistory();\n\tconst [thirdParties, setthirdParties] = useState([]);\n\n\t/// \n\t/// Author: JavaChips\n\t/// \n\tlet _thirdPartyColumns = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tHeader: \"CODE\",\n\t\t\t\taccessor: \"code\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tHeader: \"NAME\",\n\t\t\t\taccessor: \"name\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tHeader: \"Base URL\",\n\t\t\t\taccessor: \"baseUrl\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tHeader: \"H5 URL\",\n\t\t\t\taccessor: \"h5Url\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tHeader: \"STATUS\",\n\t\t\t\taccessor: \"status\",\n\t\t\t\tCell: ({ row }) => {\n\t\t\t\t\treturn row.original.status ? {t(\"ENABLE\")} : {t(\"DISABLE\")};\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tHeader: \"ACTION\",\n\t\t\t\tCell: ({ row }) =>\n\t\t\t\t\tcheckIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t_history.push({\n\t\t\t\t\t\t\t\t\t\t\t\tpathname: WebUrl._URL_THIRD_PARTY_DETAIL,\n\t\t\t\t\t\t\t\t\t\t\t\tstate: { id: row.original.id },\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{t(\"EDIT_THIRD_PARTY_DETAIL\")}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t),\n\t\t\t\tdisableSortBy: true,\n\t\t\t\twidth: 100,\n\t\t\t\tstyle: { overflow: \"visible\" },\n\t\t\t},\n\t\t],\n\t\t[thirdParties]\n\t);\n\n\t/// \n\t/// Author: JavaChips\n\t/// \n\tuseEffect(() => {\n\t\tgetThirdParties();\n\t}, []);\n\n\t/// \n\t/// Author: JavaChips\n\t/// \n\tasync function getThirdParties() {\n\t\tvar responseJson = await ApiEngine.get(ApiUrl._API_GET_THIRD_PARTY);\n\n\t\tif (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\t\t\tsetthirdParties(responseJson[ApiKey._API_DATA_KEY]?.data);\n\t\t}\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    {t(\"MANAGE_THIRD_PARTY\")}

    \n\t\t\t\t{checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) && }\n\t\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default ManageThirdParty;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { Panel, PanelHeader, PanelBody } from \"../../../components/panel/panel\";\nimport { WebUrl, ApiUrl, ApiKey, AlertTypes } from \"../../../util/Constant\";\nimport * as Util from \"../../../util/Util\";\nimport { showMessage } from \"../../../redux/AppAction\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport NavigationButton from \"../../../components/custom/NavigationButton\";\nimport ApiEngine from \"../../../util/ApiEngine.js\";\n\n/// \n/// Author: CK\n/// \nconst ThirdPartyDetail = () => {\n\tlet _history = useHistory();\n\tlet _location = useLocation();\n\tlet _dispatch = useDispatch();\n\tconst { register, handleSubmit, errors, setValue } = useForm();\n\tconst { t } = useTranslation();\n\tconst [selectedThirdParty, setSelectedThirdParty] = useState(null);\n\t\n\t/// \n\t/// Author: CK\n\t/// \n\tuseEffect(() => {\n\t\tinit();\n\t}, []);\n\n\t/// \n\t/// Author: Yong Sheng Chuan\n\t/// \n\tasync function init() {\n\t\tif (_location.state && _location.state.id) {\n\t\t\tawait getThirdPartyDetails(_location.state.id);\n\t\t}\n\t}\n\n\t/// \n\t/// Author: CK\n\t/// \n\tasync function getThirdPartyDetails(id) {\n\t\tvar responseJson = await ApiEngine.get(ApiUrl._API_GET_THIRD_PARTY + \"/\" + id);\n\n\t\tif (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\t\t\tlet data = responseJson[ApiKey._API_DATA_KEY];\n\n\t\t\tsetSelectedThirdParty(data);\n\t\t\tsetValue(\"name\", data.name);\n\t\t\tsetValue(\"code\", data.code);\n\t\t\tsetValue(\"baseUrl\", data.baseUrl);\n\t\t\tsetValue(\"h5Url\", data.h5Url);\n\t\t\tsetValue(\"status\", data.status);\n\t\t}\n\t}\n\n\t/// \n\t/// Author: CK\n\t/// Edited: A\n\t/// \n\tasync function onSubmit(data) {\n\t\tif (selectedThirdParty) {\n\t\t\tdata[\"id\"] = selectedThirdParty.id;\n\t\t}\n\n\t\tvar responseJson = await ApiEngine.post(ApiUrl._API_GET_THIRD_PARTY, Util.createMultiPartFormBody(data));\n\t\tif (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\t\t\tsetSelectedThirdParty(responseJson[ApiKey._API_DATA_KEY]);\n\t\t}\n\n\t\t_dispatch(\n\t\t\tshowMessage({\n\t\t\t\ttype: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n\t\t\t\tcontent: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n\t\t\t\tonConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && Util.navigateTo(_history, WebUrl._MANAGE_THIRD_PARTY),\n\t\t\t})\n\t\t);\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t{selectedThirdParty ? t(\"EDIT_THIRD_PARTY_DETAIL\") : t(\"CREATE_THIRD_PARTY\")}\n\t\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\n\t\t\t\t\t{t(\"THIRD_PARTY_DETAIL\")}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"name\"] &&
    {t(errors[\"name\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"code\"] &&
    {t(errors[\"code\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"baseUrl\"] &&
    {t(errors[\"baseUrl\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"h5Url\"] &&
    {t(errors[\"h5Url\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default ThirdPartyDetail;\n","import React, { useState, useEffect, useMemo } from 'react';\nimport { Panel, PanelBody } from '../../../components/panel/panel';\nimport { WebUrl, ApiKey, ApiUrl, AccessRight, Status } from '../../../util/Constant';\nimport ReactTable from '../../../components/custom/ReactTable';\nimport { UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport * as Util from '../../../util/Util';\nimport { useDispatch } from \"react-redux\";\nimport Select from \"react-select\";\nimport { showResponseMessage } from \"../../../redux/AppAction\";\nimport { checkIfPermissionExist } from \"../../../util/PermissionChecker\";\nimport { useHistory } from \"react-router-dom\";\nimport NavigationButton from '../../../components/custom/NavigationButton';\nimport AttachShopModal from '../../../components/custom/AttachShopModal';\n\n/// \n/// Author: CK\n/// \nconst ManageThirdPartyApi = props => {\n const { t, i18n } = useTranslation();\n var _history = useHistory();\n var _dispatch = useDispatch();\n const [thirdPartyApiList, setThirdPartyApiList] = useState([]);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [selectedThirdPartyApi, setSelectedThirdPartyApi] = useState();\n const [isAgentModalVisible, setIsAgentModalVisible] = useState(false);\n\n /// \n /// Author: CK\n /// \n let _thirdPartyApiTableColumns = useMemo(() => [\n {\n Header: \"THIRD_PARTY\",\n accessor: \"thirdPartyProgramName\",\n },\n {\n Header: \"NAME\",\n accessor: \"name\",\n },\n {\n Header: \"START_DATE\",\n accessor: \"startDate\",\n },\n {\n Header: \"END_DATE\",\n accessor: \"endDate\",\n },\n {\n Header: \"EVENT_KEY\",\n accessor: \"eventKey\",\n },\n {\n Header: \"KEY\",\n accessor: \"apiKey\",\n },\n {\n Header: \"OPSECRET\",\n accessor: \"apiSecret\",\n },\n {\n Header: \"STATUS\",\n accessor: \"status\",\n Cell: ({ row }) => {\n return row.original.status ? {t(\"ENABLE\")} : {t(\"DISABLE\")};\n }\n },\n {\n Header: \"ACTION\",\n Cell: ({ row }) => (\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&
    \n \n \n \n {\n onEditStatus({ \"id\": row.original.id, \"status\": row.original.status == Status._ENABLED ? Status._DISABLED : Status._ENABLED })\n }}>\n {row.original.status ? t(\"DISABLE\") : t(\"ENABLE\")}\n \n {\n _history.push({\n pathname: WebUrl._URL_THIRD_PARTY_API_DETAIL,\n state: { id: row.original.id }\n })\n }}>\n {t('EDIT_THIRD_PARTY_API_DETAIL')}\n \n {\n setSelectedThirdPartyApi(row.original);\n toggleModal();\n }}>\n {t('ATTACH_SHOPS')}\n \n \n \n
    \n ),\n disableSortBy: true,\n width: 100,\n style: { overflow: \"visible\" }\n }\n ], [thirdPartyApiList]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n getThirdPartyApiList();\n }, []);\n\n /// \n /// Author: CK\n /// \n async function getThirdPartyApiList() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_THIRD_PARTY_API);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setThirdPartyApiList(responseJson[ApiKey._API_DATA_KEY][ApiKey._API_DATA_KEY]);\n }\n }\n\n /// \n /// Author: CK\n /// \n async function onEditStatus(data) {\n var responseJson = await ApiEngine.post(ApiUrl._API_GET_THIRD_PARTY_API, Util.createMultiPartFormBody(data));\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n getThirdPartyApiList();\n }\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n /// \n /// Author: CK\n /// \n async function toggleModal() {\n if (isModalVisible) {\n setSelectedThirdPartyApi(null);\n }\n\n setIsModalVisible(!isModalVisible);\n }\n\n /// \n /// Author : CK\n /// \n async function onSubmitAttachShop(attachedShops) {\n let params = {\n \"programApiId\": selectedThirdPartyApi.id,\n \"shopIds\": attachedShops.join(',')\n }\n\n var responseJson = await ApiEngine.post(ApiUrl._API_ATTACH_THIRD_PARTY_API_SHOP, Util.createMultiPartFormBody(params));\n\n toggleModal();\n getThirdPartyApiList();\n\n _dispatch(showResponseMessage(responseJson[ApiKey._API_SUCCESS_KEY], t(responseJson[ApiKey._API_MESSAGE_KEY])));\n }\n\n return (\n
    \n
    \n

    {t(\"MANAGE_THIRD_PARTY_API\")}

    \n {\n checkIfPermissionExist(AccessRight._GAME_VENDOR_CONTROL_PERMISSION, true) &&\n \n }\n
    \n \n \n \n \n \n {\n if (attachedShops) {\n onSubmitAttachShop(attachedShops);\n }\n else {\n toggleModal();\n }\n }} />\n
    \n );\n}\n\nexport default ManageThirdPartyApi;","import React, { useState, useEffect, useRef } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { Panel, PanelHeader, PanelBody } from \"../../../components/panel/panel\";\nimport { WebUrl, ApiUrl, ApiKey, AlertTypes } from \"../../../util/Constant\";\nimport * as Util from \"../../../util/Util\";\nimport { showMessage } from \"../../../redux/AppAction\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport NavigationButton from \"../../../components/custom/NavigationButton\";\nimport ApiEngine from \"../../../util/ApiEngine.js\";\nimport moment from \"moment\";\nimport DateTime from 'react-datetime';\n\n/// \n/// Author: CK\n/// \nconst ThirdPartyApiDetail = () => {\n\tlet _history = useHistory();\n\tlet _location = useLocation();\n\tlet _dispatch = useDispatch();\n\tconst { register, handleSubmit, errors, setValue } = useForm();\n\tconst { t } = useTranslation();\n\tconst [selectedThirdPartyApi, setSelectedThirdPartyApi] = useState(null);\n\tconst [thirdPartyList, setThirdPartyList] = useState([]);\n\tconst [startDate, setStartDate] = useState(moment().startOf('month').format('YYYY-MM-DD HH:mm:ss'));\n const [endDate, setEndDate] = useState(moment().endOf('month').format('YYYY-MM-DD HH:mm:ss'));\n\n\t/// \n\t/// Author: CK\n\t/// \n\tuseEffect(() => {\n\t\tinit();\n\t}, []);\n\n\t/// \n\t/// Author: CK\n\t/// \n\tasync function init() {\n\t\tvar responseJson = await ApiEngine.get(ApiUrl._API_GET_THIRD_PARTY);\n\n\t\tif (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\t\t\tsetThirdPartyList(responseJson[ApiKey._API_DATA_KEY][ApiKey._API_DATA_KEY]);\n\t\t}\n\n\t\tif (_location.state && _location.state.id) {\n\t\t\tawait getThirdPartyApiDetails(_location.state.id);\n\t\t}\n\t}\n\n\t/// \n\t/// Author: CK\n\t/// \n\tasync function getThirdPartyApiDetails(id) {\n\t\tvar responseJson = await ApiEngine.get(ApiUrl._API_GET_THIRD_PARTY_API + \"/\" + id);\n\n\t\tif (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\t\t\tlet data = responseJson[ApiKey._API_DATA_KEY];\n\n\t\t\tsetSelectedThirdPartyApi(data);\n\t\t\tsetValue(\"name\", data.name);\n\t\t\tsetValue(\"thirdPartyProgramId\", data.thirdPartyProgramId);\n\t\t\tsetValue(\"apiKey\", data.apiKey);\n\t\t\tsetValue(\"apiSecret\", data.apiSecret);\n\t\t\tsetValue(\"clientKey\", data.clientKey);\n\t\t\tsetValue(\"clientSecret\", data.clientSecret);\n\t\t\tsetValue(\"status\", data.status);\n\t\t\tsetValue(\"eventKey\", data.eventKey);\n\t\t\tsetStartDate(data.startDate);\n\t\t\tsetEndDate(data.endDate);\n\t\t}\n\t}\n\n\t/// \n\t/// Author: CK\n\t/// Edited: A\n\t/// \n\tasync function onSubmit(data) {\n\t\tif (selectedThirdPartyApi) {\n\t\t\tdata[\"id\"] = selectedThirdPartyApi.id;\n\t\t}\n\n\t\tdata[\"startDate\"] = startDate;\n\t\tdata[\"endDate\"] = endDate;\n\n\t\tvar responseJson = await ApiEngine.post(ApiUrl._API_GET_THIRD_PARTY_API, Util.createMultiPartFormBody(data));\n\t\tif (responseJson[ApiKey._API_SUCCESS_KEY]) {\n\t\t\tsetSelectedThirdPartyApi(responseJson[ApiKey._API_DATA_KEY]);\n\t\t}\n\n\t\t_dispatch(\n\t\t\tshowMessage({\n\t\t\t\ttype: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n\t\t\t\tcontent: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n\t\t\t\tonConfirm: () => responseJson[ApiKey._API_SUCCESS_KEY] && Util.navigateTo(_history, WebUrl._URL_MANAGE_THIRD_PARTY_API),\n\t\t\t})\n\t\t);\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t{selectedThirdPartyApi ? t(\"EDIT_THIRD_PARTY_API_DETAIL\") : t(\"CREATE_THIRD_PARTY_API\")}\n\t\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\n\t\t\t\t\t{t(\"THIRD_PARTY_API_DETAIL\")}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tthirdPartyList.map(thirdParty => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"thirdPartyProgramId\"] &&
    {t(Util.getValidationMessage(errors[\"thirdPartyProgramId\"]))}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\treturn e.isBefore(moment(endDate).add(1, \"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tif (moment(e).diff(moment(endDate), 'seconds') > 0) {\n\t\t\t\t\t\t\t\t\t\t\tsetEndDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetStartDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"))\n\t\t\t\t\t\t\t\t\t}} />\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\treturn e.isAfter(moment(startDate).subtract(1, \"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tif (moment(e).diff(moment(startDate), 'seconds') < 0) {\n\t\t\t\t\t\t\t\t\t\t\tsetStartDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetEndDate(moment(e).format(\"YYYY-MM-DD HH:mm:ss\"))\n\t\t\t\t\t\t\t\t\t}} />\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"name\"] &&
    {t(errors[\"name\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"eventKey\"] &&
    {t(errors[\"eventKey\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"apiKey\"] &&
    {t(errors[\"apiKey\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errors[\"apiSecret\"] &&
    {t(errors[\"apiSecret\"].message)}
    }\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default ThirdPartyApiDetail;\n","import React, { useState, useEffect, useMemo } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport moment from 'moment';\nimport {\n Panel,\n PanelBody,\n} from \"../../../components/panel/panel.jsx\";\nimport DateTime from 'react-datetime';\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport ReactTable from \"../../../components/custom/ReactTable\";\nimport { ApiKey, ApiUrl, Role, AccessRight, WebUrl } from \"../../../util/Constant\";\nimport { arrayGroupByKey, getValidationMessage, isObjectEmpty, stringIsNullOrEmpty } from \"../../../util/Util\";\nimport ApiEngine from '../../../util/ApiEngine.js';\nimport RegionFilterDualListBox from \"../../../components/custom/RegionFilterDualListBox\";\nimport { showResponseMessage } from \"redux/AppAction.js\";\nimport { Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledButtonDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { checkIfPermissionExist } from \"util/PermissionChecker.js\";\n\n/// \n/// Author : Saitama\n/// \nconst UserGrowthReport = props => {\n var _dispatch = useDispatch();\n const { t } = useTranslation();\n const { register, handleSubmit, setValue, errors, watch } = useForm();\n const [apiUrl, setApiUrl] = useState('');\n const [startDate, setStartDate] = useState(moment().startOf('month').format(\"YYYY-MM-DD \"));\n const [endDate, setEndDate] = useState(moment().format(\"YYYY-MM-DD\"));\n const [regions, setRegions] = useState([]);\n const [shopOption, setShopOption] = useState([]);\n const [selectedShop, setSelectedShop] = useState([]);\n const [postData, setPostData] = useState({});\n const [members, setMembers] = useState({});\n\n let _tableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n width: 30,\n disableSortBy: true\n },\n {\n Header: \"SHOP\",\n Cell: ({ row }) => {\n return
    {`${row.original.username} (${row.original.userFullName})`}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"TOTAL_NEW_MEMBER\",\n accessor: \"totalMember\",\n disableSortBy: true,\n Cell: ({ row }) => {\n return { getShopMember(row.original.userId, row.original.username, row.original.userFullName) }}>\n {row.original.totalMember}\n \n }\n },\n ];\n let _memberTableColumns = [\n {\n Header: \"No\",\n id: \"row\",\n filterable: false,\n Cell: ({ row }) => {\n return
    {row.index + 1}
    ;\n },\n width: 30,\n disableSortBy: true\n },\n {\n Header: \"MEMBER\",\n Cell: ({ row }) => {\n return
    {`${row.original.username} (${stringIsNullOrEmpty(row.original.userFullName) ? '-' : row.original.userFullName})`}
    ;\n },\n disableSortBy: true\n },\n {\n Header: \"CREATED_TIME\",\n accessor: \"createdTimeString\",\n disableSortBy: true\n },\n {\n\n id: \"action\",\n Header: \"\",\n Cell: ({ row }) => {\n return (\n checkIfPermissionExist(AccessRight._SET_SCORE_REPORT_PERMISSION, false) &&
    \n \n \n \n {\n const win = window.open(`${WebUrl._URL_SET_SCORE_REPORT}?username=${row.original.username}&startDate=${watch('startDate')}&endDate=${watch('endDate')}`\n , \"_blank\");\n win.focus();\n }}>{t(\"VIEW_SET_SCORE_REPORT\")}\n \n \n
    \n )\n },\n disableSortBy: true,\n disableFilters: true,\n style: { overflow: \"visible\", width: '1%' }\n }\n ]\n\n /// \n /// Author : Saitama\n /// \n useEffect(() => {\n (async () => {\n register({ name: 'shop' });\n register({ name: 'startDate' }, { required: true });\n register({ name: 'endDate' }, { required: true });\n\n setValue('shop', []);\n setValue('startDate', moment().startOf('month').format(\"YYYY-MM-DD\"));\n setValue('endDate', moment().endOf('day').format(\"YYYY-MM-DD\"));\n\n getShopOption();\n })();\n }, [])\n\n /// \n /// Author : Saitama\n /// \n async function getShopOption() {\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_SHOPS + \"?RoleId=\" + Role._SHOP);\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var shopListByRegion = arrayGroupByKey(responseJson[ApiKey._API_DATA_KEY], \"regionName\");\n var shopOptionsByRegion = [];\n var regionOptions = [];\n\n for (var key in shopListByRegion) {\n var shopList = [];\n\n regionOptions.push({ label: key, value: key });\n\n shopListByRegion[key].map(shop => {\n shopList.push({ label: shop.username + (shop.shopName ? \" (\" + shop.shopName + \")\" : \"\"), value: shop.id });\n });\n\n shopOptionsByRegion.push({\n label: key,\n value: key,\n options: shopList\n })\n }\n\n setShopOption(shopOptionsByRegion);\n setRegions(regionOptions);\n }\n }\n\n /// \n /// Author : Saitama\n /// \n async function getShopMember(shopId, shopUsername, shopName) {\n try {\n var responseJson = await ApiEngine.get(`${ApiUrl._API_GET_USER_GROWTH_MEMBER}?shopId=${shopId}&startDate=${watch('startDate')}&endDate=${watch('endDate')}`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n setMembers({\n users: [...responseJson[ApiKey._API_DATA_KEY][ApiKey._API_DATA_KEY]],\n shopUsername,\n shopName\n });\n }\n catch (err) {\n _dispatch(showResponseMessage(false, t(err)));\n }\n }\n\n /// \n /// Author : Saitama\n /// \n const submitForm = async (data, e) => {\n var params = {\n \"StartDate\": data.startDate,\n \"EndDate\": data.endDate,\n \"TargetShop\": data.shop\n };\n\n setPostData(params);\n setApiUrl(ApiUrl._API_GET_USER_GROWTH_REPORT);\n }\n\n /// \n /// Author : Saitama\n /// \n const PaginationTable = useMemo(() =>\n \n , [apiUrl, postData])\n\n return (\n
    \n

    {t(\"USER_GROWTH_REPORT\")}

    \n \n \n
    \n
    \n
    \n
    \n \n {\n setValue('shop', e);\n setSelectedShop(e);\n }}\n />\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setStartDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"startDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"startDate\", \"\");\n }\n }} />\n {errors.startDate &&
    {t(getValidationMessage(errors.startDate))}
    }\n
    \n
    \n
    \n
    \n \n {\n if (e instanceof moment) {\n setEndDate(e.format(\"YYYY-MM-DD\"));\n setValue(\"endDate\", e.format(\"YYYY-MM-DD\"));\n }\n else {\n setValue(\"endDate\", \"\");\n }\n }} />\n {errors.endDate &&
    {t(getValidationMessage(errors.endDate))}
    }\n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n {PaginationTable}\n \n \n setMembers({})} size={'lg'}>\n setMembers({})}>{`${members?.shopUsername} (${members?.shopName})`}\n \n \n \n \n \n \n \n
    \n );\n}\n\nexport default UserGrowthReport;","import React from \"react\";\nimport { Redirect } from \"react-router\";\nimport { WebUrl, LoginType, AccessRight } from \"util/Constant\";\n\nimport Login from \"./../pages/home/Login.js\";\n\n//admin module\nimport ManageShop from \"./../pages/admin/account/ManageShop.js\";\nimport ShopDetail from \"./../pages/admin/account/ShopDetail.js\";\nimport ManageManager from \"./../pages/admin/account/ManageManager\";\nimport ManagerDetail from \"./../pages/admin/account/ManagerDetail\";\nimport ManageRole from \"./../pages/admin/account/ManageRole\";\nimport RoleDetail from \"./../pages/admin/account/RoleDetail\";\nimport ManageAdmin from \"./../pages/admin/account/ManageAdmin\";\nimport AdminDetail from \"./../pages/admin/account/AdminDetail\";\nimport ManagePlayer from \"./../pages/admin/account/ManagePlayer\";\nimport ManageMember from \"./../pages/admin/account/ManageMember\";\nimport MemberDetail from \"./../pages/admin/account/MemberDetail\";\nimport ViewAnnouncement from \"./../pages/admin/account/ViewAnnouncement\";\nimport MemberPlayerControl from \"./../pages/admin/account/MemberPlayerControl\";\nimport ManageShopApi from \"./../pages/admin/account/ManageShopApi\";\nimport ManageAgent from \"./../pages/admin/account/ManageAgent.js\";\nimport AgentDetail from \"./../pages/admin/account/AgentDetail.js\";\n\nimport Dashboard from \"./../pages/admin/Dashboard.js\";\n\nimport ManageVendor from \"./../pages/admin/vendor/ManageVendor\";\nimport VendorDetail from \"./../pages/admin/vendor/VendorDetail\";\nimport ManageVendorApi from \"./../pages/admin/vendor/ManageVendorApi\";\nimport VendorApiDetail from \"./../pages/admin/vendor/VendorApiDetail\";\n\nimport ManageSystemSettings from \"./../pages/admin/configuration/ManageSystemSettings.js\";\nimport ManageSmsSettings from \"./../pages/admin/configuration/ManageSmsSettings.js\";\nimport SmsDetails from \"./../pages/admin/configuration/SmsDetails.js\";\nimport ManageShopMessage from \"./../pages/admin/configuration/ManageShopMessage.js\";\nimport ShopMessageDetail from \"../pages/admin/configuration/ShopMessageDetail.js\";\nimport ManageSystemMessage from \"./../pages/admin/configuration/ManageSystemMessage.js\";\nimport SystemMessageDetail from \"../pages/admin/configuration/SystemMessageDetail.js\";\nimport ManagePhoneMessage from \"./../pages/admin/configuration/ManagePhoneMessage.js\";\nimport PhoneMessageDetail from \"../pages/admin/configuration/PhoneMessageDetail.js\";\nimport OperationLog from \"../pages/admin/configuration/OperationLog.js\";\nimport ManagePromotion from \"./../pages/admin/configuration/ManagePromotion\";\nimport ManagePromotionDetail from \"../pages/admin/configuration/ManagePromotionDetail\";\nimport ManageLuckyNumber from \"../pages/admin/configuration/ManageLuckyNumber\";\n\nimport ManageMiniProgram from \"../pages/admin/configuration/ManageMiniProgram\";\nimport MiniProgramDetail from \"../pages/admin/configuration/MiniProgramDetail\";\nimport ManagePaymentGateway from \"../pages/admin/configuration/ManagePaymentGateway\";\nimport ManagePaymentGatewayDetail from \"../pages/admin/configuration/ManagePaymentGatewayDetail\";\n\nimport ManageIPBlackList from \"../pages/admin/configuration/ManageIPBlackList\";\n\nimport ManageShopLogin from \"../pages/admin/configuration/ManageShopLogin\";\n\nimport ManageAppealTransaction from \"../pages/admin/configuration/ManageAppealTransaction\";\n\nimport ManageBonus from \"../pages/admin/configuration/ManageBonus\";\n\n//report\nimport SetLimitReport from \"../pages/admin/report/SetLimitReport\";\nimport SetScoreReport from \"../pages/admin/report/SetScoreReport\";\nimport SalesReport from \"../pages/admin/report/SalesReport\";\nimport RewardReport from \"../pages/admin/report/RewardReport\";\nimport ClaimRewardReport from \"../pages/admin/report/ClaimRewardReport\";\nimport ManagerLimitReport from \"../pages/admin/report/ManagerLimitReport\";\nimport KioskTimeoutReport from \"../pages/admin/report/KioskTimeoutReport\";\nimport AgentCommissionReport from \"../pages/admin/report/AgentCommissionReport\";\nimport TopUpReport from \"../pages/admin/report/TopUpReport\";\nimport CreditTransferReport from \"../pages/admin/report/CreditTransferReport\";\nimport StrikeReport from \"../pages/admin/report/StrikeReport\";\nimport RolloverReport from \"../pages/admin/report/RolloverReport\";\nimport UpperLimitWarningReport from \"../pages/admin/report/UpperLimitWarningReport\";\nimport UserExperienceReport from \"../pages/admin/report/UserExperienceReport\";\nimport TurnoverReport from \"../pages/admin/report/TurnoverReport\";\nimport TurnoverRewardReport from \"../pages/admin/report/TurnoverRewardReport\";\nimport LuckySpinWinner from \"../pages/admin/report/LuckySpinWinner\";\nimport KogWinner from \"../pages/admin/report/KogWinner\";\nimport AgentNetProfitReport from \"../pages/admin/report/AgentNetProfitReport\";\nimport LottoSeamlessSettlementReport from \"../pages/admin/report/LottoSeamlessSettlementReport\";\nimport ShopEghlReport from \"pages/admin/report/ShopEghlReport.js\";\n\n//shop module\nimport Report from \"./../pages/shop/Report.js\";\nimport MemberDetails from \"./../pages/shop/MemberDetails.js\";\nimport Reload from \"pages/shop/Reload.js\";\nimport EGHLReload from \"pages/shop/EGHLReload.js\";\nimport ClaimBonus from \"pages/shop/ClaimBonus.js\";\nimport Search from \"./../pages/shop/Search.js\";\nimport BlockPuk from \"./../pages/shop/BlockPuk.js\";\nimport RegisterMember from \"./../pages/shop/RegisterMember\";\nimport RegisterPlayer from \"./../pages/shop/RegisterPlayer\";\nimport ShopAgentCommissionReport from \"./../pages/shop/ShopAgentCommissionReport\";\nimport ShopCreditTopupReport from \"./../pages/shop/CreditTopupReport\";\nimport ShopCreditTransferReport from \"./../pages/shop/CreditTransferReport\";\nimport PlayerReload from \"./../pages/shop/PlayerReload.js\";\nimport Announcement from \"./../pages/shop/Announcement\";\nimport TransactionRequest from \"./../pages/shop/TransactionRequest\";\nimport ShopLimitApprovalReport from \"../pages/shop/ShopLimitApprovalReport\";\n\nimport ManageVendorCategory from \"./../pages/admin/vendor/ManageVendorCategory\";\nimport VendorCategoryDetail from \"./../pages/admin/vendor/VendorCategoryDetail\";\n\nimport ManageRank from \"../pages/admin/configuration/ManageRank\";\nimport RankDetail from \"../pages/admin/configuration/RankDetail\";\n\nimport ManageNotificationSettings from \"./../pages/admin/configuration/ManageNotificationSettings\";\nimport NotificationDetails from \"./../pages/admin/configuration/NotificationDetails\";\nimport ManageMemberDownline from \"./../pages/admin/account/ManageMemberDownline\";\n\nimport ManageAppAnnoucement from \"./../pages/admin/configuration/ManageAppAnnoucement\";\nimport AppAnnoucementDetail from \"./../pages/admin/configuration/AppAnnoucementDetail\";\n\nimport ManageKogEvent from \"./../pages/admin/configuration/ManageKogEvent\";\nimport KogEventDetail from \"./../pages/admin/configuration/KogEventDetail\";\nimport KogEventRanking from \"./../pages/admin/configuration/KogEventRanking\";\n\nimport ManageFeedbackSettings from \"./../pages/admin/configuration/ManageFeedbackSettings\";\nimport MemberFeedbackReport from \"./../pages/admin/configuration/MemberFeedbackReport\";\nimport ShopFeedbackReport from \"./../pages/admin/configuration/ShopFeedbackReport\";\n\nimport ManageBanner from \"./../pages/admin/configuration/ManageBanner\";\nimport ManageBannerDetail from \"./../pages/admin/configuration/BannerDetail\";\n\nimport MemberEcreditTransferLog from \"../pages/admin/report/MemberEcreditTransferLog\";\nimport RegionEcreditTransferLog from \"../pages/admin/report/RegionEcreditTransferLog\";\n\nimport ViewUserActionLog from \"../pages/admin/report/UserActionLog\";\nimport ViewTransactionLog from \"../pages/admin/report/UserTransactionLog\";\n\nimport OverallDownlineReport from \"../pages/admin/report/OverallDownlineReport\";\nimport RankSummaryReport from \"../pages/admin/report/RankSummaryReport\";\n\nimport ApiLog from \"../pages/admin/report/ApiLog.js\";\nimport AgentApiDetail from \"pages/admin/account/AgentVendorApiDetail.js\";\nimport AgentVendorApiDetail from \"pages/admin/account/AgentVendorApiDetail.js\";\nimport AgentWinLoss from \"pages/admin/report/AgentWinLossReport\";\nimport AgentWinLossReport from \"pages/admin/report/AgentWinLossReport\";\nimport AgentWinLossReport2 from \"pages/admin/report/AgentWinLossReport2\";\nimport ManageVipMember from \"pages/admin/configuration/ManageVipMember.js\";\n\nimport OnlineWithdrawalRequest from \"../pages/admin/online-withdrawal/OnlineWithdrawalRequest\";\nimport ManagerLimitTransactionReport from \"pages/admin/report/ManagerLimitTransactionReport\";\nimport PlayerCreationReport from \"../pages/shop/PlayerCreationReport\";\n\nimport ManageThirdParty from \"pages/admin/third-party/ManageThirdParty\";\nimport ThirdPartyDetail from \"pages/admin/third-party/ThirdPartyDetail.js\";\n\nimport ManageThirdPartyApi from \"pages/admin/third-party/ManageThirdPartyApi\";\nimport ThirdPartyApiDetail from \"pages/admin/third-party/ThirdPartyApiDetail.js\";\n\nimport UserGrowthReport from \"pages/admin/report/UserGrowthReport.js\";\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport const _LOGIN_ROUTE = {\n\tpath: WebUrl._URL_MAIN,\n\texact: false,\n\tauthRequired: false,\n\tcomponent: () => ,\n};\n\nexport const _ROUTES = [\n\t{\n\t\tpath: WebUrl._URL_LOGIN,\n\t\texact: true,\n\t\ttitle: \"Login\",\n\t\tauthRequired: false,\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MAIN,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MAIN,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tfeedbackAdminRedirect: () => ,\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_DASHBOARD,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Dashboard\",\n\t\tpermission: AccessRight._DASHBOARD_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_VENDOR,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Vendors\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_VENDOR_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Vendor Details\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_VENDOR_API,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage APIs\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_VENDOR_API_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"API Key Details\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SYSTEM_SETTINGS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"System Settings\",\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SMS_SETTINGS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"SMS Settings\",\n\t\tpermission: AccessRight._SMS_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SMS_DETAILS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Sms Details\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_SEARCH,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Search\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_BLOCK_PUK,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Search\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_REGISTER_MEMBER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Register Member\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_REGISTER_PLAYER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Register Player\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_AGENT_COMMISSION_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Commission Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_CREDIT_TRANSFER_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Credit Transfer Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_CREDIT_TOPUP_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Credit Topup Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_RELOAD,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_EGHL_RELOAD,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_CLAIM_BONUS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_ROLE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Role\",\n\t\tpermission: AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_ROLE_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Role Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_ADMIN,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Admin\",\n\t\tpermission: AccessRight._ADMIN_SUB_ACCOUNT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_ADMIN_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Admin Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_MEMBER_DETAILS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Member Details\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_SHOP,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Shops\",\n\t\tpermission: AccessRight._SHOP_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_AGENT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Agents\",\n\t\tpermission: AccessRight._AGENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_CREATE_OR_UPDATE_AGENT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Create Agents\",\n\t\tpermission: AccessRight._AGENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_AGENT_VENDOR_API_DETAILS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Agents API Details\",\n\t\tpermission: AccessRight._AGENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_CUSTOMER_SERVICE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Customer Service\",\n\t\tpermission: AccessRight._CUSTOMER_SERVICE_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_SHOP_API,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Shops\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_CREATE_OR_UPDATE_SHOP,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Create Shops\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_CREATE_OR_UPDATE_CUSTOMER_SERVICE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Create Customer Service\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_SHOP_MESSAGE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Shop Message\",\n\t\tpermission: AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_SHOP_MESSAGE_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Shop Message Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_MANAGER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Manager\",\n\t\tpermission: AccessRight._MANAGER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGER_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manger Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_SYSTEM_MESSAGE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Shop Message\",\n\t\tpermission: AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_SYSTEM_MESSAGE_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Shop Message Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_PLAYER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Player\",\n\t\tpermission: AccessRight._PLAYER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_PROMOTION_MANAGE_PROMOTION,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Bonus / Spin\",\n\t\tpermission: AccessRight._PROMOTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_PROMOTION_MANAGE_PROMOTION_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Create Promotion\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_PROMOTION_MANAGE_SPIN_PROMOTION,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Bonus / Spin\",\n\t\tpermission: AccessRight._PROMOTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_PROMOTION_MANAGE_SPIN_PROMOTION_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Create Lucky Spin\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_PHONE_MESSAGE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Phone Message\",\n\t\tpermission: AccessRight._ANNOUNCEMENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_PHONE_MESSAGE_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Phone Message Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_MEMBER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Member\",\n\t\tpermission: AccessRight._MEMBER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_CREATE_OR_UPDATE_MEMBER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Member Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_OPERATION_LOG,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Operation Log\",\n\t\tpermission: AccessRight._OPERATIONAL_LOG_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_VIEW_ANNOUNCEMENT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"View Announcement\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_MINI_PROGRAM,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Mini Program\",\n\t\tpermission: AccessRight._MINI_PROGRAM_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MINI_PROGRAM_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Mini Program Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_PLAYER_RELOAD,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_VIEW_ANNOUNCEMENT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SET_LIMIT_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SET_LIMIT_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SET_SCORE_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SET_SCORE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_CLAIM_REWARD_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SET_SCORE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGER_LIMIT_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._MANAGER_LIMIT_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SALES_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SALES_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_REWARD_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._REWARD_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_TURNOVER_REWARD_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._REWARD_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_KIOSK_TIMEOUT_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._KIOSK_TIMEOUT_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_AGENT_COMMISSION_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._AGENT_COMM_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_AGENT_NETPROFIT_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._AGENT_NETPROFIT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_STRIKE_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._STRIKE_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_MEMBER_PLAYER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_PAYMENT_GATEWAY,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_CREATE_OR_UPDATE_PAYMENT_GATEWAY,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_IP_BLACKLIST,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SYSTEM_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_TOPUP_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._TOP_UP_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_CREDIT_TRANSFER_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._CREDIT_TRANSFER_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_SHOP_LOGIN,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._SHOP_LOGIN_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_LUCKY_NUMBER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._LUCKY_NUMBER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_APPEAL_TRANSACTION,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._APPEAL_TRANSACTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_ROLLOVER_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._ROLLOVER_REPORT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_UPPER_LIMIT_WARNING_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._UPPER_LIMIT_REPORT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_TRANSACTION_REQUEST,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_LIMIT_APPROVAL_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_VENDOR_CATEGORY,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Vendor Category\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_VENDOR_CATEGORY_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Vendors Category Details\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_RANK,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Rank\",\n\t\tpermission: AccessRight._RANK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_RANK_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Rank Detail\",\n\t\tpermission: AccessRight._RANK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_NOTIFICATION_SETTINGS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Notification Settings\",\n\t\tpermission: AccessRight._SMS_SETTING_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_NOTIFICATION_DETAILS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Notification Details\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_USER_EXPERIENCE_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._OPERATIONAL_LOG_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_MEMBER_DOWNLINE,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Member Downline\",\n\t\tpermission: AccessRight._MEMBER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_APP_ANNOUNCEMENT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage App Annoucement\",\n\t\tpermission: AccessRight._ANNOUNCEMENT_EVENT_CONTROL + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_APP_ANNOUNCEMENT_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"App Annoucement Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_KOG_EVENT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage KOG Event\",\n\t\tpermission: AccessRight._EVENT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_KOG_EVENT_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"KOG Event Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_KOG_EVENT_RANKING,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"KOG Event Ranking\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_TURNOVER_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._TURNOVER_REPORT_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_FEEDBACK_SETTINGS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Feedback Settings\",\n\t\tpermission: AccessRight._FEEDBACK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MEMBER_FEEDBACK_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Member Feedback\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tpermission: AccessRight._FEEDBACK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_FEEDBACK_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Shop Feedback\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tpermission: AccessRight._FEEDBACK_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_BANNER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Banner\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tpermission: AccessRight._BANNER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_MANAGE_BANNER_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Banner Detail\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tpermission: AccessRight._BANNER_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MEMBER_ECREDIT_LOG,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._CREDIT_TRANSFER_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_REGION_ECREDIT_LOG,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\tpermission: AccessRight._CREDIT_TRANSFER_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_VIEW_USER_ACTION_LOG,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"View User Action Log\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_VIEW_USER_TRANSACTION_LOG,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"View User Transaction Log\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_LUCKY_SPIN_WINNER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Lucky Spin Winner\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN, LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_KOG_WINNER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"KOG Winner\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN, LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_OVERALL_DOWNLINE_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Overall Downline Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_RANK_SUMMARY_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Rank Summary Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_API_LOG,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Api Log\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_AGENT_WINLOSS_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Agent Winloss Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_AGENT_WINLOSS_REPORT_2,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Agent Winloss Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_LOTTO_SEAMLESS_SETTLEMENT_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Lotto Seamless Settlement Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ADMIN_KOG_VIP_MEMBER,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage KOG VIP Member\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_ONLINE_WITHDRAWAL_REQUEST,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Online Withdrawal Request\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN, LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGER_LIMIT_TRANSACTION_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Set Manager Limit\",\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_PLAYER_CREATION_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Player Creation Report\",\n\t\tloginType: [LoginType._LOGIN_TYPE_SHOP],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_THIRD_PARTY,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Third Party\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_THIRD_PARTY_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Third Party Detail\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_THIRD_PARTY_API,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Third Party APIs\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => \n\t},\n\t{\n\t\tpath: WebUrl._URL_THIRD_PARTY_API_DETAIL,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Third Party API Detail\",\n\t\tpermission: AccessRight._GAME_VENDOR_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => \n\t},\n\t{\n\t\tpath: WebUrl._URL_MANAGE_WELCOME_BONUS,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Manage Bonus\",\n\t\tpermission: AccessRight._PROMOTION_CONTROL_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => \n\t},\n\t{\n\t\tpath: WebUrl._URL_USER_GROWTH_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"User Growth Report\",\n\t\tpermission: AccessRight._USER_GROWTH_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n\t{\n\t\tpath: WebUrl._URL_SHOP_EGHL_REPORT,\n\t\texact: true,\n\t\tauthRequired: true,\n\t\ttitle: \"Shop EGHL Report\",\n\t\tpermission: AccessRight._SHOP_EGHL_REPORT_PERMISSION + AccessRight._READ_PERMISSION_STRING,\n\t\tloginType: [LoginType._LOGIN_TYPE_ADMIN],\n\t\tcomponent: () => ,\n\t},\n];\n","import React from 'react';\nimport { Route, withRouter } from 'react-router-dom';\nimport { _ROUTES, _LOGIN_ROUTE } from './../../config/page-route.jsx';\nimport { PageSettings } from './../../config/page-settings.js';\nimport { AccessRight, Status } from \"../../util/Constant\";\nimport { connect } from \"react-redux\";\n\nfunction setTitle(path, routeArray) {\n\tvar pageTitle;\n\tfor (var i=0; i < routeArray.length; i++) {\n\t\tif (routeArray[i].path === path) {\n\t\t\tpageTitle = process.env.REACT_APP_NAME + ' | ' + routeArray[i].title;\n\t\t}\n\t}\n\tdocument.title = (pageTitle) ? pageTitle : process.env.REACT_APP_NAME;\n}\n\nclass Content extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n routes: _ROUTES\n };\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n PrivateRoute(index, routeData) {\n return (\n \n );\n }\n\n componentDidMount() {\n setTitle(this.props.history.location.pathname, Route);\n }\n\n componentWillMount() {\n this.props.history.listen(() => {\n setTitle(this.props.history.location.pathname, Route);\n });\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n filterMenuByPermission() {\n var filteredRoutes = _ROUTES.filter(route => {\n return ((route.loginType == undefined ||\n route.loginType.filter(i => i == this.props.authState.userData.loginType).length != 0) ||\n (this.props.authState.isLoggedIn == false && route.path == this.props.history.location.pathname)\n );\n });\n\n if (this.props.authState.userData.accessString !== undefined) {\n var userPermissionData = this.props.authState.userData.accessString.split(\";\");\n var permissionArrKey = [];\n\n for (var i = 0; i < userPermissionData.length; i++) {\n var keyValuePermission = userPermissionData[i].split(\":\");\n if (keyValuePermission.length == 2) {\n if (keyValuePermission[1][AccessRight._READ_BIT_POSITION] == Status._ENABLED.toString()) {\n permissionArrKey.push(keyValuePermission[0] + AccessRight._READ_PERMISSION_STRING);\n }\n }\n }\n\n filteredRoutes = filteredRoutes.filter(item => {\n let permission = item.permission;\n if (permission !== undefined) {\n return permissionArrKey.filter(item => item == permission).length != 0;\n }\n else {\n return true;\n }\n });\n }\n\n this.state.routes = filteredRoutes;\n }\n\n render() {\n this.filterMenuByPermission();\n\n return (\n \n {({ pageContentFullWidth, pageContentClass, pageContentInverseMode }) => (\n
    \n {this.state.routes.map((route, index) => (\n this.PrivateRoute(index, route)\n ))}\n
    \n )}\n
    \n )\n }\n}\n\nconst mapStateToProps = state => ({\n ...state\n});\n\nexport default connect(\n mapStateToProps,\n null\n)(withRouter(Content));","import React from 'react';\n\nclass Footer extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t\n\t\tvar date = new Date();\n\t\tthis.state = {\n\t\t\tyear: date.getFullYear()\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t© { this.state.year } Color Admin Responsive Admin Template - Sean Ngu All Rights Reserved\n\t\t\t
    \n\t\t)\n\t}\n}\n\nexport default Footer;","import React, { useRef, useEffect, useState } from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { setSearchMemberModalVisible } from \"../../redux/MemberAction\";\nimport { useForm } from \"react-hook-form\";\nimport { showMessage } from '../../redux/AppAction';\nimport * as Util from '../../util/Util';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\";\nimport { ApiKey, ApiUrl, AlertTypes } from '../../util/Constant';\nimport ApiEngine from '../../util/ApiEngine';\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport PasswordConfirmationModal from './PasswordConfirmationModal';\nimport { getShopCredit } from 'redux/AuthAction';\n\n/// \n/// Author: CK\n/// \nconst SearchMemberModal = props => {\n let _history = useHistory();\n let _dispatch = useDispatch();\n const { t, i18n } = useTranslation();\n const { register, handleSubmit, errors, unregister, setValue, watch } = useForm();\n const _searchTxtRef = useRef(null);\n const [readyState, setReadyState] = useState(false);\n const _inputTxtRef = useRef(null);\n const _userData = useSelector(state => state.authState.userData);\n const [showAgentReloadModal, setShowAgentReloadModal] = useState({});\n const [adjustScoreAmount, setAdjustScoreAmount] = useState(\"\");\n const [passwordConfirmation, setPasswordConfirmation] = useState(false);\n const [getPlayerOnly, setGetPlayerOnly] = useState(false);\n\n /// \n /// Author: CK\n /// \n function closeModal() {\n setShowAgentReloadModal({});\n setPasswordConfirmation(false);\n setAdjustScoreAmount(\"\");\n _dispatch(setSearchMemberModalVisible(false));\n }\n\n /// \n /// Author: CK\n /// Editted: YJ (Support Non Member)\n /// Editted: Wind (Support Agent)\n /// \n async function searchMemberHandler(data) {\n try {\n var responseJson;\n\n if (props.isSearchAgent) {\n responseJson = await ApiEngine.get(`${ApiUrl._API_GET_AGENT_LIST}?Username=${data['searchMemberInput']}`);\n }\n else {\n responseJson = await ApiEngine.get(ApiUrl._API_SEARCH_MEMBER + \"?searchInput=\" + data['searchMemberInput'] + \"&getPlayerOnly=\" + getPlayerOnly);\n }\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n if (!props.isSearchAgent) {\n closeModal();\n let redirectUrl = (responseJson[ApiKey._API_DATA_KEY][\"isMember\"]) ? props.targetUrl[\"mainUrl\"] : props.targetUrl[\"alternateUrl\"];\n\n if (!Util.stringIsNullOrEmpty(redirectUrl)) {\n _history.push({\n pathname: redirectUrl,\n state: responseJson[ApiKey._API_DATA_KEY][\"data\"]\n });\n }\n }\n else {\n if (responseJson[ApiKey._API_DATA_KEY].length == 1) {\n setShowAgentReloadModal(responseJson[ApiKey._API_DATA_KEY][0]);\n }\n else {\n throw 'NO_DATA_FOUND';\n }\n }\n }\n else {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err)\n }));\n }\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n if (props.isModalVisible) {\n register({ name: 'searchMemberInput' }, { required: true });\n setReadyState(true);\n }\n else {\n unregister('searchMemberInput');\n }\n }, []);\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n useEffect(() => {\n if (_searchTxtRef.current) {\n _searchTxtRef.current.focus();\n }\n }, [readyState]);\n\n /// \n /// Author : Wind\n /// \n useEffect(() => {\n if (!Util.isObjectEmpty(showAgentReloadModal) && _inputTxtRef.current) {\n _inputTxtRef.current.focus();\n }\n }, [showAgentReloadModal]);\n\n /// \n /// Author : Wind\n /// \n async function reloadAgentCredit() {\n try {\n let responseJson = await ApiEngine.post(`${ApiUrl._API_UPDATE_AGENT_CREDIT}?agentId=${showAgentReloadModal.id}&amount=${adjustScoreAmount}`);\n\n if (!responseJson[ApiKey._API_SUCCESS_KEY]) {\n throw responseJson[ApiKey._API_MESSAGE_KEY];\n }\n\n _dispatch(showMessage({\n type: AlertTypes._SUCCESS,\n title: t(\"SUCCESS\"),\n content:
    {t('SET_CREDIT') + ': '}{Number(adjustScoreAmount).toFixed(1)}
    ,\n html: true,\n onConfirm: () => {\n _dispatch(getShopCredit());\n closeModal();\n },\n showCancel: true,\n confirmBtnText: t(\"PRINT\"),\n confirmBtnBsStyle: \"success\",\n cancelBtnText: \"OK\",\n cancelBtnBsStyle: \"primary\",\n reverseButtons: false,\n onConfirm: () => {\n _dispatch(getShopCredit());\n closeModal();\n Util.printReceipt(`Agent: ${showAgentReloadModal.username}|Set Credit: ${Number(adjustScoreAmount).toFixed(1)}`)\n }\n }));\n }\n catch (err) {\n _dispatch(showMessage({\n type: AlertTypes._ERROR,\n content: t(err)\n }));\n }\n }\n\n return (\n <>\n \n {t('RELOAD')}\n \n
    \n
    \n \n setValue(\"searchMemberInput\", e.target.value)}\n ref={_searchTxtRef} />\n {errors[\"searchMemberInput\"] &&
    {t(Util.getValidationMessage(errors[\"searchMemberInput\"]))}
    }\n
    \n
    \n {\n !props.isSearchAgent &&\n <>\n
    \n setGetPlayerOnly(e.target.checked)} />\n \n
    \n   \n \n }\n \n
    \n
    \n
    \n
    \n {\n !Util.isObjectEmpty(showAgentReloadModal) &&\n \n
    \n Util.ignoreDecimal(e, _userData?.username?.includes(\"demo\") || _userData?.isAdminLevel)}\n ref={_inputTxtRef} value={adjustScoreAmount} onChange={(e) => { setAdjustScoreAmount(e.target.value) }} />\n
    \n
    \n \n \n
    \n
    }>\n
    {t('CREDIT')}: {showAgentReloadModal.credit}
    \n \n }\n {passwordConfirmation &&\n {\n reloadAgentCredit();\n }}\n onCancel={() => { setPasswordConfirmation(false); }} />\n }\n \n );\n};\n\nexport default SearchMemberModal;","import React from 'react';\nimport { PageSettings } from './config/page-settings.js';\nimport Header from './components/header/header.jsx';\nimport ShopHeader from './components/header/shop-header';\nimport Sidebar from './components/sidebar/sidebar.jsx';\nimport Content from './components/content/content.jsx';\nimport Footer from './components/footer/footer.jsx';\nimport SweetAlert from 'react-bootstrap-sweetalert';\nimport LoadingOverlay from 'react-loading-overlay';\nimport { connect } from \"react-redux\";\nimport { ApiKey, ApiUrl, LoginType, Role, SessionKey, WebUrl, Theme } from \"./util/Constant\";\nimport { updateLoginUser, resetLogin, performLogout } from \"./redux/AuthAction.js\";\nimport { fetch } from 'whatwg-fetch';\nimport classNames from 'classnames';\nimport { isObjectEmpty, stringIsNullOrEmpty } from './util/Util.js';\nimport SearchMemberModal from './components/custom/SearchMemberModal';\nimport EpayLogo from './assets/img/logo/epay.png';\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n\n this.toggleSidebarMinify = (e) => {\n e.preventDefault();\n if (this.state.pageSidebarMinify) {\n this.setState(state => ({\n pageFloatSubMenuActive: false\n }));\n }\n this.setState(state => ({\n pageSidebarMinify: !this.state.pageSidebarMinify\n }));\n }\n this.toggleMobileSidebar = (e) => {\n this.setState(state => ({\n pageSidebarToggled: !this.state.pageSidebarToggled\n }));\n }\n this.handleSetPageSidebar = (value) => {\n this.setState(state => ({\n pageSidebar: value\n }));\n }\n this.handleSetPageSidebarMinified = (value) => {\n this.setState(state => ({\n pageSidebarMinify: value\n }));\n }\n this.handleSetPageSidebarWide = (value) => {\n this.setState(state => ({\n pageSidebarWide: value\n }));\n }\n this.handleSetPageSidebarLight = (value) => {\n this.setState(state => ({\n pageSidebarLight: value\n }));\n }\n this.handleSetPageSidebarTransparent = (value) => {\n this.setState(state => ({\n pageSidebarTransparent: value\n }));\n }\n this.handleSetPageSidebarSearch = (value) => {\n this.setState(state => ({\n pageSidebarSearch: value\n }));\n }\n\n this.toggleRightSidebar = (e) => {\n e.preventDefault();\n this.setState(state => ({\n pageRightSidebarCollapsed: !this.state.pageRightSidebarCollapsed\n }));\n }\n this.toggleMobileRightSidebar = (e) => {\n e.preventDefault();\n this.setState(state => ({\n pageMobileRightSidebarToggled: !this.state.pageMobileRightSidebarToggled\n }));\n }\n this.handleSetPageRightSidebar = (value) => {\n this.setState(state => ({\n pageRightSidebar: value\n }));\n }\n\n var floatSubMenuRemove;\n var floatSubMenuCalculate;\n var floatSubMenuRemoveTime = 250;\n this.handleFloatSubMenuOnMouseOver = (e) => {\n clearTimeout(floatSubMenuRemove);\n clearTimeout(floatSubMenuCalculate);\n }\n this.handleFloatSubMenuOnMouseOut = (e) => {\n floatSubMenuRemove = setTimeout(() => {\n this.setState(state => ({\n pageFloatSubMenuActive: false\n }));\n }, floatSubMenuRemoveTime);\n }\n this.handleSidebarOnMouseOver = (e, menu) => {\n if (this.state.pageSidebarMinify) {\n if (menu.children) {\n var left = (document.getElementById('sidebar').offsetWidth + document.getElementById('sidebar').offsetLeft) + 'px';\n\n clearTimeout(floatSubMenuRemove);\n clearTimeout(floatSubMenuCalculate);\n\n this.setState(state => ({\n pageFloatSubMenu: menu,\n pageFloatSubMenuActive: true,\n pageFloatSubMenuLeft: left\n }));\n\n var offset = e.currentTarget.offsetParent.getBoundingClientRect();\n\n floatSubMenuCalculate = setTimeout(() => {\n var targetTop = offset.top;\n var windowHeight = window.innerHeight;\n var targetHeight = document.querySelector('.float-sub-menu-container').offsetHeight;\n var top, bottom, arrowTop, arrowBottom, lineTop, lineBottom;\n\n if ((windowHeight - targetTop) > targetHeight) {\n top = offset.top + 'px';\n bottom = 'auto';\n arrowTop = '20px';\n arrowBottom = 'auto';\n lineTop = '20px';\n lineBottom = 'auto';\n } else {\n var aBottom = (windowHeight - targetTop) - 21;\n top = 'auto';\n bottom = '0';\n arrowTop = 'auto';\n arrowBottom = aBottom + 'px';\n lineTop = '20px';\n lineBottom = aBottom + 'px';\n }\n\n this.setState(state => ({\n pageFloatSubMenuTop: top,\n pageFloatSubMenuBottom: bottom,\n pageFloatSubMenuLineTop: lineTop,\n pageFloatSubMenuLineBottom: lineBottom,\n pageFloatSubMenuArrowTop: arrowTop,\n pageFloatSubMenuArrowBottom: arrowBottom,\n pageFloatSubMenuOffset: offset\n }));\n }, 0);\n\n } else {\n floatSubMenuRemove = setTimeout(() => {\n this.setState(state => ({\n pageFloatSubMenu: '',\n pageFloatSubMenuActive: false\n }));\n }, floatSubMenuRemoveTime);\n }\n }\n }\n this.handleSidebarOnMouseOut = (e) => {\n if (this.state.pageSidebarMinify) {\n floatSubMenuRemove = setTimeout(() => {\n this.setState(state => ({\n pageFloatSubMenuActive: false\n }));\n }, floatSubMenuRemoveTime);\n }\n }\n this.handleFloatSubMenuClick = () => {\n if (this.state.pageSidebarMinify) {\n const windowHeight = window.innerHeight;\n const targetHeight = document.getElementById('float-sub-menu').offsetHeight;\n const targetTop = this.state.pageFloatSubMenuOffset.top;\n const top = ((windowHeight - targetTop) > targetHeight) ? targetTop : 'auto';\n const left = (this.state.pageFloatSubMenuOffset.left + document.getElementById('sidebar').offsetWidth) + 'px';\n const bottom = ((windowHeight - targetTop) > targetHeight) ? 'auto' : '0';\n const arrowTop = ((windowHeight - targetTop) > targetHeight) ? '20px' : 'auto';\n const arrowBottom = ((windowHeight - targetTop) > targetHeight) ? 'auto' : ((windowHeight - targetTop) - 21) + 'px';\n const lineTop = ((windowHeight - targetTop) > targetHeight) ? '20px' : 'auto';\n const lineBottom = ((windowHeight - targetTop) > targetHeight) ? 'auto' : ((windowHeight - targetTop) - 21) + 'px';\n\n this.setState(state => ({\n pageFloatSubMenuTop: top,\n pageFloatSubMenuLeft: left,\n pageFloatSubMenuBottom: bottom,\n pageFloatSubMenuLineTop: lineTop,\n pageFloatSubMenuLineBottom: lineBottom,\n pageFloatSubMenuArrowTop: arrowTop,\n pageFloatSubMenuArrowBottom: arrowBottom\n }));\n }\n }\n\n this.handleSetPageContent = (value) => {\n this.setState(state => ({\n pageContent: value\n }));\n }\n this.handleSetPageContentClass = (value) => {\n this.setState(state => ({\n pageContentClass: value\n }));\n }\n this.handleSetPageContentFullHeight = (value) => {\n this.setState(state => ({\n pageContentFullHeight: value\n }));\n }\n this.handleSetPageContentFullWidth = (value) => {\n this.setState(state => ({\n pageContentFullWidth: value\n }));\n }\n this.handleSetPageContentInverseMode = (value) => {\n this.setState(state => ({\n pageContentInverseMode: value\n }));\n }\n\n this.handleSetPageHeader = (value) => {\n this.setState(state => ({\n pageHeader: value\n }));\n }\n this.handleSetPageHeaderMegaMenu = (value) => {\n this.setState(state => ({\n pageHeaderMegaMenu: value\n }));\n }\n this.handleSetPageHeaderLanguageBar = (value) => {\n this.setState(state => ({\n pageHeaderLanguageBar: value\n }));\n }\n\n this.handleSetPageFooter = (value) => {\n this.setState(state => ({\n pageFooter: value\n }));\n }\n this.handleSetPageTopMenu = (value) => {\n this.setState(state => ({\n pageTopMenu: value\n }));\n }\n this.toggleMobileTopMenu = (e) => {\n e.preventDefault();\n this.setState(state => ({\n pageMobileTopMenu: !this.state.pageMobileTopMenu\n }));\n }\n this.handleSetPageTwoSidebar = (value) => {\n this.setState(state => ({\n pageTwoSidebar: value\n }));\n }\n this.handleSetPageBoxedLayout = (value) => {\n if (value === true) {\n document.body.classList.add('boxed-layout');\n } else {\n document.body.classList.remove('boxed-layout');\n }\n }\n this.handleSetBodyWhiteBg = (value) => {\n if (value === true) {\n document.body.classList.add('bg-white');\n } else {\n document.body.classList.remove('bg-white');\n }\n }\n\n this.state = {\n pageHeader: true,\n pageheaderMegaMenu: false,\n pageHeaderLanguageBar: true,\n handleSetPageHeader: this.handleSetPageHeader,\n handleSetPageHeaderLanguageBar: this.handleSetPageHeaderLanguageBar,\n handleSetPageHeaderMegaMenu: this.handleSetPageHeaderMegaMenu,\n\n pageSidebar: true,\n pageSidebarWide: false,\n pageSidebarLight: false,\n pageSidebarMinify: false,\n pageSidebarToggled: false,\n pageSidebarTransparent: false,\n pageSidebarSearch: false,\n handleSetPageSidebar: this.handleSetPageSidebar,\n handleSetPageSidebarWide: this.handleSetPageSidebarWide,\n handleSetPageSidebarLight: this.handleSetPageSidebarLight,\n handleSetPageSidebarMinified: this.handleSetPageSidebarMinified,\n handleSetPageSidebarTransparent: this.handleSetPageSidebarTransparent,\n handleSetPageSidebarSearch: this.handleSetPageSidebarSearch,\n handleSidebarOnMouseOut: this.handleSidebarOnMouseOut,\n handleSidebarOnMouseOver: this.handleSidebarOnMouseOver,\n toggleSidebarMinify: this.toggleSidebarMinify,\n toggleMobileSidebar: this.toggleMobileSidebar,\n\n pageFloatSubMenuActive: false,\n pageFloatSubMenu: '',\n pageFloatSubMenuTop: 'auto',\n pageFloatSubMenuLeft: 'auto',\n pageFloatSubMenuBottom: 'auto',\n pageFloatSubMenuLineTop: 'auto',\n pageFloatSubMenuLineBottom: 'auto',\n pageFloatSubMenuArrowTop: 'auto',\n pageFloatSubMenuArrowBottom: 'auto',\n pageFloatSubMenuOffset: '',\n handleFloatSubMenuOnMouseOver: this.handleFloatSubMenuOnMouseOver,\n handleFloatSubMenuOnMouseOut: this.handleFloatSubMenuOnMouseOut,\n handleFloatSubMenuClick: this.handleFloatSubMenuClick,\n\n pageContent: true,\n pageContentClass: '',\n pageContentFullHeight: false,\n pageContentFullWidth: false,\n pageContentInverseMode: false,\n handleSetPageContent: this.handleSetPageContent,\n handleSetPageContentClass: this.handleSetPageContentClass,\n handleSetPageContentFullHeight: this.handleSetPageContentFullHeight,\n handleSetPageContentFullWidth: this.handleSetPageContentFullWidth,\n handleSetPageContentInverseMode: this.handleSetPageContentInverseMode,\n\n pageFooter: false,\n handleSetPageFooter: this.handleSetPageFooter,\n error: null,\n errorInfo: null,\n\n pageTopMenu: false,\n pageMobileTopMenu: false,\n toggleMobileTopMenu: this.toggleMobileTopMenu,\n handleSetPageTopMenu: this.handleSetPageTopMenu,\n\n pageTwoSidebar: false,\n handleSetPageTwoSidebar: this.handleSetPageTwoSidebar,\n\n pageRightSidebar: false,\n pageRightSidebarToggled: true,\n pageMobileRightSidebarToggled: false,\n toggleRightSidebar: this.toggleRightSidebar,\n toggleMobileRightSidebar: this.toggleMobileRightSidebar,\n handleSetPageRightSidebar: this.handleSetPageRightSidebar,\n\n handleSetBodyWhiteBg: this.handleSetBodyWhiteBg,\n handleSetPageBoxedLayout: this.handleSetPageBoxedLayout\n };\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n componentDidMount() {\n const HEART_BEAT_INTERVAL = 2000;\n\n if (localStorage.getItem(SessionKey._LOGIN_GUID)) {\n sessionStorage.setItem(SessionKey._LOGIN_GUID, localStorage.getItem(SessionKey._LOGIN_GUID));\n }\n\n setInterval(function () {\n var localGuid = localStorage.getItem(SessionKey._LOGIN_GUID);\n var sessionGuid = sessionStorage.getItem(SessionKey._LOGIN_GUID);\n\n if (localGuid != sessionGuid && localGuid != null && localGuid != 'null' && sessionGuid != null && sessionGuid != 'null') {\n sessionStorage.setItem(SessionKey._LOGIN_GUID, localGuid);\n window.location.href = WebUrl._URL_MAIN;\n }\n }, HEART_BEAT_INTERVAL);\n\n fetch(ApiUrl._API_IS_LOGGED_IN, {\n method: ApiKey._API_GET,\n headers: {\n \"Accept\": ApiKey._API_APPLICATION_JSON,\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n }\n }).then((response) => response.json()).then((responseJson) => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n this.props.updateLoginUser(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n this.props.resetLogin();\n }\n });\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// Edited: CK - Get shop credit limit\n /// \n componentDidUpdate() {\n try {\n if (this.props.authState.userData.loginType == LoginType._LOGIN_TYPE_SHOP) {\n document.body.classList.add('shop-layout');\n }\n else {\n document.body.classList.remove('shop-layout');\n }\n }\n catch (error) {\n // do nothing\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n componentDidCatch(error, errorInfo) {\n this.setState({\n error: error,\n errorInfo: errorInfo\n })\n }\n\n render() {\n if (this.state.errorInfo) {\n return (\n
    \n \n

    Something went wrong, please contact admin for help

    \n
    \n {window.navigator.userAgent}\n
    \n
    \n );\n }\n else {\n return (\n \n \n : true}\n styles={{\n overlay: (base) => ({\n ...base,\n zIndex: '10000',\n position: 'fixed',\n })\n }}\n text={this.props.appState.message}\n >\n \n {\n !isObjectEmpty(this.props.appState.alert) &&
    \n {!stringIsNullOrEmpty(this.props.appState.alert.content) && (this.props.appState.alert.html ? this.props.appState.alert.content : this.props.appState.alert.content.split('\\n').map((item, key) => {\n return {item}
    \n }))}\n
    \n
    \n }\n {this.props.authState.loginStateInitialized && this.props.authState.isLoggedIn && this.props.authState.userData.userRoleId == Role._SHOP &&\n \n }\n {\n this.props.memberState.isModalVisible && this.props.authState.userData.userRoleId == Role._SHOP &&\n \n }\n {\n this.props.authState.loginStateInitialized &&\n
    \n {this.state.pageHeader && (this.props.authState.userData.userRoleId == Role._SHOP ? :
    )}\n {this.state.pageSidebar && ()}\n
    {\n if (this.state.pageSidebarToggled) {\n this.toggleMobileSidebar();\n }\n }}> \n {this.state.pageContent && ()}\n {this.state.pageFooter && (
    )}\n
    \n
    \n }\n
    \n )\n }\n }\n}\n\nconst mapStateToProps = state => ({\n ...state,\n});\n\nexport default connect(\n mapStateToProps,\n {\n updateLoginUser: updateLoginUser,\n resetLogin: resetLogin,\n performLogout: performLogout\n }\n)(App);","import 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport store from \"./ApplicationStore.js\";\nimport App from './app.jsx';\nimport { BrowserRouter } from 'react-router-dom';\nimport { Provider } from \"react-redux\";\nimport './localization/i18n.js';\n\n// css\nimport 'bootstrap/dist/css/bootstrap.css';\nimport '@fortawesome/fontawesome-free/css/all.min.css';\nimport 'react-quill/dist/quill.snow.css';\nimport 'codemirror/lib/codemirror.css';\nimport 'codemirror/theme/material.css';\nimport 'simple-line-icons/css/simple-line-icons.css';\nimport 'flag-icon-css/css/flag-icon.min.css';\nimport 'react-perfect-scrollbar/dist/css/styles.css';\nimport './index.css';\nimport './scss/react.scss';\nimport 'bootstrap-social/bootstrap-social.css';\nimport 'bootstrap-daterangepicker/daterangepicker.css';\nimport 'react-datetime/css/react-datetime.css';\nimport \"react-datepicker/dist/react-datepicker.css\";\n\n//js\nimport 'jquery/dist/jquery.min.js'\nimport 'bootstrap/dist/js/bootstrap.min.js'\n\n// ========================================\n\nimport { Theme } from '../src/util/Constant';\n\nconst EpayTheme = React.lazy(() => import('../src/components/theme/Epay'));\nconst OrenTheme = React.lazy(() => import('../src/components/theme/Oren'));\nconst MantapTheme = React.lazy(() => import('../src/components/theme/Mantap'));\n\n/// \n/// Author: YJ\n/// \nconst PortalTheme = ({ children }) => {\n const CHOSEN_THEME = process.env.REACT_APP_NAME;\n return (\n <>\n }>\n {(CHOSEN_THEME === Theme._EPAY) && }\n {(CHOSEN_THEME === Theme._OREN) && }\n {(CHOSEN_THEME === Theme._MANTAP) && }\n \n {children}\n \n )\n}\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('root')\n);"],"sourceRoot":""}