{"version":3,"sources":["screens lazy /^/.*$/ groupOptions: {} namespace object","App.js","components/PrivacyPolicyAcceptance.js","reportWebVitals.js","index.js","components/InformationIcon.js","routingTable.js","screens/ShippingOrder/common.js","components/FlagIcon.js","img/password_lock.png","components/EditButton.js","components/Ajax.js","registerServiceWorker.js","screens/AccessDeclined.js","screens/Login.js","img/signup_title.png","screens/ForgotPassword.js","screens/ResetPassword.js","screens/Registration/Registration.js","screens/Registration/RegistrationWithSIS.js","screens/Registration/RegistrationWithoutSIS.js","screens/DownloadPublicFile.js","components/SystemMenu.js","components/LoggedInUser.js","components/Breadcrumb.js","screens/BaseLayout.js","components/Common.js","components/DynamicIcon.js","components/SearchBoxWithAutoComplete.js","components/base/Tooltip.js","components/SignalR.js","components/base/Table.js","components/Notification/NotificationBellButtonGroup.js","components/history.js","components/AuthService.js","components/Notification/common.js","components/withTracker.js","img/mr_spedag_logo.svg","components/base/Affix.js","components/base/Alert.js","components/base/AutoComplete.js","components/base/Badge.js","components/base/Breadcrumb.js","components/base/Button.js","components/base/Card.js","components/base/Cascader.js","components/base/Checkbox.js","components/base/Col.js","components/base/Collapse.js","components/base/CollapseEnhanced.js","components/base/DatePicker.js","components/base/Divider.js","components/base/Drawer.js","components/base/Dropdown.js","components/base/Empty.js","components/base/Form4.js","components/base/Input.js","components/base/InputNumber.js","components/base/InputGroup.js","components/base/Layout.js","components/base/List.js","components/base/Menu.js","components/base/Messasge.js","components/base/Modal.js","components/base/Notification.js","components/base/Popconfirm.js","components/base/Popover.js","components/base/Progress.js","components/base/Radio.js","components/base/Result.js","components/base/Row.js","components/base/Select.js","components/base/SelectEnhance.js","components/base/Skeleton.js","components/base/Slider.js","components/base/SliderEnhance.js","components/base/Spin.js","components/base/Statistic.js","components/base/Steps.js","components/base/Switch.js","components/base/TableEnhanced.js","components/base/Tabs.js","components/base/TabsEnhanced.js","components/base/Tag.js","components/base/Timeline.js","components/base/TimePicker.js","components/base/Upload.js","components/base/Transfer.js","components/base/Tree.js","components/base/Image.js","components/base/Pagination.js","components/base/TableOrigin.js","components/withAuth.js","i18n/en.js","i18n/tc.js","i18n/i18next.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","t","keys","Object","module","exports","Layout","withRouter","BaseLayout","routing","routingTable","route","component","lazy","concat","filePath","withTracker","withAuth","Auth","AuthService","_jsx","children","Suspense","fallback","FallbackElements","Switch","filter","path","includes","enableNotification","i","funcId","isAccessable","AccessDeclined","Route","process","exact","PrivacyPolicyAcceptance","_PureComponent","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","state","modalPrivacyPolicyAcceptanceVisible","setModalPrivacyPolicyVisible","setState","_createClass","key","value","_this2","this","_jsxs","_Fragment","CookieConsent","location","cookieName","expires","containerClasses","contentClasses","buttonClasses","buttonText","className","onClick","Modal","title","getText","width","visible","onCancel","footer","PureComponent","reportWebVitals","onPerfEntry","Function","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","TagManager","initialize","gtmId","userProject","rootElement","document","getElementById","ReactDOM","render","Router","history","Login","ForgotPassword","ResetPassword","Registration","RegistrationWithSIS","RegistrationWithoutSIS","DownloadPublicFile","App","registerServiceWorker","InformationIcon","size","QuestionCircleOutlined","style","fontSize","verticalAlign","defaultProps","name","isArray","AutoCompleteOption","AutoComplete","Option","Select","ENSValidationStartDate","GetPartyOption","parties","noRecordText","undefined","isPredict","party_type","disabled","text","p","similarity","CheckIsNullOrUndefined","Similarity","isNaN","release_score","nominate_score","toFixed","toString","party_code_display","full_name","party_code","party_name","office_code","address1","address2","address3","address4","city","zip","zip_postal","country_code","country_name","city_name","is_auto_fill_display","is_auto_fill","description","party_group_type_id","tel","fax","email","office_hour_from","office_hour_to","status","customer_id","customer_full_name","customer_code","eori_no","fontWeight","float","AndroidOutlined","whiteSpace","full_addr","party_id","GetCustomerOption","customers","c","GetPortOption","ports","unCode","handling_office_party_id","notify_office_party_id","port_name","countrycode","countryCode","toLowerCase","countryname","countryName","GetCountryOption","countries","FlagIcon","GetCityOption","cities","city_code","GetISFInfoOption","info","deleteRecord","idx","addr","country","replace","confirmMsg","countryoforigin","countryOfOrigin","isfprofileid","isf_profile_id","display","zIndex","preventDefault","stopPropagation","Popconfirm","okText","cancelText","onConfirm","CloseOutlined","paddingTop","GetENSInfoOption","phone","GetCarrierOption","carrierList","display_name","scac","carrier_name","GetUnLocodeOption","unLocodes","locode","un_locode_name","GetKeyValuePairOption","list","pkey","pvalue","wordWrap","GetCFSOption","cfsList","option_list","w_relationship_list","has_party_relationship","wo_relationship_list","forEach","push","openMobileDetailPage","_x","_x2","_openMobileDetailPage","_asyncToGenerator","_regeneratorRuntime","mark","_callee","record","uac","baseUrl","url","user_uid","res","mobileSite","so_no","mobileURL","tokenURL","wrap","_context","prev","next","URL","window","href","Message","error","Ajax","get","sent","data","master_so_no","searchParams","append","post","token","open","abrupt","t0","showAjaxErrorMsg","stop","getPOLHandlingOffice","_x3","_x4","_x5","_x6","_getPOLHandlingOffice","_callee2","pol_locode","showAllHDOffice","user_profile_id","_context2","getUac","menu_func_accesses","findIndex","mfa","func_id","CheckIsEmptyString","response","FlagIconFactory","React","useCssModules","EditButton","editable","onEdit","editText","showAcceptRejectAll","acceptRejectAllText","onAcceptRejectAll","showLatestEBookingText","onShowLatestEbooking","Button","icon","RollbackOutlined","type","EditOutlined","marginLeft","errorHandling","showError","axios","isCancel","processLogout","console","reject","defaults","CancelToken","headers","config","responseType","cancelToken","catch","assign","put","delete","promises","callbacks","spread","swUrl","isLocalhost","Boolean","hostname","match","register","navigator","origin","addEventListener","fetch","contentType","indexOf","serviceWorker","ready","registration","unregister","reload","registerValidSW","log","checkValidServiceWorker","onupdatefound","installingWorker","installing","onstatechange","controller","confirm","caches","keyList","message","err","onUpdate","onSuccess","updateServiceWorker","getRegistration","update","SetTitle","props","pathname","split","pop","FormItem4","Form4","Item","userMenuApiUrl","NormalLoginForm","_Component","profiles","modalTermsOfUseVisible","needChangePassword","formRef","createRef","getDefaultDashboardUrl","menu","dashboard","profile","resDB","m","section","getProfile","d","redirectToSystem","_this$props","defaultUrl","toUrl","URLSearchParams","search","selectUserProfile","userProfiles","getUserProfiles","profileOpts","setProfileList","j","profile_type_id","profile_type","resetFields","current","onFinish","values","userName","password","language","loggedIn","msgKey","login","setModalTermsOfUseVisible","changeLanguage","localStorage","getItem","DefaultLang","isTimeout","setIsTimeout","getToken","logout","content","duration","destroy","Card","bordered","initialValues","ref","rules","required","Input","prefix","src","userIcon","alt","placeholder","passwordIcon","onChange","GUID","label","htmlType","padding","height","lineHeight","CompanyLogo","Component","ForgotPasswordForm","loading","success","dataUrl","getPasswordConfig","ResetPasswordForm","loginID","confirmPassword","validateStatus","pwErrorMsg","strongPWRequired","result","useStrongPassword","passwordOnChange","obj","JSON","parse","stringify","comparePasswords","_this$state","checkStrongPassword","_this$state2","parsed","qs","_this3","_this$state3","target","help","color","RegistrationForm","goToRestrationPage","withSIS","marginTop","marginRight","marginBottom","bind","Header","Footer","Step","Steps","steps","validateAndGetSISUserApiUrl","activateAccountUrl","updatePassword","countryFlagStyle","displayErrorMsg","errorMsg","msg","index","handleDropdownChange","fieldName","callback","keepValue","_data","_args","_defineProperty","handleCountryCodeChange","fdcChangetimeoutID","clearTimeout","setTimeout","inputDelayTimeinSec","handleCountryCodeOnSelect","user","_ref2","login_id","activateAccount","_ref3","_callee3","_context3","activateResultTitle","activateResultStatus","activateResultMsg","_x7","_x8","goToLoginPage","validateAndGetSISAC","_ref4","_callee4","sis_user_id","_context4","_x9","_x10","_callee5","_context5","validateToNextPassword","rule","handleConfirmBlur","confirmDirty","validate","_ref6","_callee6","_context6","_x11","doCheckValidCode","codeList","field","len","validCode","_ref7","_callee7","_j","_j2","_j3","_res","errorMessages","upsertRes","_context7","sis_password","msg_type","Notification","msg_key","placement","email2","action","roles","party_groups","tradelanees","r","t1","_x12","onFinishFailed","_ref8","errorFields","outOfDate","handleBack","onbeforeunload","goBack","fdcList","formItemLayout","labelCol","xs","span","sm","wrapperCol","formItemLayoutWithOutLabel","offset","now","Date","fdcOptions","Spin","spinning","margin","item","Row","gutter","justify","Col","_objectSpread","autoComplete","Tooltip","whitespace","initialValue","family_name","given_name","co_address1","co_address2","co_address3","co_address4","co_country_code","validator","dataSource","onSearch","onSelect","optionLabelProp","dropdownMatchSelectWidth","lg","xl","company","department","position","Result","subTitle","extra","hasFeedback","_ref9","getFieldValue","_","onBlur","getFullYear","locationGroup","getOffice","officeOption","filterOfficeByLocation","location_type_id","currentLocationType","resArr","office","group_id","short_name","getUserTypeOpts","resDat","userTypeOption","getLocationOpts","locationOption","handleUserTypeChange","setFieldsValue","referred_by_office_party_id","userType","handleLocationChange","_ref5","LocationOption","dependencies","Content","dlUrl","downloadPublicFile","filename","blob","Blob","saveAs","FilePdfOutlined","SubMenu","Menu","Search","loginUrl","logoutUrl","changeUserUrl","dataList","generateList","node","getParentKey","tree","parentKey","some","getSelectedItemExpandKey","defaultSelectedKeys","expandedKeys","_step","_iterator","_createForOfIteratorHelper","s","n","done","_step2","_iterator2","f","defaultMenuDate","SystemMenu","_React$Component","loadUserMenu","menuData","_toConsumableArray","submenu","i18next","exists","keyData","cancellable","selectedKeys","_assertThisInitialized","handleLogout","handleChangeUser","handleSearchMenu","self","searchValue","onOpenChange","openKeys","displayMenuItems","searchStr","substring","beforeStr","substr","afterStr","Fragment","DynamicIcon","Link","flex","to","defaultOpenKeys","mounted","prevProps","prevUrl","currUrl","mode","theme","super_user_uid","TeamOutlined","LogoutOutlined","LoggedInUser","userProfile","first_name","last_name","profileList","getProfileList","find","l","_unused","getBreadcrumbItem","routes","matchPath","shift","Breadcrumb","generateBreadcrumbItems","pathSnippets","rootBreadcrumbItem","extraBreadcrumbItems","join","BreadcrumbBar","separator","Sider","Countdown","Statistic","countDown","timer","overlayClassName","format","valueStyle","hideMenu","collapsed","autoHideCollapsed","shrinkHeader","isLightTheme","resetTimer","menuIconClass","profileMenu","componentDidMount","redirectToLoginPage","handleStorage","listenToScroll","getUserProfile","componentWillUnmount","removeEventListener","newValue","updateBookingDate","refreshSailing","setItem","refreshHBLSailing","cargosphere_access_token","refreshCargosphereAccessTokenState","isTimeOut","_history$location","hash","encodeURIComponent","redirectToChangePassword","onCountDownFinish","isTokenExpired","renewIfNeeded","setHasBLRenewToken","toggleMenu","prevState","onCollapse","onAutoHideCollapse","onChangeTheme","winScroll","body","scrollTop","documentElement","searchTable","getElementsByClassName","expandBtn","toTopBtn","toBottomBtn","getBoundingClientRect","top","classList","add","remove","scrollingElement","scrollHeight","offsetHeight","handleMenuItemClick","getForceChangePassword","contentOnly","headerStyle","menuWidth","menuClass","rootClassName","menuIconType","getTokenExpireTime","setResetTimer","collapsible","trigger","onMouseEnter","onMouseLeave","RightOutlined","rotate","PushpinOutlined","md","flexFlow","Dropdown","overlay","UserSwitchOutlined","alignItems","NotificationBellButtonGroup","DateFormat","DateTimeFormat","DateTimeFormat2","DateTimeFormat3","TimeFormat","DateFormat_printing","s4","Math","floor","random","checkTBCContainerNoFormatValid","container_no","test","checkWhiteSpace","ArrToFilterList","ArrInput","returnArr","MomentDateToString","dtMoment","moment","isMoment","MomentDateTimeToString","MoneyFieldFilter","NumberInput","OriginalValue","DecimalPlaces","numberString","returnString","DefaultPageSize","parseInt","Skeleton","active","GetSectionDetailsFromUrl","htmlDecode","input","DOMParser","parseFromString","textContent","DownloadAJAXBlob","file","file_name","msSaveOrOpenBlob","a","createElement","fileURL","createObjectURL","download","appendChild","click","removeChild","revokeObjectURL","RoundUp2Decimal","inputNumber","inputNumberString","roundingDigit","returnNumber","parseFloat","pow","RoundDecimal","Method","NumberFormatter","stringArr","NumberParser","NumberOnChange","NumberParser_Antd4","negative","frontNumber","NumberOnBlur_Antd4","min","max","outputNumber","dynamicSort","property","sortOrder","b","dynamicSort2Column","propertyA","propertyB","CheckIsEmptyArray","CheckIsEmptyObject","validateEmail","warn","pw","replaceToUpperCase","toUpperCase","trimWhiteSpace","trim","validateUSAssignedID","isf_cns_num_type","pattern","isfCnsNumReg","formatCnsIorValue","formattedValue","getOMSETDRange","po","etdRange","omsETDRangeFrom","omsETDRangeTo","earliest_ship_date","isValid","isAfter","est_ship_date","isBefore","ExcelDateToJSDate","serial","utc_days","date_info","fractional_day","total_seconds","seconds","hours","minutes","getMonth","getDate","getBrowser","returnBrowser","chrome","userAgent","countHTMLtextSizeInMB","count","platform","calculateHTMLTextSize","lineBreaks","round","options","ignoreWhitespace","nonAscii","formResetFields","form","fields","formSetFieldsValue","formGetFieldValue","formSetFields","setFields","formValidateFields","validateFields","decodeHtml","html","txt","innerHTML","isENSParticipant","cityCode","jobTypeMapping","jobStatusMapping","opn","del","capitalizeFirstLetter","string","charAt","getDisabledPOLETDInitial","currentDate","startDate","endDate","endOf","isBetween","rest","_objectWithoutProperties","_excluded","icons","require","InputGroup","Group","getSmartSearchHistoryUrl","upsertSmartSearchHistoryUrl","SearchBoxWithAutoComplete","memo","_useState","useState","_useState2","_slicedToArray","setData","_useState3","_useState4","searchText","setSearchText","didMount","useRef","optionClassName","searchButtonStyle","searchButtonPercent","minWidth","searchButtonMinWidth","inputProps","suffix","allowClear","getSmartSearchHistory","handleClick","search_text","useEffect","dat","ClockCircleOutlined","compact","option","handleSelect","handleSearch","SearchOutlined","searchIconName","_Tooltip","SignalR","hubName","initConnection","connection","HubConnectionBuilder","configureLogging","LogLevel","None","withUrl","skipNegotiation","transport","HttpTransportType","WebSockets","accessTokenFactory","withAutomaticReconnect","build","on","funcName","start","off","send","dataObj","calcScroll","columns","defaultColWidth","maxHeight","scroll","x","reduce","y","getRowClassName","rowClassName","pageSizeOptions","ListTable","pagination","isLoading","rowKey","errMsg","msgType","role","paginationWithDefaults","_Table","BellButton","notificationListVisible","setNotificationListVisible","countUnread","Badge","BellFilled","BellOutlined","NotificationList","messages","readFilter","refreshUserNotification","setMessages","setCountUnread","setReadFilter","setPagination","updateReadStatus","clientAdded","setClientAdded","evt","targetElement","isClickInsideElement","parentNode","checkClickOutsideNotificationList","searchBoxVisible","setSearchBoxVisible","_useState5","_useState6","isExpandWidth","setIsExpandWidth","markAllAsRead","newMessages","markAllMessagesAsRead","is_read","onSearchText","pageSize","handleSwitchreadFilter","newreadFilter","newPagination","handleOnClickExpandWidth","handleDeleteAllMessages","deleteAllMessages","total","centered","onOk","maskClosable","CheckOutlined","DeleteOutlined","SyncOutlined","FullscreenOutlined","overflowX","checkedChildren","unCheckedChildren","checked","DoubleRightOutlined","DoubleLeftOutlined","align","MoreOutlined","transform","LeftOutlined","multiLine","textAlign","Divider","notificationListItem","Empty","image","PRESENTED_IMAGE_SIMPLE","Pagination","showSizeChanger","page","_desc_param$contract_","_desc_param$contract_2","_desc_param$contract_3","_desc_param$contract_4","_desc_param$contract_5","_desc_param$contract_6","message_id","sub_module","doc_code","desc_key","desc_param","message_dt","_useState7","_useState8","showMore","setShowMore","removeMessage","removed","upsertMessage","ceil","unfollow","unfollowNotification","DisconnectOutlined","html_desc","_i","_Object$entries","entries","_Object$entries$_i","FileOutlined","BookOutlined","CheckCircleOutlined","ClusterOutlined","FilePptOutlined","ReconciliationOutlined","dangerouslySetInnerHTML","__html","updated_sailing_detail","updated_routing_detail","contract_no","updated_total_rate_detail","getMessageDate","justifyContent","newStatus","getMessage","remark","total_count","unread_count","isLoadingRemarkImage","refreshUserNotificationBySignalR","msgData","availableEventCodes","accessRight","event_code","_callee8","_i2","_Object$entries2","_Object$entries2$_i","_context8","guid","wordBreak","cursor","close","forceUpdate","setAvailableEventCodes","_callee9","_context9","getUserProfileAvailableEventCodes","profile_id","subscribeUserNotification","_this$state4","stopSignalR","_this$state5","val","createBrowserHistory","refreshSailingFunc","refreshSailingFuncParam","refreshHBLSailingFunc","refreshHBLSailingFuncParam","refreshCargosphereAccessTokenStateFunc","renewtokenUrl","getCargosphereAccessTokenUrl","upsertPreferenceURL","upsertPreferenceWithTypeURL","getPreferenceListURL","deletePreferenceURL","removeItem","common","domain","setAllLocalStorage","setToken","setDefaultLang","default_lang","setDefaultPageSize","default_page_size","setTableLayoutSettings","table_layout_settings","setUserProfiles","setUac","setUserStatus","userStatus","setSysNoticeList","sysNoticeList","setSysAlertList","sysAlertList","setUserPreferences","user_preferences","setForceChangePassword","force_change_password","username","prompNoticeMsg","changeUser","needRenewToken","needRenewPreferences","decode","exp","idToken","setCargosphereAccessToken","getCargosphereAccessToken","getDefaultLang","getSysAlertList","getSysNoticeList","getDefaultPageSize","getTableLayoutSettings","getPartyAccess","party_type_id","party_accesses","all_party","getUserLevelId","user_level_id","getUserStatus","getUserPreferences","getUserFunctionAccess","menu_id","mf","refreshCargosphereAccessToken","connection_test","setRefreshCargosphereAccessTokenState","func","getRefreshCargosphereAccessTokenState","refreshCargosphereAccessTokenStateFuncParam","getPRSMappingTargetOffice","msgList","_loop","notice_body","currValue","nowUTC","subtract","utcOffset","remain","valid_to","diff","notice_type","notice_title","prompAlertMsg","_loop2","from","valid_from","warning","setRefreshSailing","param","getRefreshSailing","setRefreshHBLSailing","getRefreshHBLSailing","UpsertUserPreferences","preference_name","perference","preference_style","isFavourite","_args2","preference","getUserPreferenceList","UpsertUserPreferencesWithType","preference_id","preference_type","_args4","DeleteUserPreferencesWithType","_x13","_x14","getCompsFilterSetting","setCompsFilterSetting","setting","baseURL","signalr","notificationReportApiUrl","refreshMsg","sendUserNotification","ncData","email_subject_param","email_body_param","visible_to","addNotification","getSettingAndConfig","upsertConfig","_ref10","_callee10","configs","_context10","_ref11","_callee11","page_size","page_number","read_filter","_context11","_x15","getSystemDefaultEvent","settings","is_default","getSystemDefaultConfig","follow_setting","in_app_note","email_note","email_address","is_follow","customized","overflowY","dt","asHours","mins","asMinutes","days","asDays","secs","asSeconds","_ref12","_callee12","_context12","WrappedComponent","trackPage","user_id","sub","dataLayer","event","user_id_event","HOC","currentPage","_defs","_g","_extends","source","prototype","hasOwnProperty","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgMrSpedagLogo","svgRef","titleId","xmlns","viewBox","points","ForwardRef","_Affix","_Alert","_AutoComplete","_Badge","_Breadcrumb","_Button","_Card","_Cascader","_Checkbox","_Col","_Collapse","CollapseEnhanced","onKeyUp","activeKey","defaultActiveKey","ctrlKey","altKey","filteredChildren","child","_child$type","displayName","_filteredChildren$fin","shortCutKeyIndex","newActiveKey","_this$props2","enableshortcutkey","prevActiveKey","prevenableshortcutkey","_this$props3","other","Panel","PanelEnhanced","DatePickerWrapper","_DatePicker2","defaultValue","defaultPickerValue","_DatePicker","_Divider","_Drawer","_Dropdown","_Empty","_Form","_Input","_InputNumber","_Layout","_List","_Menu","_message","_Modal","_notification","_Popconfirm","_Popover","_Progress","_Radio","_Result","_Row","_Select","getInSelectionOptionsUrl","SelectEnhance","_React$PureComponent","fetchOptions","fetchOptionCallBack","fetchOptionKey","skipDataAccessCheck","params","fetching","processdReload","handleOnBlur","handleOnSearch","debounce","prevValue","prevFetchOptionKey","reloadSelectList","preOptions","_this$props4","filterOption","notFoundContent","_Spin","_Skeleton","_Slider","SliderEnhance","remainder","marks","originTrackFlex","greenTrackFlex","_Statistic","_Steps","_Switch","beforeValueStyle","textDecoration","afterValueWarningStyle","afterValueErrorStyle","DragableBodyRow","dragRowStartCallBack","draggable","onDragStart","ResizeableTitle","onResize","restProps","allowClick","setAllowClick","Resizable","onResizeStart","onResizeStop","resizeColCallback","components","header","cell","row","handleResize","nextColumns","onDragEnd","fromIndex","toIndex","rowSelection","splice","_checkError","checkError","col","customFunction","rowIndex","errors","dataIndex","Func","Popover","ErrorTitle","ErrorFieldSourceName","ErrorFieldTargetName","_checkAmended","checkAmended","changes","every","afterValue","beforeValues","beforeValue","afterValues","WarningTitle","prev_columns","deepEqual","dragColEndCallback","_excluded2","getColumns","customRender","errorResult","amendedResult","onHeaderCell","column","ReactDragListView","DragColumn","nodeSelector","handleSelector","ignoreSelector","_Tabs","TabsEnhanced","TabPane","TabPaneEnhanced","_Tag","_Timeline","TimePickerWrapper","_TimePicker","_Upload","_Image","_Pagination","timeout","hasBLRenewToken","popupAlertTimeUTC","AuthComponent","AuthWrapped","toLoginPage","userPreferences","_history$location2","utc","resetTimerFunc","getResetTimer","renewToken","en","_en","btnLogin","btnChangeUser","msgLoginTimeout","msgProfileNotFound","msgLoginFail","msgLockAccount","msgUserNotActivate","msgChangeUserFail","msgChangeUserNoAccess","lbRegister","msgHaveSISAccount","lbRegisterWithSIS","lbRegisterWithoutSIS","lbForgotPW","lbResetPW","lbTermsOfUse","lbTermsOfUseContent","lbSignUp","privacyPolicy","privacyPolicy1","privacyPolicy2","personalData","personalDataContent","useOfPersonalData","useOfPersonalDataContent","deletionOfPersonalData","deletionOfPersonalDataContent","contract","contractContent","passongOfPersonalData","passongOfPersonalDataContent","cookies","cookiesContent","webAnalysisTools","webAnalysisToolsContent","lbMR","lblConfirm","lblCancel","lblOK","lblBack","lblEdit","lblOMSPO","lblNext","lblSubmit","lblSearch","lblApply","lblCreate","lblYes","lblNo","lbAcceptRejectAllText","msgConfirmAcceptRejectAll","lbShowLatestEBookingText","lbRejectAll","lbAcceptAll","lblContinueSave","lblResetAndSave","lblUserType","lblLocation","lblLocationToolTip","lblReferred","lblReferredToolTip","lblReferredOffice","lblReferredOfficeToolTip","lbUserID","lbLoinID","lbLoinIDToolTip","msgLoinIDRequired","lbPassword","msgPasswordRequired","msgStrongPWRequired","msgPwNotMatch","msgInvalidPassword","msgInvalidCurrentPassword","msgRepeatPassword","msgForceChangePassword","msgActivateACSuccessfullly","lbConfirmPassword","msgConfirmPasswordRequired","msgPasswordInconsistent","lbFamilyName","msgFamilyNameRequired","lbGivenName","msgGiveNameRequired","lbAddress","msgAddressRequired","lbZipPostal","lbCountryCode","lbFDCountryCode","lbEmail","msgEmailRequired","msgEmailInvalid","lbPhoneNumber","msgPhoneNumberRequired","msgCompanyRequired","lbFax","msgFaxRequired","lbCompany","lbPosition","lbDepartment","lbSalesCode","lbLanguage","msgLanguageRequired","lbProfile","msgProfileRequired","lbUserLevel","lbRole","msgRoleRequired","lbPartyAccessType","msgPartyAccessTypeRequired","msgPartyGroupRequired","lbTradelane","lbAccessibleSalesCode","lbAccessibleSalesCode_Tooltips","msgLoginIdDuplicate","msgEnterSISID","msgSISIDVerified","lbSISLoginID","msgInvalidSISLoginID","msgCannotMapUserProfiles","msgLoginIDAleadyRegistered","msgSISLoginIDRequire","lbPageSize","btnSave","btnRemindMeLater","msgUpdatePassword","msgPasswordExpireInDays","msgPasswordExpireSoon","msgPasswordExpired","btnCancel","btnOk","btnApply","btnReset","btnDelete","btnClose","lbContainerSize","msgContainerSizeRequired","msgContainerQtyRequired","lbQty","lbCargoReadyDate","lbDepartureDate","lbArrivalDate","lbTransshipmentPort","lbDepartureFrom","lbPOL","msgPOLRequired","msgPOLHBLRequired","lbETD","msgETDRequired","msgETDInvalid","lbPOD","msgPODRequired","msgPODHBLRequired","lbETA","msgETARequired","msgETAInvalid","lbMotherVesselVoyage","lbFeederVesselVoyage","msgPortRequired","lbCarrier","lbCopyFromSailingOption","lbCopyFromSailingOptionTooltip","lbIsTBCSailing","lbType","msgCarrierRequired","lbColoader","msgColoaderRequired","lbPLD","msgPLDRequired","msgPLDHBLRequired","msgShipModeRequired","lbFD","msgFDRequired","msgFDHBLRequired","msgFDCountryRequired","msgInvalidCountryCode","lbMainOffice","msgUpdatePOLFromSailing","msgUpdatePODFromSailing","lbLegETD","lbLegVessel","lbLegVoyage","lbLegServiceName","lbLegServiceCode","lbLegPort","lbCFS","lbCY","lbCyClosingDate","lbVGM","lbVgmCutOffDate","lbSI","lbSiCutOffDate","lbRoutes","lbRoute","lbServiceName","lbServiceCode","lbMotherServiceName","lbMotherServiceCode","msgServiceCodeRequired","lbVessel","lbVesselName","lbVesselIMONumber","msgVesselNameRequired1","msgVesselNameRequired2","lbVoyage","lbVoyageCode","msgVoyageCodeRequired1","msgVoyageCodeRequired2","lbVesselImoNumber","lbVesselOperator","lbTransshipmentCode","lbUserProfile","lbUserPassword","lbNewPassword","lbCurrentPassword","lbConfirmNewPassword","lbContractType","lbContractNo","lbCarrierBookingNo","lbCarrierBookingDate","lbCarrierConfirmBookingDate","lbSOReference","lbSOReferenceTooltip","lbSORefNil","lbSORefNilTooltip","msgUpdatePwSuccessfully","msgUpdatePwFail","_so","msgMainHouseDocIcon","msgPayableAtCountryCity","lbPayableAtCountryCity","msgCannotRemoveJob","lbMainHouseDoc","lbAMSSCAC","lbAMSHBLNo","lbManualSailing","lbTBCSailing","lblHeader","lblDetails","lblISF","lblFiling","lblDocumentUpload","lblDocumentUploadHistory","lbVGMEDIHistory","lblSI","lblConfirmBooking","lblCarrierBooking","lblShippingOrder","lblShipper","lblShipperToolTip","lblShipperCityToolTip","lblShipperRegionCountryCode","lblShipperPlaceHolder","msgShipperRequired","msgShipperAddressRequired","msgShipperCityRequired","msgPhoneRequired","lbConsigneeNo","lbIORNo","lblCustomer","lblCustomerTooltip","lblCustomerPlaceHolder","msgCustomerRequired","lblConsignee","lblConsigneeToolTip","lblConsigneePlaceHolder","msgConsigneeRequired","msgConsigneeAddressRequired","msgConsigneeCityRequired","lblMOT","msgMOTRequired","lblMOTSea","lblMOTAir","lblMOTRail","lblService","msgServiceRequired","lblServiceFCL","lblServiceLCL","lblServiceBulk","lblPODDelivery","msgPODDeliveryRequired","lblPODDeliveryP2p","lblPODDeliveryP2d","lblPODDeliveryD2p","lblPODDeliveryD2d","lblShipperReference","lblShipperReferenceTooltip","lblShipperReferencePlaceHolder","lblAgentReference","lblAgentReferenceTooltip","lblAgentReferencePlaceHolder","lblConsigneeReference","lblConsigneeReferenceTooltip","lblConsigneeReferencePlaceHolder","lblMRReference","lblMRReferenceTooltip","lblMRReferencePlaceHolder","lblBusinessType","msgBusinessTypeRequired","lblBusinessTypeNomination","lblBusinessTypeFreehand","lblNominationAgent","msgNominationAgentRequired","lblAgentPlaceHolder","lblReleaseAgent","msgReleaseAgentRequired","lblSalesman","msgSalesmanRequired","lbSOPInstruction","lbSOPInstructionContainerTitle","lbSOPInstructionContainerContent","lbSOPInstructionRoutingTitle","lbSOPInstructionRoutingContent","msgFillInRequiredFields","errSONotFound","msgIncorrectCnsIORFormat","msgRateExternalContractTypeRequired","lblItemNo","lblRemark","lblItemQty","lblItemQtyUnit","lblPackageQty","lblPackageQtyUnit","lblGrossWeight","lblNetWeight","lblCBM","lblDocumentType","lblFile","lblFileSource","lblDragOrUpload","lblTiming","lblSubmitBooking","msgISFMustComplete","lblSeller","lblManufacturer","lblBuyer","lblShipTo","lblContainerStuffingLocation","lblConsolidator","lblISFCompanyName","msgSellerNameRequired","lblSellerPlaceHolder","msgManufacturerNameRequired","lblManufacturerNamePlaceHolder","msgBuyerNameRequired","lblBuyerPlaceHolder","msgShipToNameRequired","lblShipToPlaceHolder","msgContainerStuffingLocationNameRequired","lblContainerStuffingLocationPlaceHolder","msglblConsolidatorNameRequired","lbllblConsolidatorPlaceHolder","lblAddress1","msgAddress1Required","lblAddress1PlaceHolder","lblAddress2","msgAddress2Required","lblAddress2PlaceHolder","lbCityStateZip","lbCityStateZipTooltip","lblCity","lblState","lblZip","lbEORINoTooltip","msgCityRequired","msgStateRequired","msgIncorrectStateFormat","msgZipRequired","msgIncorrectZipFormat","lblCityPlaceHolder","lblStatePlaceHolder","lblZipPlaceHolder","lblCountry","msgCountryRequired","lblCountryPlaceHolder","lblCountryOfOrigin","msgCountryOfOriginRequired","lblCountryOfOriginPlaceHolder","lblHTSCode","msgHTSCodeRequired","lblHTSCodePlaceHolder","lblAddISFCompany","lblRemoveISFCompany","lbModeOfTransportation","lbBookingPOL","lbBookingPOD","lbBookingFD","lbBookingDate","lbExpectedCargoReadyDate","lbPODETA","lbFilingType","lbFilingTypeTooltip","colSoNo","colPoNo","colModeOfTransport","colBookingType","colDocumentUploaded","colHblNo","colJobNo","colHandleBy","colShipper","colShipperMaster","colConsignee","colConsigneeMaster","colConsigneeCode","colReleaseAgent","colNominationAgent","colBookingDate","colExFactoryDate","colEarliestShipDate","colLatestShipDate","colPortOfDischargeETA","colBookingStatus","colBookingStatusDate","colStatusHistoryDate","colBookingApprovalStatus","colBookingApprovalStatusDate","colCargoReadyDate","colContainerNo","colContainerSize","colContainerKgs","colContainerCBM","colPOLineNo","colTransportModeCode","colFD","colFDCountry","colFDETA","colEmptyPickupDate","colCFSReceivedDate","colGateInPOLDate","colLoadedPOLDate","colDepartedPOLDate","colDischargedPODDate","colGateOutPODDate","colArrivedPODDate","colEmptyReturnedDate","colUpdatedETAPODDate","colUpdatedETAFDDate","colShipToName","colDepartment","colBuyerReference","colSupplierReference","colOtherReference","colBuyerContactEmail","colFeederVessel","colFeederVoyage","colItemNo","colStyleDescription","colItemQty","colOrderQty","colBalanceQty","colGW","colNAgentCode","colNotifyParty","colNotifyPartyMaster","colNotifyPartyCode","colHandlingOffice","colHandlingOfficeCode","colPld","colRAgentCode","colShipperCode","colSalesmanCode","colConsolidatable","colConsolNo","colCBM","colCartonDimemsion","colKG","colPackageQty","colDangerousGoods","colPol","colEtd","colPod","colPodEta","colCustomer","colTradelane","colBookingCreatedBy","colBookingUpdatedBy","colBookingLastUpdatedTime","colBookingApprovalReason","colBookingApprovalRemarks","colBookingApprovalUpdatedBy","colProposedSailingOption","colMotherVesselName","colMotherVoyageCode","colShipperReference","colConsigneeReference","colAgentReference","colMRReference","colLatestStatus","colStatusHistory","colCarrier","colCarrierService","colBookingApprovalUpdatedByProfile","colSpaceStatus","colSailingDetails","colSailingOptionNo","colVessel","colVoyage","colContractType","colContractNo","colCarrierBookingStatus","colStatusDate","colBookingCondition","colUpdatedDatetime","colUpdatedBy","miReactivateBooking","msgSureToReactivateBooking","miAcknowledgeCancelBooking","msgSureToAcknowledgeCancelBooking","miRejectCancelBooking","msgSureToRejectCancelBooking","miCancelBooking","msgSureToCancelBooking","miCancelSI","msgSureToCancelSI","msgRemoveJobBeforeReverseSI","lblBookingApproval","lbHouseDoc","msgSOAdviceError","colRemarks","colRemarkType","colVisibleTo","colApprovalStatus","lbApprovalStatus","lbApprovalStatusTooltip","lbNewRemarks","lbVisibleTo","lbReasons","cbSendEmailNotifyTo","msgAddBookingApprovalSuccess","msgAddBookingApprovalFail","lbSONo","lbHBLNo","lbTrader","lbNotifyParty","lbNotifyPartyToolTip","lbSameAsConsignee","lbSameAsConsigneeToolTip","msgToOrderWarning","lbHandlingOffice","msgHandlingOfficeRequired","lbContact","lbContactPhone","lbPOR","lbPOLEtd","lbPLDEta","lbShipMode","lbShipModeTooltip","lbFDEta","lbPOAllowableETDrange","lbSpaceStatus","msgSpaceStatusRequired","msgSpaceStatusSORelease","msgSelectCarrierBookingRequired","msgSelectNonTBCSailing","msgSelectCarrierBooking","msgCarrierSOReleaseDateRequired","msgRejectReasonRequired","msgCancelReasonRequired","msgContractTypeRequired","lbSelectedSailingOption","msgSailingOptionRequired","lbSelectedRecord","msgInvalidEmail","msgEmptyRemark","msgFillRequire","msgEmptyRemarkType","msgUserContactEmailSuccess","msgUserContactEmailFail","lbWarehouse","lbWarehouseSONo","msgWarningEditBookingApproval","msgWarningEditHouseDoc","msgDeleteISFProfileSuccess","msgDeleteISFProfileFail","msgFillInRequiredTabFields","msgConfirmAcceptChangeMsg","colDefaultAgentCode","colDefaultAgentName","colDefaultAgentIsAutoFill","colDefaultAgentDescription","lblDefaultAgentConsigneeCode","lblDefaultAgentCustomer","lblDefaultNominationAgentCode","lblDefaultReleaseAgentCode","polCfsClosingRequired","polCyClosingRequired","polVgmClosingRequired","polSiClosingRequired","msgSendEmailPopup","msgSendCancelEmailPopup","lbConfirmSendEmail","lbConfirmNotSendEmail","lbConfirmSendCancelEmail","lbConfirmNotSendCancelEmail","lblSOStatus","pnlStatusHistory","colSOStatus","colSOStatusAction","colSOStatusRemark","colSOStatusUser","colSOStatusUpdatedTime","msgIncorrectExFactoryDate","msgMissingExFactoryDate","msgMissingSealNO","msgMissingCarrierSONO","msgMissingPackageQTY","msgExceedsGW","msgExceedsCBM","msgPOAlloExceedsQty","msgResendEmailSuccess","lbCopyToMenufacturer","lbCopyToContainerStuffingLocation","lbCopyToShipTo","lbCopyFromConsignee","lbCopyToConsolidator","lbShowFullHDOffice","msgLCLContainerAmountNotPass","msgETDLaterThanCargoReadyDate","msgCYGateInDateEarlierThanPOL","msgCFSRecvDateEarlierThanPOL","msgCYGateInDateEarlierThanCFSRecvDate","msgETDMoreThan14Days","msgContactPersonRequired","msgContactEmailRequired","msgNotifyPartyRequired","msgNotifyPartyAddressRequired","msgNotifyPartyCityRequired","msgPORRequired","msgPORHBLRequired","msgTotalPkgQtyRequired","msgPkgUnitRequired","msgTotalCBMRequired","msgTotalKGRequired","msgMarksAndNoRequired","msgGoodsDescRequired","msgCommodityRequired","msgDangerousGoodsRequired","msgUNNoRequired","msgOtherCommodityRequired","msgCargoReadyDateRequired","msgIncotermsRequired","msgIncotermsLocaionRequired","msgIncotermsLocaionNotAlign","msgFreightRequired","msgPrepaidUptoRequired","lbNoOfOriginal","lbTransportDoc","lbTransportDocTooltip","msgTransDocRequired","msgNoOfOriginalRequired","msgHBLOfficeRequired","lblConsolidatable","msgConsolidatableRequired","lblConsolidatableTooltip","lbAllowSwitchHouseDoc","msgNotAllowLCLContainer","msgBookingActionSuccess","msgHBLDrafted","msgHBLPrinted","msgSendEmailSuccess","autoUpdateTooltip","msgTransDocNoOfOriginalNotMatch","autoUpdatePLDFDTooltip","lbToOrder","lbToOrderToolTip","msgMissingTypeOfEntry","msgSelectSailingSchedule","msgSelectRate","msgMissingLCLContainer","msgMissingField","msgPLDETARequired","msgInvalidPLDETA","msgInvalidRateContainerHeader","msgInvalidRateContainerContent","msgInvalidRateContainerContent2","msgInvalidRate","msgMissingRateContainerSelect","msgFDETARequired","msgInvalidFDETA","msgMobileSiteNotFound","msgInvalidUser","msgAddTokenFail","viewShipmentStatus","viewSailingScheduleDetails","msgSONotExistsInMobile","newEBookgingRed","newEBookgingYellow","newEBookgingGreen","amendEBookgingRed","amendEBookgingYellow","amendEBookgingGreen","cancelEBookgingRed","cancelEBookgingYellow","cancelEBookgingGreen","newManualBookgingRed","newManualBookgingYellow","newManualBookgingGreen","confirmBookingRed","confirmBookingYellow","confirmBookingGreen","pendingSIRed","pendingSIYellow","pendingSIGreen","requestForApprovalRed","requestForApprovalYellow","requestForApprovalGreen","pendingForCustomerApprovalRed","pendingForCustomerApprovalYellow","pendingForCustomerApprovalGreen","bookingRejectedRed","bookingRejectedYellow","bookingApprovedGreen","newConsolidationRed","newConsolidationYellow","newConsolidationGreen","amendConsolidationRed","amendConsolidationYellow","amendConsolidationGreen","cancelConsolidationRed","cancelConsolidationYellow","cancelConsolidationGreen","newManualConsolidationRed","newManualConsolidationYellow","newManualConsolidationGreen","confirmConsolidationRed","confirmConsolidationYellow","confirmConsolidationGreen","consolidationRejectedRed","consolidationRejectedYellow","amendedBookingPendingRed","amendedBookingPendingYellow","amendedBookingPendingGreen","loadPlanPendingAllocationRed","loadPlanPendingAllocationYellow","loadPlanPendingAllocationGreen","consolidationApprovedGreen","lblWarehouseCode","msgWarehouseRequired","lblFullName","lblOffice","lblAddress1En","lblAddress2En","lblAddress3En","lblAddress4En","lblFullNameLocal","lblAddress1Local","lblAddress2Local","lblAddress3Local","lblAddress4Local","lblTel","lblContactPerson","lblContactEmail","lblAttachment","lblStatus","msgFullNameRequired","msgDuplicate","lbNoticeType","lbNoticeTitle","lbNoticeBody","lbMod","lbValidDate","lbRemarks","lbCreatedBy","lbCreatedDate","lbUpdatedBy","lbUpdatedDate","msgUpdatedSysNoticeSuccessfully","msgUpdateSysNoticeFail","msgConfirmDelete","lbDelete","lbCopy","colModule","colNotificationName","colDescription","colCreationParty","colSubject","colParameter","colSendTo","colModuleId","colRecurrence","colStartDate","colEndTime","colCc","lbNotification","lbModule","msgModuleRequired","msgNameRequired","msgSendAtRequired","msgRecurrenceRequired","msgTimeRangeRequired","msgSubjectRequired","lbNotificationName","lbDescription","lbNotificationSetting","lbOwnershipSetting","lbParameter","lbDistributionSetting","lbNotificationSubject","lbTo","msgToRequired","lbCc","lbBcc","lbStartDate","msgStartDateRequired","lbEndDate","lbRecurrence","lbRecurrenceToolTip","DaysOfWeek","lbSendTime","lbCustimizedSetting","lbRemarkType","lbTimeRange","lbIncludeRates","msgDeleteSuccess","msgGetError","msgRecvTypeRequired","msgPartyTypeRequired","msgPartyIDRequired","lbRoutingTemplateName","msgRoutingTemplateNameRequired","lbCustomer","lbConsignee","lbEffectiveFrom","lbEffectiveTo","lbCanBeOverWritten","msgPODPLDFDRequire","msgUpdateRoutingTemplateSuccess","msgCreateRoutingTemplateSuccess","lbRoutingTemplateNameTip","lbCustomerTip","autoUpdatePLDTooltip","autoUpdateFDTooltip","lbPLDETAValidation","lbFDETAValidation","msgEffectiveFromRequired","lbEffectiveFromTip","lbEffectiveToTip","lbCanBeOverWrittenTip","lbTitle","lbAPRef","lbWay1","lbWay2","lbFile_Tooltip","lbInvoiceSubtype","lbTaxRate","lbDocTypeContent_SupportingDoc","lbDocTypeContent_IncomingInvoice","lbDocTypeContent_Statement","lbDocTypeContent_FpFzInvoice","lbDocument","lbRemark","lbDocTypeDesc_FpFzInvoice","lbSearchPlaceHolder","msgSureToChangeState","lbPrintingFormat","lbSea","lbAir","CONFIRMATION_DOCUMENT","REAL_DOCUMENT","lbTitle_BlankInv","lbTitle_ReferenceInv","lbPasteSearchCurrentJob","lbRefInvoice_Tooltips","lbRefInvoice","lbErrorMessageTitle","lbAutoMerge","lbNextNumber","lbDocType999","lbDocType9","lbDoc_Type999_PrintParams1_Label","lbDoc_Type9_PrintParams1_Label","lbJob_Tooltip","lbNoPermission","lbPleaseSelect","lbPleaseInput","lbOutOfRangeErr","lbJobNoNotFound","lbMissingExchangeRate","lbJobDataNotExist","lbAccountCodeNotFound","lbMissingAPReference","lbMissingAPReference2","lbMissingJobNo","lbMissingHBLNoInJob","lbUnexpectedJob","lbMissingIssueForm","lbMissingSO","lbMissingCurrency","lbCannotUseTempCode","lbDNResultInDR","lbCNResultInCR","lbMissPLRecord","lbMissGCRecord","lbMissCRRecord","lbMissingGovInvoiceNo","lbMissingInvoiceDate","lbMissingHeader","lbMissingPLDetails","lbMissingGCDetails","lbMissingCRDetails","lbCheckPLDetails","lbCheckGCDetails","lbCheckCRDetails","lbMissingDocUpload","lbARChargeCodeError","lbAPChargeCodeError","lbMixedJob_SeaAir","lbMixedJob_HdOff","lbMixedJob_JobPeriod","lbMixedJob_JobType","lbWaitForContainerDetailsLoad","lbLogisticJobNoPL","lbMismatchGCItem","lbMismatchPLItem","lbMismatchCRItem","lbJobNoEditLock","lbJobRelatedSO","lbJobRelatedPLHBL","lbJobRelatedPLHBL_reverse","lbPostChectError","lbMissingJobData","lbNotInSelectionList","lbAdoptTmplib_GC","lbAdoptTmplib_GC_Nothing","lbUndoTmplib_GC","lbAdoptTmplib_CR","lbAdoptTmplib_CR_Nothing","lbUndoTmplib_CR","lbStatusUpdateTimeLag","lbStatusUpdateAccountLock","lbAccountCodeNotForPost","lbSaveSuccess","lbSaveError","lbStatusSuccess","lbSOPMS_ChargeCodeNotFound","lbSOPMS_MinChargeConflict","lbSOPMS_MaxChargeConflict","ActionItem_RedoGCChargeCode","lbExportExcelOver","lbSameCurrencyExchangeRate1","lbLastestFilterSettingAdopt","lbPrintingInfoLoading","lbPrintingInfoLoadFailure","lbPLRTChanged","lbGCCRRTChanged","lbInvoiceTotalAmountErr","lbCheckCurrentGroupError","lbMixSubtypeError","lbExchangeRateUpdated","lbPrintDescriptionErr","lbMissingTaxCode","lbMissingInvoiceSubType","lbFutureJobPeriod","lbQuickPreviewSwitchTab","lbQuickPreviewClosePanel","lbCRSummaryMixAccountCode","lbPrintMixAccountCode","lbPrintMixARAP","lbNoInvoiceAccountingPrint","lbNoSign","lbSelectAccountCode","lbLoading","lbServerValidation","lbSaving","lbServerValidation1","lbServerValidation2","lbCheckAccountLock","lbPrinting","lbSignPrinting","lbSearchAR","lbCreateAR","lbViewAR","lbAmendAR","lbSearchAP","lbCreateAP","lbViewAP","lbAmendAP","lbAGENT","lbCNS","lbSHIPPER","lbCARRIER","lbSUPPLIER","lbInvoice","lbPreviewInvoice","lbPrintOption","lbPreviewPLSheet","lbPrint703XDNCN","lbPrintReverseInvoice","lbPrint7028IDNICN","lbPrintDNCN","lbPrintIDNICN","lbDebitNote","lbCreditNote","lbConfirmDoc","lbInvoiceAttachment","lbPrintInvoice","lbTaxInvoice","lbPreviewTaxInvoice","lbReceipt","lbPreviewReceipt","lbMore","lbCopyInvoice","lbAutoInvoice","lbInvoiceTnx2","lbStatusControlPanel","lbUpdateFromWebInvoiceCore","lbUpdateFromOPS","lbHeader","lbOffice","lbPreviewExcel","lbInvoiceIssuingOffice","lbAccountCode","lbARType","lbAPType","lbJob","lbIssueTo","lbIssueFrom","lbOverseas","lbSo","lbNominationAgent","lbReleaseAgent","lbShipper","lbModeofTransport","lbJobType","lbService","lbInvoiceCurrency","lbExchangeRate","lbDocUpload","lbDocType","lbFile","lbTimingAsPerRequirement","lbPL","lbGeneralCharge","lbChequeRequest","lbStatus","lbLatestStatus","lbGP","lbAccountPeriod","lbAccountLock","lbLocked","lbPreviewClose","lbPreview","lbRunClosing","lbClosedPeriod","lbRunClosingBy","lbRunClosingDate","lbRunClosingExcel","lbDownload","lbNewRowHotkey","lbSendTaxInvoiceTo","lbSendTaxInvoiceTo_Tooltip","lbRemarkOption","lbRemarkOption_Tooltip","lbRemarkOption1","lbRemarkOption1_Remark","lbRemarkOption2","lbRemarkOption2_Remark","lbRemarkOption3","lbRemarkOption3_Remark","lbRemarkOption4","lbRemarkOption4_Remark","lbGovernmentInvoiceNo","lbInvoiceDate","lbTaxInvoicePrintDate","lbInterTranscation","lbPaymentRef","lbPaymentRef_placeholder","lbPaymentRef_infoTooltip","lbLocalName","lbENName","lbTaxID","lbCompanyPhone","lbVATAddress","lbVATAddressEN","lbLocalMainAddress","lbENMainAddress","lbBankDetails","lbSunAccountCode","lbSunAccountCode4","lbSunAccountCode6","lbNotAssigned","lbUpdateExchangeRate","lbInterAccountTransaction","lbSetDefaultExchangeRateTooltip","lbReference","lbReferenceTooltip","lbSEQRelease","lbSEQVoid","lbSEQReassign","lbSEQTransfer","lbCRSummaryHistory","lbSnapshotStatus_no_history","lbSnapshotStatus_data_processing","lbSnapshotStatus_generate_excel","lbSnapshotStatus_completed","lbSnapshotStatus_generate_excel_old_download_file","lbOptimizeOptions_refresh","lbOptimizeOptions_bestOptimize","lbContainerLv","lbHBLLv","lbHBL","lbHAWB","lbChargeDesc","lbPrintDesc","lbPLAgentPerc","lbPLTotal","lbPLAgent","lbPLMR","lbAgentCollect","lbMRPrepaid","lbBuyCost","lbSellingIncome","lbTotal","lbAmountDR","lbAmountCR","lbLedgerAmountDR","lbLedgerAmountCR","lbCBM","lbUOM","lbCW","lbTotal_Sym","lbTotalInvAmt","lbTotalInvTaxAmount","lbTotalInvAmtTax","lbGeneralChargesDetails","lbLine","lbRefSB","lbDRCR","lbCurrency","lbUnitPrice","lbTotalGeneralChargesExclusive","lbTotalGeneralChargesTaxAmount","lbTotalGeneralChargesInclusive","lbJobNo","lbHbl","lbContainer","lbTaxCode","lbTaxAmount","lbLedgerTaxAmount","lbAmount","lbLedgerAmount","lbAll","lbTaxExclusive","lbTaxInclusive","lbInterTran","lbPrintDescriptionTooltip","lbCurrencyTooltip","lbUnitPriceTooltip","lbUnitPriceExchangedTooltip","lbAmountDebitTooltip","lbAmountCreditTooltip","lbTaxCodeTooltip","lbTaxRateTooltip","lbUnitPriceTaxTooltip","lbAmountDebitTaxTooltip","lbAmountCreditTaxTooltip","lbAmountTaxTooltip","lbInterAccountTransactionTooltip","lbChargeDesc_View","lbViewModeTooltip","lbViewMode","lbAlt_T","lbAlt_QW","lbPrediction_Info","lbPrediction_All","lbPrediction_HighRate","lbPrediction_Remove","lbCRDetails","lbCRChargeSummary","lbCRDetailsItem","lbAvailableDate","lbFreeToCombine","lbFreeToCombineTooltips","lbPaymentMarker","lbForeignCurrency","lbChargeCode","lblRemarks","lbUnitPriceBaseCurrency","lbUnitPriceForeignCurrency","lbQuantity","lbAmtBaseCurrency","lbAmtForeignCurrency","lbChequeCurrency","lbTaxAmountBaseCurrency","lbTaxAmountForeignCurrency","lbLedgerTotalAmountBaseCurrency","lbLedgerAmountTaxBaseCurrency","lbTotalAmount","lbAmountTax","lbVatPeriod","lbFormatTypeNo","lbCompanyID","lbTaxCreditNo","lbLocalInvoiceNo","lbDN","lbCN","lbIDN","lbICN","lbCR","lbP","lbZ","lbEP","lbEZ","lbFP","lbFZ","lbTY","lbR","lbTRANSFER","lbCHEQUE","lbTY31","lbTY32","lbDSDF","lbSTAMP","lbNSD","lbWCT","lbNCT","lbAction","lbStatusRemarks","lbInvoicceToFrom","lbInvAmtInvCurrency","lbInvAmtBaseCurrency","lbIncomeBaseCurrency","lbCostBaseCurrency","lbSettledAmount","lbGP_Title","lbGP_SO","lbStatusHistory","lbARAP","lbUser","lbDateTime","NewInvoiceBtn","ApprovedInvoiceBtn","ClosedInvoiceBtn","ClosedReversedInvoiceBtn","DeletedInvoiceBtn","PostedInvoiceBtn","PostReversedInvoiceBtn","PreparedInvoiceBtn","PrintedInvoiceBtn","RejectedInvoiceBtn","ReleasedInvoiceBtn","ReversedInvoiceBtn","ExportedInvoiceBtn","ImportedInvoiceBtn","PendingExportAutoBtn","SupvApprovedInvoiceBtn","SupvRejectedInvoiceBtn","MgrApprovedInvoiceBtn","MgrRejectedInvoiceBtn","NewReversalGroupBtn","ExportReversalGroupBtn","ImportReversalGroupBtn","PostReversalGroupBtn","ExportedAutoBtn","AccountingPrintedInvoiceBtn","lbInvoiceBtn","lbReSignInvoiceBtn","lbSignedInvoiceBtn","lbPLSheetBtn","lbExportFileBtn","lbTaxInvoiceBtn","lbReceiptBtn","lbGPAmount","lbGPAmountTooltip","lbGrouped","lbGroupedWithCount","lbGroupedAuto","lbInvoicceToFromLocal","lbRollbackExport","lbRollbackImport","lbRollbackAccountingPrinted","lbProcess_pending","lbProcess_empty","lbProcess_fail","lbProcess_success","lbShipperName","lbSO","lbSummaryTable","lbTotalIncome","lbTotalCost","lbGPPercent","JobOutstandingPending1","JobOutstandingPending2","JobOutstandingPending3","ARPendingCreation1","ARPendingCreation2","ARPendingCreation3","ARNewInvoice1","ARNewInvoice2","ARNewInvoice3","ARPreparedInvoice1","ARPreparedInvoice2","ARPreparedInvoice3","ARReleasedInvoice1","ARPrintedInvoice1","ARPrintedInvoice2","ARPrintedInvoice3","ARNewReversedInvoice1","ARNewReversedInvoice2","ARNewReversedInvoice3","ARPostedInvoice1","ARPostedInvoice2","ARPostedInvoice3","ARReversedInvoice1","ARReversedInvoice2","ARReversedInvoice3","ARPostReversedInvoice1","ARPostReversedInvoice2","ARPostReversedInvoice3","ARPendingApproval1","ARPendingApproval2","ARPendingApproval3","ARPendingExport3","ARPendingImport3","ARPostedFailure3","ARPostedSuccess3","ARPostedPending3","APPendingCreation1","APPendingCreation2","APPendingCreation3","APNewInvoice1","APNewInvoice2","APNewInvoice3","UploadDocMissing1","UploadDocMissing2","UploadDocMissing3","APRefMissing1","APRefMissing2","APRefMissing3","APPreparedInvoice1","APPreparedInvoice2","APPreparedInvoice3","APSupvApprovedInvoice1","APSupvApprovedInvoice2","APSupvApprovedInvoice3","APReleasedInvoice1","APSupvRejectedInvoice1","APMgrRejectedInvoice1","APMgrApprovedInvoice1","APMgrApprovedInvoice2","APMgrApprovedInvoice3","APNewReversedInvoice1","APNewReversedInvoice2","APNewReversedInvoice3","APPostedInvoice1","APPostedInvoice2","APPostedInvoice3","APReversedInvoice1","APReversedInvoice2","APReversedInvoice3","APPostReversedInvoice1","APPostReversedInvoice2","APPostReversedInvoice3","tooltips998","tooltips999","APPostedFailure3","APPostedSuccess3","APPostedPending3","lbMenuItem_OPEN","lbMenuItem_REOPEN","lbMenuItem_LOCK","lbMenuItem_LOCKGP","lbMenuItem_UpdateAPRef","lbMenuItem_UploadDoc","lbMenuItem_CRSummary","lbMenuItem_UpdateSubTypeTaxRate","lbMenuItem_NoNextActivity","lbMenuItem_RePost","lbCreateNewAP","lbCreateNewAR","lbExportToExcel","lbColumnOption","lbQuickPreview","lbQuickPreviewTooltips","lbQuickPreviewHeader","lbQuickPreviewHeaderTooltips","lbQuickPreviewHeaderNewTabButton","lbForeignGP","lbJobPeriod","lbFutureJobMonth","lbJobCreatedBy","lbJobCreatedDate","lbSearchJobCreatedBy","lbSearchIssueParty","lbAPRefInputted","lbSearchAPRef","lbReversingInvoice","lbMBL","lbSearchConsignee","lbSearchReleaseAgent","lbSearchNominationAgent","lbJobService","lbCostCentre","lbModeOfTransport","lbSearchJobService","lbFlightNo","lbFeederETD","lbSearchCarrier","lbJobInvoicingStatus","lbInvUpdatedBy","lbSearchInvUpdatedBy","lbInvUpdatedDate","lbStatusUpdatedDate","lbInvOffice","lbCreatorOffice","lbInvoiceFullySettled","lbSettled","lbClosePeriod","lbSearchSalesCode","lbSunFile","lbExportExcelTooltips","lbSmartSearchTooltips","lbPaymentRefFlag","lbARInterTran","lbAPInterTran","lbGroupNo","lbExportFile","lbBatchPaymentARTooltips","lbClosed","lbJobMonth","lbContainersNo","lbHasUploadDoc","lbBatchPayment","lbProcessStatus","lbJournalNumber","lbSumbitXML","lbReturnXML","lbInv_coloader_bl","lbInv_mso_no","lbInv_so_ref","lbInv_shp_name","lbInv_job_min_eta","lbInv_o_ag_name","lbBatchTaxInvTitle","lbGroup","lbInvoiceSubType","lbTaxRateCode","lbNoOfSelectedInvoice","lbTotalAmountofSelectedInvoice","lbCurrenctGroup","lbCurrenctGroup_TaxInvoice","lbHistory","lbNoOfGroupedInvoice","lbTotalAmountofGroupedInvoice","lbGroupedDate","lbExportDate","lbExportBy","lbPrintedDate","lbPrintedBy","lbPrintedFile","lbCurrentGroupDescription","lbCurrentGroupDescription_TaxInvoice","lbIdx","lbInvoiceNo","lbImportId","lbImportIdTooltip","lbWebInvoiceGP","lbWebInvoiceGP1","lbWebInvoiceGP2","lbWebInvoiceGP3","lbWebInvoiceGP4","lbWebInvoiceSalesGP","lbApply","lbUndo","lbFavorite","lbEdit","lbView","lbCreateNewTemplate","lbRefresh","lbInfo","lbMyTemplate","lbMarket","lbCategory","lbTemplateName","lbDescriptionOfTemplate","lbOwner","lbLastUpdate","lbTemplateId","lbTagCould","lbTags","lbRecordUpdatedMsg","lbAdded","lbMenuItem_Delete","lbMenuItem_AddToMyTemplate","lbMenuItem_RemoveFormMyTemplate","lbPrivate","lbSharingInMarket","lbShareByOffice","lbAddedFromMarket","lbToMainOffice","lbGlobal","lbTooltips_Favorite","lbTooltips_Active","lbTooltips_Inactive","lbCreatedFromMyTemplate","lbAddedIntoMyTemplate","lbTooltips_MyTemplate","lbTooltips_Market","lbTitle_","lbTitle_Delete","lbTitle_AddToMyTemplate","lbTitle_RemoveFormMyTemplate","lbDelete_Text1","lbDelete_Text2","lbTmpLib","lbTmpName","lbTmpId","lbTmpCreatedBy","lbTmpDescription","lbReleaseNote","lbShareLink","lbShareOffice","lbPrivacy","lbPublic","lbByOffice","lbShareToOffice","lbLinkShare","lbEnabled","lbHashTag","lbColor","lbColorScheme1","lbColorScheme2","lbColorScheme3","lbColorScheme4","lbColorScheme5","lbTmpStatus","lbTooltips_PrivacySettings","lbTooltips_ShareLink","lbTooltips_ReleaseNote","lbTooltips_Hashtag","lbTooltips_DisplayColor","lbTooltips_SelectCounter","lbDuplicateName","lbUpdateFailure","lbFillInRequiredFields","lbCopyToClipboard","lbGetTemplateFailure","lbGetTempalteSuccess","WebInvoice","BMS","INV_7023","INV_7024","INV_7025","INV_7026","INV_7028","INV_7030","INV_703X","INV_7048","INV_GCSOPMS","INV_GCSOPMS_7048","INV_PRINT_OPT","BMS_MARKS_GOODS","INV_7023_step1","INV_7023_step2","INV_7024_step1","INV_7024_step2","INV_7025_step1","INV_7025_step2","INV_7026_step1","INV_7026_step2","INV_7028_step1","INV_7028_step2","INV_703X_step1","INV_703X_step2","INV_7030_step1","INV_7030_step2","INV_7048_step1","INV_7048_step2","INV_GCSOPMS_step1","INV_GCSOPMS_step2","INV_GCSOPMS_7048_step1","INV_GCSOPMS_7048_step2","INV_Setting","INV_GeneralCharge","INV_PLHBL","INV_ChequeRequest","INV_GCSOPMS_INPUT","INV_GCSOPMS_OUTPUT","INV_GCSOPMS_SETTING","INV_PrintOption","INV_GC_Reference","INV_CR_Reference","INV_GCSOPMS_OUT_BaseOn","INV_GCSOPMS_OUT_Override","INV_GCSOPMS_SETTING_ValidationGroup","INV_GC_Qty","INV_CR_Qty","INV_GC_MinTotalAmount","INV_GC_MaxTotalAmount","INV_CR_MinTotalAmount","INV_CR_MaxTotalAmount","INV_GC_PrintDescriptionSelect","BMS_Prefer_Using_At","INV_Setting_Office","INV_Setting_AccountCode","INV_Setting_InvoiceType","INV_GC_DrCr","INV_GC_Charge","INV_GC_Charge_7048","INV_GC_PrintDescription","INV_GC_Currency","INV_GC_UnitPrice","INV_GC_ExchangeRate","INV_GC_UOM","INV_GC_Remark","INV_GC_MinCharge","INV_GC_MinPrintDescription","INV_GC_MinPrintDescriptionSelect","INV_GC_MinUOM","INV_GC_MaxCharge","INV_GC_MaxPrintDescription","INV_GC_MaxPrintDescriptionSelect","INV_GC_MaxUOM","INV_PLC_HBL","INV_PLHBL_CW","INV_PLHBL_Charge","INV_PLHBL_PrintDescription","INV_PLHBL_Agent","INV_PLHBL_Agent_BuyCBM","INV_PLHBL_Agent_BuyQTY","INV_PLHBL_Agent_SellCBM","INV_PLHBL_Agent_SellQTY","INV_PLHBL_MR_BuyCBM","INV_PLHBL_MR_BuyQTY","INV_PLHBL_MR_SellCBM","INV_PLHBL_MR_SellQTY","INV_CR_Remark","INV_CR_Charge","INV_CR_PrintDescription","INV_CR_Description","INV_CR_Currency","INV_CR_UnitPrice","INV_CR_UOM","INV_CR_MinCharge","INV_CR_MinPrintDescription","INV_CR_MinUOM","INV_CR_MaxCharge","INV_CR_MaxPrintDescription","INV_CR_MaxUOM","INV_GCSOPMS_IN_AccountCode","INV_GCSOPMS_IN_InvoiceType","INV_GCSOPMS_IN_OverseasLocal","INV_GCSOPMS_IN_Office","INV_GCSOPMS_IN_Customer","INV_GCSOPMS_IN_IssueToFrom","INV_GCSOPMS_IN_NominationAgent","INV_GCSOPMS_IN_ReleaseAgent","INV_GCSOPMS_IN_Consignee","INV_GCSOPMS_IN_NotifyParty","INV_GCSOPMS_IN_MOT","INV_GCSOPMS_IN_Service","INV_GCSOPMS_IN_ETD_from","INV_GCSOPMS_IN_ETD_to","INV_GCSOPMS_IN_InvoiceDt_from","INV_GCSOPMS_IN_InvoiceDt_to","INV_GCSOPMS_OUT_DrCr","INV_GCSOPMS_OUT_Charge","INV_GCSOPMS_OUT_PrintDescription","INV_GCSOPMS_OUT_Currency","INV_GCSOPMS_OUT_UnitPrice","INV_GCSOPMS_OUT_Qty","INV_GCSOPMS_OUT_UOM","INV_GCSOPMS_OUT_Reference","INV_GCSOPMS_OUT_MinCharge","INV_GCSOPMS_OUT_MinPrintDescription","INV_GCSOPMS_OUT_MinUOM","INV_GCSOPMS_OUT_MinTotalAmount","INV_GCSOPMS_OUT_MaxCharge","INV_GCSOPMS_OUT_MaxPrintDescription","INV_GCSOPMS_OUT_MaxUOM","INV_GCSOPMS_OUT_MaxTotalAmount","INV_GC_UnitPriceTax","INV_PrintOption_Sea","INV_PrintOption_Air","BMS_Description","lb_1TO1","lb_PERJOB","lb_PERHBL","lb_PERCONTAINER","lb_PERCONTAINERSIZE","lb_PERCONTAINERSIZE_20","lb_PERCONTAINERSIZE_40","lb_PERCONTAINERSIZE_40HC","lb_PERCONTAINERSIZE_45","lb_PERCONTAINERSIZE_LCL","lb_PERCONTAINERSIZE_20HC","lb_PERCONTAINERSIZE_10","lb_PERCONTAINERSIZE_48","lb_PERCONTAINERSIZE_53","lb_GROUPBYHBL","lb_GROUPBYHBL_PERMBL","lb_GROUPBYCONTAINER","lb_GROUPBYCONTAINERSIZE_20","lb_GROUPBYCONTAINERSIZE_40","lb_GROUPBYCONTAINERSIZE_40HC","lb_GROUPBYCONTAINERSIZE_45","lb_GROUPBYCONTAINERSIZE_LCL","lb_GROUPBYCONTAINERSIZE_20HC","lb_GROUPBYCONTAINERSIZE_10","lb_GROUPBYCONTAINERSIZE_48","lb_GROUPBYCONTAINERSIZE_53","lbSave","lbNewFilter","lbEditFilter","lbDeleteFilter","lbFilterName","lbDateInputOption1","lbDateInputOption2","lbDateInputOption3","lbDateInputOption4","lbDateInputOption5","lbDateInputOption6","lbDateInputOption7","lbBgColors","msgDeletePreference","msgMissingFilterDetail","msg3CharactersRequired","tlImgBtnFilter","msgClearCustomFilter","lbField","lbOperator","lbValue","msgWarningDuplicateOPSID","msgListDuplcaiteOPSID","lblConsolPlan","lblConsolApproval","lblLoadPlan","lblShippingInstruction","lbConsolPlanInformation","lbShipmentsTable","lbConsolidationType","msgConsolidationTypeRequired","lbOriginAgentContactOffice","lbOriginAgentContactOfficePlaceHolder","msgOriginAgentContactOfficeRequired","lbConsolidationTypeToolTip","lbOriginAgentContactOfficeToolTip","lbConsolidationHandlingOffice","lbConsolidationHandlingOfficePlaceHolder","lbConsolidationHandlingOfficeToolTip","msgConsolidationHandlingOfficeRequired","lbHBLOffice","lbHBLOfficePlaceHolder","lbHBLOfficePlaceToolTip","lbConsolidationPOL","lbConsolidationPOLPlaceHolder","msgConsolidationPOLRequired","lbConsolidationPOD","lbConsolidationPODPlaceHolder","msgConsolidationPODRequired","lbMRConsolReference","lbMRConsolReferencePlaceHolder","lbAgentReference","lbAgentReferencePlaceHolder","lbConsigneeReference","lbConsigneeReferencePlaceHolder","lbBuyerReference","lbBuyerReferencePlaceHolder","lbContainerSummarySize","lbContainerSummarySizePlaceHolder","lbFCLContainerSummarySize","lbFCLContainerSummarySizePlaceHolder","msgContainerSummarySizeRequired","lbContainerSummaryQty","lbContainerSummaryQtyPlaceHolder","msgContainerSummaryQtyRequired","errConsolidationNotFound","miCancelConsolidation","msgSureToCancelConsolidation","msgRestorePrevSearchCriteria","colLine","colSoHdOffName","colLoadingSeq","colTotalCbm","colTotalKg","colTotalPackageQty","colTotalLCLItemQty","colTotalLCLPackageQty","colTotalLCLCbm","colTotalLCLKg","colAllocatedPackageQty","colBookingContainer","colReleaseAgentCode","colPor","colConsolDate","colConsolStatus","colConsolStatusDate","colConsolApprovalStatus","colConsolApprovalStatusDate","colCargoReadyDateFrom","colCargoReadyDateTo","colConsolUpdatedBy","colConsolLastUpdatedTime","colConsolApprovalReason","colConsolApprovalRemarks","colConsolApprovalUpdatedBy","colOriginAgentReference","colConsolHdOffName","colAmendedBookingPending","colLoadPlanPendingAllocation","colConsolApprovalUpdatedByProfile","colConsolCreatedBy","lbLoadPlanInformation","lbMblNo","lbColoaderBlNo","lbColoaderBLNoPlaceholder","msgColoaderBlNoEnterBySO","msgColoaderBlNoSameForAllSO","lbSameForAllSO","lbEnterBySO","lbMovementPlaceholder","lbWarehouseContactPerson","lbOriginAgentContactPerson","lbWarehouseTel","lbOriginAgentTel","lbWarehouseFax","lbOriginAgentFax","lbWarehouseEmail","lbOriginAgentEmail","lbWarehouseRemarks","lbSOContainerAllocation","lbContainerTypeOwnership","lbContainerType","lbContainerOwnership","msgContainerOwnershipRequired","lbContainerNo","lbSealNo","msgSealNoRequired","lbContainerActualPackageQty","lbContainerActualCBM","lbContainerActualKG","lbCarrierSONo","lbMovement","lbPartOf","lbCYGateIn","lbCFSReceived","msgCarrierSONoRequired","msgActualKGRequired","lbSOContainerAllocationRemarks","lbPackageQty","lbKG","lbSandFill","tlAppendDetailPackageInRemarkBtn","tlLoadPlanAllocationRecycleBin","tlAddAllUnallocatedBookings","msgAllocateAllRemainPackage","tlResetContainer","msgResetContainer","lbSOContainerDetailPackageWarning","lbAllocationPreference","lbExcludeFullyAllocatedSO","lbDoor","msgInvalidContainerNo","msgInvalidConsolidationContainerSize","msgWarningUpdateSelectedRateContainers","msgDuplicateContainerNo","msgInvalidShipment","msgInvalidOMSShipment","msgShipmentAlreadyConsol","msgShipmentNotConsolidatable","msgInvalidAmount","msgInvalidAmountForOMS","lbAllocationPreferenceTitle","lbAllocationPreference1","lbAllocationPreference2","lbAllocateAllRemainedPackageQty","lbAlwaysAskMe","lbPDATitle","lbPDASONo","lbPDAContainerNo","lbPDASequenceNo","lbPDAApproximateCBMAndKGS","lbPDAPackageQty","lbPDACBM","lbPDAKGS","lbLegend","lbPDALegend1","lbPDALegend2","lbPDALegend3","msgIncorrectPackageQty","msgIncorrectCBM","msgIncorrectKGS","msgIncorrectCBM2","msgIncorrectKGS2","msgConsolAdviceError","colFile","msgWarningEditConsolApproval","msgWarningEditLoadPlanOrContainerPOAllocation","msgWarningEditConsolPlan","msgConsolShipmentAllocationSuccess","lbAutoRefreshShipmentAllocationTitle","lbAutoRefreshShipmentAllocationContent1","lbAutoRefreshShipmentAllocationContent2","lbAutoRefreshShipmentAllocationContent3","lblPrintOption","lblAgentRef","lblBuyerRef","lblWarehouseInfo","lblRemarkDestination","lblGenerate","lblOutputFormat","lblGenerateLoadPlan","lblLoadPlanHistory","smartSearchTooltip","msgWarningRemarkExceedMaxImageSize","msgWarningRemarkExceedMaxHTMLTextSize","msgFinalWarningRemarkExceedMaxHTMLTextSize","msgRemarkExceedMaxTextLength","phRemarkbraftEditor","lbSelectedBookingsSummary","lblBookings","lblKG","lblLCLCBM","lblLCLKG","lblLCLPackageQty","lblCargoReadyDate","lblDangerousGoods","lblResetBtn","lblCreateConsolBtn","lblAddToConsolBtn","lblTotalCBM","lblTotalKG","lblTotalPackageQty","SelectedBookingsYellow","SelectedBookingsOrange","SelectedBookingsRed","SILCLContainerLineRed","SILCLConsolContainerLineRed","SILCLConsolContainerLineGreen","SIFCLContainerRed","SIFCLContainerGreen","msgPOColumnRed","msgPOColumnGreen","lblNoOption","lblRemoveShipment","lblSearchShipmentByConsignee","lblSearchShipmentByCustomer","lblSearchShipmentByNominationAgent","lblSearchShipmentBySailing","msgDuplicatePartyDetected","headerShortName","headerPartyCodeStatus","headerPartyAccountCodeStatus","headerPartyStatus","btnSearchDuplicate","duplicateform","lblName","lblGeneral","lblPartyDetail","lblRequesterRemark","msgRequesterRemarkRequired","lblManagementRemark","lblNameLock","lblAddressLock","lblNoHBL","lblURL","tipsRequestBy","lblRequestBy","lblRequestOffice","lblRequestDate","lblAddressDetail","lblAddressType","msgAddressType","lblAddressLangType","msgAddressLangType","lblContact","lblContactType","msgContactType","lblPosition","lblPhone","msgPhone","lblLedger","btnFinanceApprove","btnFinanceReject","lblLedgerDetail","tipsSunSuffix","lblSunSuffix","tipsLedgerCode","lblLedgerCode","lblInvoiceDetail","msgLedgerCode","lblSunacCode","lblReject","lblPending","lblBatchPaymentAR","lblBatchPaymentAP","lblBankDetail","lblOpeningOffice","msgOpeningOffice","lblAccountNo","msgAccountNo","lblAccountCurrency","msgAccountCurrency","lblCreditLimit","lblPaymentTermAR","lblPaymentTermAP","lblUnsettledAmountAR","lblUnsettledAmountAP","lblCreditReminder","tipsCreditReminder","lblCreditAmount","msgCreditAmount","lblCreditDeadline","lblCompanyID","lblTaxTypeID","lblTaxID","msgTaxID","lblCoRegNo","lblSSTRegNo","lblBusinessLocation","lblNITKU","lblNPWPNIK","lblTaxRate","lblInvoiceSubType","lblOPSOffice","btnSelectAll","lblTargetOffice","tipsHeaderTargetOffice","tipsTargetOffice","lblRole","btnMgtApprove","btnMgtReject","btnAdminApprove","btnAdminReject","lblAgent","lblAgentCode","lblAgencyType","msgAgencyType","lblSubAgent","lblISFAutoExcel","lblISFEmail","lblISFRemark","lblConsigneeCode","lblKeyAccount","tipsKeyAccount","lblCutomer","tipsCustomer","lblIsModeBooking","tipsIsModeBooking","lblSelfRegistration","lblSCAC","lblDisplayName","lblEffectiveFrom","lblEffectiveTo","msgSCACRequired","msgDisplayNameRequired","lblEORI","tipsEORI","msgInvalidEORI","colConfiguration","msgBeneficiaryNameContainsInvalidCharacter","msgBeneficiaryBicExccedsLenLimit","msgMissingEoriNo","msgMissingUploadFile","msgEORIReminder","lblFollow","lblFollowing","lblUserDefaultSettingTitle","lblShipperOrderSettingTitle","lblMasterSettingTitleBooking","lblMasterSettingTitleConsolidation","lblMasterSettingTitleWebInvoice","lblFollowTitle","lblFollowOption1","lblFollowOption2","lblDefaultSelection","lblSettingDesc1","lblSettingDesc2","lblEventTableColumnEvent","lblNotificationMethodOption1","lblNotificationMethodOption2","bellButtonToolTip","lblNotificationListTitle","lblNotificationListReadAll","lblNotificationListUnread","lblNotificationListMenuOption1","lblNotificationListMenuOption2","lblNotificationListMenuOption3","lblNotificationListMenuOption4","lblNotificationListItemMenuOption1a","lblNotificationListItemMenuOption1b","lblNotificationListItemMenuOption2","lblNotificationListItemMenuOption3a","msgSureToDeleteAll","lblNotificationViewAll","msgUnfollowSuccess","msgUnfollowFail","lblMasterSettingErrorMessageHeaderBooking","lblMasterSettingErrorMessageHeaderConsolidation","lblMasterSettingErrorMessageHeaderWebInvoice","msgSaveSettingSuccess","msgSaveSettingFail","msgAtLeastOneEvent","msgAtLeastOneNotificationMethod","msgMissingEmailAddress","msgInvalidEmailAddress","lblEditUserDefaultSettingTooltip","msgBookingNew","msgBookingAmend","msgBookingConfirm","msgBookingSubmitSI","msgBookingCancelPending","msgBookingCancelBooking","msgBookingRecoverBooking","msgBookingChangeCargoReadyDate","msgBookingChangeHandlingOffice","msgBookingUpdateSailingA1","msgBookingUpdateSailingA2","msgBookingUpdateSailingA2b","msgBookingUpdateSailingA2Detail","msgBookingUpdateRouting","msgBookingUpdateRoutingDetail","msgBookingUploadBMSDocument","msgBookingDeleteBMSDocument","msgBookingUpdateRate","msgBookingUpdateTotalRate","msgBookingUpdateTotalRateDetail","msgBookingUpdateRateOP","msgBookingCheckGoodDesc","msgBookingNewOperationRemark","msgBookingNewPricingRemark","msgBookingRequestForApproval","msgBookingPendingCustomerApproval","msgBookingApproved","msgBookingRejected","msgBookingBookingAdvice","msgBookingLinkToAConsolPlan","msgBookingDislinkToAConsolPlan","msgConsolidationUpdateSailingA1","msgConsolidationUpdateSailingA2","msgConsolidationUpdateSailingA2b","msgConsolidationUpdateSailingA2Detail","msgConsolidationUpdateRate","msgConsolidationNewOperationRemark","msgConsolidationNewPricingRemark","msgConsolidationRequestForConsolApproval","msgConsolidationPendingCustomerConsolApproval","msgConsolidationApproved","msgConsolidationRejected","msgConsolidationConsolPlanAdvice","msgConsolidationUpdateTotalRate","msgConsolidationUpdateTotalRateDetail","msgConsolidationUpdateRateOP","colMRCarrierCode","colIsSCAC","colAlliance","colSCAC","colCBSA","colNACCS","colDisplayName","colFullName","colIsSailingSchedule","colEffectiveFrom","colEffectiveTo","colStatus","colSFMCarrierSCAC","colCarrierType","colWebsite","lblMRCarrierCode","lblIsSCAC","lblCBSA","lblNACCS","lblIsSailingSchedule","lblAlliance","lblSFMCarrierCode","lblCarrierType","lblSea","lblWebsite","msgDuplicateMRCarrierCode","msgMRCarrierCodeRequired","msgMRCarrierCodeLenLtd","msgDuplicateCBSA","msgCBSALenLtd","msgDuplicateNACCS","msgNACCSLenLtd","msgDuplicateDisplayName","msgDuplicateFullName","msgAllianceRequired","msgRecordNotLatest","msgInvalidEffectiveDate","lbCreateAdditionalSailing","lbSelect","msgHardStopDuplicateSailing","msgWarningDuplicateSailing","msgWarningDuplicateSailing2","lbEnvironmentCode","lbLoginId","lbLoginStatus","msgLoading","msgEnterPassword","msgInvalidLogin","msgValidLogin","msgUpdateLoginInfo","tc","msgUpdatedUserProfileSuccessfully","msgUpdatUserProfileFail","msgUserProfileNotUnique","msgUserProfileNotAssignedFuncRole","msgSaving","errSaveUnknown","msgSureToDelete","msgNoRecordFound","msgNoDashboardItem","msgLoadAutoSave","msgAutoSaveLoaded","msgAutoSaveSaved","msgSureToLeave","errExportFailed","msgSubmitting","msgSubmitForgotPwSuccessfully","msgSubmitForgotPwFail","msgResetPwSuccessfully","msgResetPwFail","msgSavedSuccess","so","colReference","lbSOColorDesc","sysNotice","lbParty","lbPartyID","lbPartyCode","lbOtherCode","lbPartyType","lbContactPerson","lbCity","lbState","lbShortName","lbFullName","msgUpdatePartySuccess","msgUpdatePartyFail","lbTradeLaneID","lbTradeLaneName","lbOfficeCode","lbEffectiveDate","lbTradeLane","lbCustomerTypeID","lbCustomerCode","msgUpdateTradeLaneSuccess","msgUpdateTradeLaneFail","msgConfirmDeleteTradeLane","msgDeleteTradeLaneSuccess","msgDeleteTradeLaneFail","lbPartyGroup","lbPartyGroupID","lbGroupName","lbGroupType","msgUpdatePartyGroupSuccess","msgUpdatePartyGroupFail","msgPartyGroupMissingField","lbInvErr","notification","lblMasterSettingTitleBookingApproval","init","debug","lng","resources","translation","lang_en","getFixedT","lang","Common"],"mappings":"sJAAA,IAAIA,EAAM,CACT,mBAAoB,CACnB,IACA,GAED,sBAAuB,CACtB,IACA,GAED,gBAAiB,CAChB,IACA,EACA,KAED,mBAAoB,CACnB,IACA,EACA,KAED,qBAAsB,CACrB,IACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,IAED,0BAA2B,CAC1B,KACA,EACA,KAED,sBAAuB,CACtB,IACA,EACA,KAED,yBAA0B,CACzB,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,KAED,qBAAsB,CACrB,IACA,EACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,KAED,oBAAqB,CACpB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,KAED,sBAAuB,CACtB,IACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,IAED,2BAA4B,CAC3B,KACA,EACA,KAED,4CAA6C,CAC5C,IACA,EACA,KAED,+CAAgD,CAC/C,IACA,EACA,KAED,eAAgB,CACf,IACA,GAED,kBAAmB,CAClB,IACA,GAED,oBAAqB,CACpB,IACA,GAED,UAAW,CACV,IACA,EACA,KAED,aAAc,CACb,IACA,EACA,KAED,mBAAoB,CACnB,IACA,EACA,KAED,sBAAuB,CACtB,IACA,EACA,KAED,eAAgB,CACf,IACA,EACA,KAED,kBAAmB,CAClB,IACA,EACA,KAED,cAAe,CACd,IACA,EACA,IAED,eAAgB,CACf,IACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,KAED,oBAAqB,CACpB,IACA,EACA,IAED,uBAAwB,CACvB,IACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,yCAA0C,CACzC,KACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,EACA,GACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,GACA,EACA,EACA,IAED,qCAAsC,CACrC,KACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,wCAAyC,CACxC,KACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,EACA,EACA,GACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,EACA,GACA,IAED,yCAA0C,CACzC,KACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,GACA,GACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,mCAAoC,CACnC,KACA,EACA,KAED,yCAA0C,CACzC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,GACA,GACA,IAED,8CAA+C,CAC9C,KACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,GACA,IAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,GACA,IAED,kCAAmC,CAClC,KACA,EACA,KAED,cAAe,CACd,IACA,EACA,IAED,iBAAkB,CACjB,IACA,EACA,IAED,mBAAoB,CACnB,KACA,EACA,KAED,qBAAsB,CACrB,IACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,IAED,uBAAwB,CACvB,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,mBAAoB,CACnB,IACA,GAED,sBAAuB,CACtB,IACA,GAED,wBAAyB,CACxB,IACA,GAED,UAAW,CACV,IACA,GAED,aAAc,CACb,IACA,GAED,eAAgB,CACf,IACA,GAED,mBAAoB,CACnB,IACA,EACA,KAED,sBAAuB,CACtB,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,KAED,gCAAiC,CAChC,KACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,yBAA0B,CACzB,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,KAED,qBAAsB,CACrB,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,aAAc,CACb,IACA,EACA,KAED,gBAAiB,CAChB,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,KAED,oDAAqD,CACpD,IACA,EACA,KAED,+CAAgD,CAC/C,IACA,EACA,EACA,IAED,kDAAmD,CAClD,IACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,KAED,yCAA0C,CACzC,IACA,EACA,KAED,2CAA4C,CAC3C,KACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,KACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,GACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,GACA,EACA,IAED,+BAAgC,CAC/B,KACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,KAED,yCAA0C,CACzC,IACA,EACA,KAED,4CAA6C,CAC5C,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,IAED,qCAAsC,CACrC,KACA,EACA,KAED,8BAA+B,CAC9B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,mCAAoC,CACnC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,0CAA2C,CAC1C,IACA,GAED,wCAAyC,CACxC,IACA,GAED,2CAA4C,CAC3C,IACA,GAED,6CAA8C,CAC7C,IACA,GAED,0BAA2B,CAC1B,IACA,EACA,GACA,GACA,IACA,KAED,6BAA8B,CAC7B,IACA,EACA,GACA,GACA,IACA,KAED,+BAAgC,CAC/B,KACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,IACA,KAED,gCAAiC,CAChC,IACA,EACA,IACA,KAED,kBAAmB,CAClB,IACA,GAED,qBAAsB,CACrB,IACA,GAED,uBAAwB,CACvB,KACA,EACA,KAED,yBAA0B,CACzB,IACA,EACA,GACA,EACA,EACA,GACA,IAED,4BAA6B,CAC5B,IACA,EACA,GACA,EACA,EACA,GACA,IAED,6BAA8B,CAC7B,KACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,GACA,EACA,EACA,GACA,IAED,kCAAmC,CAClC,IACA,EACA,GACA,EACA,EACA,GACA,IAED,gCAAiC,CAChC,IACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,IAED,sCAAuC,CACtC,KACA,EACA,KAED,kBAAmB,CAClB,IACA,EACA,IAED,mBAAoB,CACnB,IACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,uCAAwC,CACvC,KACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,qCAAsC,CACrC,KACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,EACA,GACA,IAED,8BAA+B,CAC9B,KACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,EACA,GACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,GACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,EACA,GACA,IAED,sCAAuC,CACtC,KACA,EACA,KAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,GACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,GACA,IAED,2BAA4B,CAC3B,IACA,EACA,EACA,EACA,GACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,GACA,IAED,sBAAuB,CACtB,IACA,EACA,EACA,EACA,GACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,GACA,IAED,mCAAoC,CACnC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,EACA,EACA,GACA,KAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,GACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,EACA,GACA,GACA,IAED,2CAA4C,CAC3C,KACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,GACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,GACA,IAED,qCAAsC,CACrC,KACA,EACA,KAED,yBAA0B,CACzB,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,KAED,+BAAgC,CAC/B,KACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,KAED,6CAA8C,CAC7C,IACA,EACA,KAED,0CAA2C,CAC1C,IACA,EACA,KAED,6CAA8C,CAC7C,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,uCAAwC,CACvC,IACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,IAED,gCAAiC,CAChC,KACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,KAED,yCAA0C,CACzC,IACA,EACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,EACA,EACA,IAED,uBAAwB,CACvB,IACA,EACA,EACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,IAED,qBAAsB,CACrB,IACA,EACA,EACA,EACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,EACA,EACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,EACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,GACA,KAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,GACA,KAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,EACA,GACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,GACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,IAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,EACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,EACA,EACA,IAED,yBAA0B,CACzB,KACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,GACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,GACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,EACA,EACA,GAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,sBAAuB,CACtB,IACA,EACA,EACA,EACA,EACA,EACA,GAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,EACA,EACA,GAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,GACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,GACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,uBAAwB,CACvB,IACA,EACA,EACA,EACA,EACA,EACA,GAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,GACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,GACA,IAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,sBAAuB,CACtB,IACA,EACA,EACA,EACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,6BAA8B,CAC7B,IACA,EACA,EACA,GACA,GACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,GACA,GACA,EACA,IAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,GACA,KAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,GACA,KAED,oCAAqC,CACpC,IACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,GACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,GACA,IAED,8BAA+B,CAC9B,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,KAED,iCAAkC,CACjC,IACA,EACA,EACA,GACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,EACA,GACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,EACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,GACA,IAED,mCAAoC,CACnC,IACA,EACA,GACA,IAED,8BAA+B,CAC9B,IACA,EACA,GACA,GACA,IAED,iCAAkC,CACjC,IACA,EACA,GACA,GACA,IAED,oCAAqC,CACpC,IACA,EACA,GACA,GACA,IAED,uCAAwC,CACvC,IACA,EACA,GACA,GACA,IAED,yCAA0C,CACzC,KACA,EACA,KAED,6CAA8C,CAC7C,KACA,EACA,KAED,0CAA2C,CAC1C,KACA,EACA,KAED,wCAAyC,CACxC,KACA,EACA,MAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,CACP,IAGD,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAON,QAAQQ,IAAIF,EAAIG,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","file":"static/js/main.d69f3f0b.chunk.js","sourcesContent":["var map = {\n\t\"./AccessDeclined\": [\n\t\t284,\n\t\t9\n\t],\n\t\"./AccessDeclined.js\": [\n\t\t284,\n\t\t9\n\t],\n\t\"./Admin/Party\": [\n\t\t767,\n\t\t9,\n\t\t136\n\t],\n\t\"./Admin/Party.js\": [\n\t\t767,\n\t\t9,\n\t\t136\n\t],\n\t\"./Admin/PartyGroup\": [\n\t\t768,\n\t\t9,\n\t\t92\n\t],\n\t\"./Admin/PartyGroup.js\": [\n\t\t768,\n\t\t9,\n\t\t92\n\t],\n\t\"./Admin/PartyGroup.scss\": [\n\t\t1283,\n\t\t7,\n\t\t169\n\t],\n\t\"./Admin/SearchParty\": [\n\t\t769,\n\t\t9,\n\t\t107\n\t],\n\t\"./Admin/SearchParty.js\": [\n\t\t769,\n\t\t9,\n\t\t107\n\t],\n\t\"./Admin/SearchPartyGroup\": [\n\t\t770,\n\t\t9,\n\t\t7,\n\t\t73\n\t],\n\t\"./Admin/SearchPartyGroup.js\": [\n\t\t770,\n\t\t9,\n\t\t7,\n\t\t73\n\t],\n\t\"./Admin/SearchSysNotice\": [\n\t\t771,\n\t\t9,\n\t\t120\n\t],\n\t\"./Admin/SearchSysNotice.js\": [\n\t\t771,\n\t\t9,\n\t\t120\n\t],\n\t\"./Admin/SearchTradeLane\": [\n\t\t772,\n\t\t9,\n\t\t108\n\t],\n\t\"./Admin/SearchTradeLane.js\": [\n\t\t772,\n\t\t9,\n\t\t108\n\t],\n\t\"./Admin/SearchUser\": [\n\t\t773,\n\t\t9,\n\t\t7,\n\t\t65\n\t],\n\t\"./Admin/SearchUser.js\": [\n\t\t773,\n\t\t9,\n\t\t7,\n\t\t65\n\t],\n\t\"./Admin/SearchUserRegistration\": [\n\t\t774,\n\t\t9,\n\t\t121\n\t],\n\t\"./Admin/SearchUserRegistration.js\": [\n\t\t774,\n\t\t9,\n\t\t121\n\t],\n\t\"./Admin/SysNoticeDetail\": [\n\t\t775,\n\t\t9,\n\t\t128\n\t],\n\t\"./Admin/SysNoticeDetail.js\": [\n\t\t775,\n\t\t9,\n\t\t128\n\t],\n\t\"./Admin/TradeLane\": [\n\t\t776,\n\t\t9,\n\t\t129\n\t],\n\t\"./Admin/TradeLane.js\": [\n\t\t776,\n\t\t9,\n\t\t129\n\t],\n\t\"./Admin/UserMaintenanceDetail\": [\n\t\t777,\n\t\t9,\n\t\t130\n\t],\n\t\"./Admin/UserMaintenanceDetail.js\": [\n\t\t777,\n\t\t9,\n\t\t130\n\t],\n\t\"./Admin/UserProfile\": [\n\t\t778,\n\t\t9,\n\t\t96\n\t],\n\t\"./Admin/UserProfile.js\": [\n\t\t778,\n\t\t9,\n\t\t96\n\t],\n\t\"./Admin/UserProfile.scss\": [\n\t\t1284,\n\t\t7,\n\t\t170\n\t],\n\t\"./Admin/UserRegistrationMaintenanceDetail\": [\n\t\t779,\n\t\t9,\n\t\t137\n\t],\n\t\"./Admin/UserRegistrationMaintenanceDetail.js\": [\n\t\t779,\n\t\t9,\n\t\t137\n\t],\n\t\"./BaseLayout\": [\n\t\t293,\n\t\t9\n\t],\n\t\"./BaseLayout.js\": [\n\t\t293,\n\t\t9\n\t],\n\t\"./BaseLayout.scss\": [\n\t\t536,\n\t\t7\n\t],\n\t\"./Blank\": [\n\t\t780,\n\t\t9,\n\t\t138\n\t],\n\t\"./Blank.js\": [\n\t\t780,\n\t\t9,\n\t\t138\n\t],\n\t\"./ChangePassword\": [\n\t\t781,\n\t\t9,\n\t\t139\n\t],\n\t\"./ChangePassword.js\": [\n\t\t781,\n\t\t9,\n\t\t139\n\t],\n\t\"./ChangeUser\": [\n\t\t782,\n\t\t9,\n\t\t140\n\t],\n\t\"./ChangeUser.js\": [\n\t\t782,\n\t\t9,\n\t\t140\n\t],\n\t\"./CompareSO\": [\n\t\t359,\n\t\t9,\n\t\t21\n\t],\n\t\"./CompareSO/\": [\n\t\t359,\n\t\t9,\n\t\t21\n\t],\n\t\"./CompareSO/CompareSOPOC\": [\n\t\t758,\n\t\t9,\n\t\t29\n\t],\n\t\"./CompareSO/CompareSOPOC.js\": [\n\t\t758,\n\t\t9,\n\t\t29\n\t],\n\t\"./CompareSO/ShipmentDetailLine\": [\n\t\t720,\n\t\t9,\n\t\t141\n\t],\n\t\"./CompareSO/ShipmentDetailLine.js\": [\n\t\t720,\n\t\t9,\n\t\t141\n\t],\n\t\"./CompareSO/ShipmentDetailPOLine\": [\n\t\t721,\n\t\t9,\n\t\t142\n\t],\n\t\"./CompareSO/ShipmentDetailPOLine.js\": [\n\t\t721,\n\t\t9,\n\t\t142\n\t],\n\t\"./CompareSO/ShipmentDetails\": [\n\t\t733,\n\t\t9,\n\t\t122\n\t],\n\t\"./CompareSO/ShipmentDetails.js\": [\n\t\t733,\n\t\t9,\n\t\t122\n\t],\n\t\"./CompareSO/index\": [\n\t\t359,\n\t\t9,\n\t\t21\n\t],\n\t\"./CompareSO/index.js\": [\n\t\t359,\n\t\t9,\n\t\t21\n\t],\n\t\"./ConsolManagement/ConsolApproval\": [\n\t\t734,\n\t\t9,\n\t\t5,\n\t\t3,\n\t\t11,\n\t\t18,\n\t\t38\n\t],\n\t\"./ConsolManagement/ConsolApproval.js\": [\n\t\t734,\n\t\t9,\n\t\t5,\n\t\t3,\n\t\t11,\n\t\t18,\n\t\t38\n\t],\n\t\"./ConsolManagement/ConsolApproval.scss\": [\n\t\t1274,\n\t\t7,\n\t\t171\n\t],\n\t\"./ConsolManagement/ConsolHistory\": [\n\t\t735,\n\t\t9,\n\t\t115\n\t],\n\t\"./ConsolManagement/ConsolHistory.js\": [\n\t\t735,\n\t\t9,\n\t\t115\n\t],\n\t\"./ConsolManagement/ConsolPlan\": [\n\t\t736,\n\t\t9,\n\t\t5,\n\t\t11,\n\t\t4,\n\t\t7,\n\t\t35\n\t],\n\t\"./ConsolManagement/ConsolPlan.js\": [\n\t\t736,\n\t\t9,\n\t\t5,\n\t\t11,\n\t\t4,\n\t\t7,\n\t\t35\n\t],\n\t\"./ConsolManagement/ConsolPlan.scss\": [\n\t\t1276,\n\t\t7,\n\t\t172\n\t],\n\t\"./ConsolManagement/Consolidation\": [\n\t\t783,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t13,\n\t\t39\n\t],\n\t\"./ConsolManagement/Consolidation.js\": [\n\t\t783,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t13,\n\t\t39\n\t],\n\t\"./ConsolManagement/Consolidation.scss\": [\n\t\t1285,\n\t\t7,\n\t\t173\n\t],\n\t\"./ConsolManagement/DocumentUpload\": [\n\t\t737,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t43\n\t],\n\t\"./ConsolManagement/DocumentUpload.js\": [\n\t\t737,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t43\n\t],\n\t\"./ConsolManagement/DocumentUpload.scss\": [\n\t\t1277,\n\t\t7,\n\t\t174\n\t],\n\t\"./ConsolManagement/LoadPlan\": [\n\t\t763,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t28,\n\t\t44\n\t],\n\t\"./ConsolManagement/LoadPlan.js\": [\n\t\t763,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t28,\n\t\t44\n\t],\n\t\"./ConsolManagement/LoadPlan.scss\": [\n\t\t1286,\n\t\t7,\n\t\t175\n\t],\n\t\"./ConsolManagement/ShippingInstruction\": [\n\t\t738,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t19,\n\t\t45\n\t],\n\t\"./ConsolManagement/ShippingInstruction.js\": [\n\t\t738,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t19,\n\t\t45\n\t],\n\t\"./ConsolManagement/ShippingInstruction.scss\": [\n\t\t1278,\n\t\t7,\n\t\t176\n\t],\n\t\"./ConsolManagement/context\": [\n\t\t683,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t47\n\t],\n\t\"./ConsolManagement/context.js\": [\n\t\t683,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t13,\n\t\t47\n\t],\n\t\"./ConsolManagement/context.scss\": [\n\t\t1272,\n\t\t7,\n\t\t177\n\t],\n\t\"./Dashboard\": [\n\t\t784,\n\t\t9,\n\t\t93\n\t],\n\t\"./Dashboard.js\": [\n\t\t784,\n\t\t9,\n\t\t93\n\t],\n\t\"./Dashboard.scss\": [\n\t\t1275,\n\t\t7,\n\t\t178\n\t],\n\t\"./DashboardEnhance\": [\n\t\t785,\n\t\t9,\n\t\t94\n\t],\n\t\"./DashboardEnhance.js\": [\n\t\t785,\n\t\t9,\n\t\t94\n\t],\n\t\"./DownloadPublicFile\": [\n\t\t292,\n\t\t9\n\t],\n\t\"./DownloadPublicFile.js\": [\n\t\t292,\n\t\t9\n\t],\n\t\"./DownloadPublicFile.scss\": [\n\t\t543,\n\t\t7\n\t],\n\t\"./ForgotPassword\": [\n\t\t287,\n\t\t9\n\t],\n\t\"./ForgotPassword.js\": [\n\t\t287,\n\t\t9\n\t],\n\t\"./ForgotPassword.scss\": [\n\t\t412,\n\t\t7\n\t],\n\t\"./Login\": [\n\t\t285,\n\t\t9\n\t],\n\t\"./Login.js\": [\n\t\t285,\n\t\t9\n\t],\n\t\"./Login.scss\": [\n\t\t537,\n\t\t7\n\t],\n\t\"./Master/Carrier\": [\n\t\t786,\n\t\t9,\n\t\t131\n\t],\n\t\"./Master/Carrier.js\": [\n\t\t786,\n\t\t9,\n\t\t131\n\t],\n\t\"./Master/Restrictions\": [\n\t\t680,\n\t\t9,\n\t\t119\n\t],\n\t\"./Master/Restrictions.js\": [\n\t\t680,\n\t\t9,\n\t\t119\n\t],\n\t\"./Master/RestrictionsCommon\": [\n\t\t658,\n\t\t9,\n\t\t134\n\t],\n\t\"./Master/RestrictionsCommon.js\": [\n\t\t658,\n\t\t9,\n\t\t134\n\t],\n\t\"./Master/SailingSchedule\": [\n\t\t787,\n\t\t9,\n\t\t103\n\t],\n\t\"./Master/SailingSchedule.js\": [\n\t\t787,\n\t\t9,\n\t\t103\n\t],\n\t\"./Master/SailingSchedule.scss\": [\n\t\t1287,\n\t\t7,\n\t\t179\n\t],\n\t\"./Master/SailingScheduleCommon\": [\n\t\t661,\n\t\t9,\n\t\t143\n\t],\n\t\"./Master/SailingScheduleCommon.js\": [\n\t\t661,\n\t\t9,\n\t\t143\n\t],\n\t\"./Master/SearchCarrier\": [\n\t\t788,\n\t\t9,\n\t\t109\n\t],\n\t\"./Master/SearchCarrier.js\": [\n\t\t788,\n\t\t9,\n\t\t109\n\t],\n\t\"./Master/SearchSailingSchedule\": [\n\t\t789,\n\t\t9,\n\t\t123\n\t],\n\t\"./Master/SearchSailingSchedule.js\": [\n\t\t789,\n\t\t9,\n\t\t123\n\t],\n\t\"./Master/SearchWarehouse\": [\n\t\t790,\n\t\t9,\n\t\t110\n\t],\n\t\"./Master/SearchWarehouse.js\": [\n\t\t790,\n\t\t9,\n\t\t110\n\t],\n\t\"./Master/Warehouse\": [\n\t\t824,\n\t\t9,\n\t\t132\n\t],\n\t\"./Master/Warehouse.js\": [\n\t\t824,\n\t\t9,\n\t\t132\n\t],\n\t\"./NotFound\": [\n\t\t791,\n\t\t9,\n\t\t144\n\t],\n\t\"./NotFound.js\": [\n\t\t791,\n\t\t9,\n\t\t144\n\t],\n\t\"./Notification/NotificationMasterList\": [\n\t\t792,\n\t\t9,\n\t\t145\n\t],\n\t\"./Notification/NotificationMasterList.js\": [\n\t\t792,\n\t\t9,\n\t\t145\n\t],\n\t\"./Notification/NotificationMasterSetting\": [\n\t\t793,\n\t\t9,\n\t\t76\n\t],\n\t\"./Notification/NotificationMasterSetting.js\": [\n\t\t793,\n\t\t9,\n\t\t76\n\t],\n\t\"./NotificationCenter/NotificationSettingDetail\": [\n\t\t794,\n\t\t9,\n\t\t106\n\t],\n\t\"./NotificationCenter/NotificationSettingDetail.js\": [\n\t\t794,\n\t\t9,\n\t\t106\n\t],\n\t\"./NotificationCenter/SearchEmailNotification\": [\n\t\t795,\n\t\t9,\n\t\t7,\n\t\t74\n\t],\n\t\"./NotificationCenter/SearchEmailNotification.js\": [\n\t\t795,\n\t\t9,\n\t\t7,\n\t\t74\n\t],\n\t\"./OperationAlert/OperationAlertCard\": [\n\t\t739,\n\t\t9,\n\t\t124\n\t],\n\t\"./OperationAlert/OperationAlertCard.js\": [\n\t\t739,\n\t\t9,\n\t\t124\n\t],\n\t\"./OperationAlert/OperationAlertCard.scss\": [\n\t\t1279,\n\t\t7,\n\t\t180\n\t],\n\t\"./OperationAlert/OperationAlertConfig\": [\n\t\t740,\n\t\t9,\n\t\t146\n\t],\n\t\"./OperationAlert/OperationAlertConfig.js\": [\n\t\t740,\n\t\t9,\n\t\t146\n\t],\n\t\"./OperationAlert/OperationAlertDashboard\": [\n\t\t796,\n\t\t9,\n\t\t0,\n\t\t7,\n\t\t53\n\t],\n\t\"./OperationAlert/OperationAlertDashboard.js\": [\n\t\t796,\n\t\t9,\n\t\t0,\n\t\t7,\n\t\t53\n\t],\n\t\"./OperationAlert/OperationAlertDashboard.scss\": [\n\t\t1288,\n\t\t7,\n\t\t181\n\t],\n\t\"./PartyManagement/AccountGroupCode\": [\n\t\t797,\n\t\t9,\n\t\t133\n\t],\n\t\"./PartyManagement/AccountGroupCode.js\": [\n\t\t797,\n\t\t9,\n\t\t133\n\t],\n\t\"./PartyManagement/Party\": [\n\t\t798,\n\t\t9,\n\t\t36,\n\t\t7,\n\t\t63\n\t],\n\t\"./PartyManagement/Party.js\": [\n\t\t798,\n\t\t9,\n\t\t36,\n\t\t7,\n\t\t63\n\t],\n\t\"./PartyManagement/Party.scss\": [\n\t\t1289,\n\t\t7,\n\t\t182\n\t],\n\t\"./PartyManagement/SearchAccountGroupCode\": [\n\t\t799,\n\t\t9,\n\t\t111\n\t],\n\t\"./PartyManagement/SearchAccountGroupCode.js\": [\n\t\t799,\n\t\t9,\n\t\t111\n\t],\n\t\"./PartyManagement/SearchDuplicatePanel\": [\n\t\t741,\n\t\t9,\n\t\t147\n\t],\n\t\"./PartyManagement/SearchDuplicatePanel.js\": [\n\t\t741,\n\t\t9,\n\t\t147\n\t],\n\t\"./PartyManagement/SearchParty\": [\n\t\t800,\n\t\t9,\n\t\t7,\n\t\t61\n\t],\n\t\"./PartyManagement/SearchParty.js\": [\n\t\t800,\n\t\t9,\n\t\t7,\n\t\t61\n\t],\n\t\"./PartyManagement/SearchParty.scss\": [\n\t\t1290,\n\t\t7,\n\t\t183\n\t],\n\t\"./Registration/Registration\": [\n\t\t289,\n\t\t9\n\t],\n\t\"./Registration/Registration.js\": [\n\t\t289,\n\t\t9\n\t],\n\t\"./Registration/Registration.scss\": [\n\t\t538,\n\t\t7\n\t],\n\t\"./Registration/RegistrationWithSIS\": [\n\t\t290,\n\t\t9\n\t],\n\t\"./Registration/RegistrationWithSIS.js\": [\n\t\t290,\n\t\t9\n\t],\n\t\"./Registration/RegistrationWithSIS.scss\": [\n\t\t541,\n\t\t7\n\t],\n\t\"./Registration/RegistrationWithoutSIS\": [\n\t\t291,\n\t\t9\n\t],\n\t\"./Registration/RegistrationWithoutSIS.js\": [\n\t\t291,\n\t\t9\n\t],\n\t\"./Registration/RegistrationWithoutSIS.scss\": [\n\t\t542,\n\t\t7\n\t],\n\t\"./Report/ShipmentReport\": [\n\t\t801,\n\t\t9,\n\t\t17,\n\t\t20,\n\t\t105,\n\t\t148\n\t],\n\t\"./Report/ShipmentReport.js\": [\n\t\t801,\n\t\t9,\n\t\t17,\n\t\t20,\n\t\t105,\n\t\t148\n\t],\n\t\"./Report/ShipmentReport.scss\": [\n\t\t1291,\n\t\t7,\n\t\t184\n\t],\n\t\"./Report/ShipmentReportPBI\": [\n\t\t802,\n\t\t9,\n\t\t135,\n\t\t125\n\t],\n\t\"./Report/ShipmentReportPBI.js\": [\n\t\t802,\n\t\t9,\n\t\t135,\n\t\t125\n\t],\n\t\"./ResetPassword\": [\n\t\t288,\n\t\t9\n\t],\n\t\"./ResetPassword.js\": [\n\t\t288,\n\t\t9\n\t],\n\t\"./SearchBooking.scss\": [\n\t\t1269,\n\t\t7,\n\t\t185\n\t],\n\t\"./SearchBookingEnhance\": [\n\t\t722,\n\t\t9,\n\t\t11,\n\t\t4,\n\t\t7,\n\t\t15,\n\t\t52\n\t],\n\t\"./SearchBookingEnhance.js\": [\n\t\t722,\n\t\t9,\n\t\t11,\n\t\t4,\n\t\t7,\n\t\t15,\n\t\t52\n\t],\n\t\"./SearchConsolidation.scss\": [\n\t\t1292,\n\t\t7,\n\t\t186\n\t],\n\t\"./SearchConsolidationEnhance\": [\n\t\t803,\n\t\t9,\n\t\t11,\n\t\t4,\n\t\t7,\n\t\t15,\n\t\t56\n\t],\n\t\"./SearchConsolidationEnhance.js\": [\n\t\t803,\n\t\t9,\n\t\t11,\n\t\t4,\n\t\t7,\n\t\t15,\n\t\t56\n\t],\n\t\"./Sequence/SearchSequenceRule\": [\n\t\t804,\n\t\t9,\n\t\t112\n\t],\n\t\"./Sequence/SearchSequenceRule.js\": [\n\t\t804,\n\t\t9,\n\t\t112\n\t],\n\t\"./Sequence/SequenceRuleDetails\": [\n\t\t805,\n\t\t9,\n\t\t7,\n\t\t69\n\t],\n\t\"./Sequence/SequenceRuleDetails.js\": [\n\t\t805,\n\t\t9,\n\t\t7,\n\t\t69\n\t],\n\t\"./Sequence/SequenceRuleDetails.scss\": [\n\t\t1293,\n\t\t7,\n\t\t187\n\t],\n\t\"./ShippingOrder\": [\n\t\t360,\n\t\t9,\n\t\t22\n\t],\n\t\"./ShippingOrder/\": [\n\t\t360,\n\t\t9,\n\t\t22\n\t],\n\t\"./ShippingOrder/BookingApproval\": [\n\t\t742,\n\t\t9,\n\t\t5,\n\t\t3,\n\t\t11,\n\t\t18,\n\t\t48\n\t],\n\t\"./ShippingOrder/BookingApproval.js\": [\n\t\t742,\n\t\t9,\n\t\t5,\n\t\t3,\n\t\t11,\n\t\t18,\n\t\t48\n\t],\n\t\"./ShippingOrder/BookingApproval.scss\": [\n\t\t1271,\n\t\t7,\n\t\t188\n\t],\n\t\"./ShippingOrder/ConfirmBooking\": [\n\t\t743,\n\t\t9,\n\t\t5,\n\t\t11,\n\t\t23,\n\t\t4,\n\t\t46\n\t],\n\t\"./ShippingOrder/ConfirmBooking.css\": [\n\t\t1280,\n\t\t7,\n\t\t166\n\t],\n\t\"./ShippingOrder/ConfirmBooking.js\": [\n\t\t743,\n\t\t9,\n\t\t5,\n\t\t11,\n\t\t23,\n\t\t4,\n\t\t46\n\t],\n\t\"./ShippingOrder/Details\": [\n\t\t756,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t8,\n\t\t10,\n\t\t49\n\t],\n\t\"./ShippingOrder/Details.css\": [\n\t\t1281,\n\t\t7,\n\t\t167\n\t],\n\t\"./ShippingOrder/Details.js\": [\n\t\t756,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t8,\n\t\t10,\n\t\t49\n\t],\n\t\"./ShippingOrder/DocumentUpload\": [\n\t\t759,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t26\n\t],\n\t\"./ShippingOrder/DocumentUpload.js\": [\n\t\t759,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t26\n\t],\n\t\"./ShippingOrder/DocumentUpload.scss\": [\n\t\t1294,\n\t\t7,\n\t\t189\n\t],\n\t\"./ShippingOrder/Header\": [\n\t\t760,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t25\n\t],\n\t\"./ShippingOrder/Header.js\": [\n\t\t760,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t25\n\t],\n\t\"./ShippingOrder/HouseDoc\": [\n\t\t762,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t27\n\t],\n\t\"./ShippingOrder/HouseDoc.js\": [\n\t\t762,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t27\n\t],\n\t\"./ShippingOrder/ISF\": [\n\t\t764,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t30\n\t],\n\t\"./ShippingOrder/ISF.js\": [\n\t\t764,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t30\n\t],\n\t\"./ShippingOrder/IncludeBatteries\": [\n\t\t723,\n\t\t9,\n\t\t127\n\t],\n\t\"./ShippingOrder/IncludeBatteries.js\": [\n\t\t723,\n\t\t9,\n\t\t127\n\t],\n\t\"./ShippingOrder/SOHistory\": [\n\t\t710,\n\t\t9,\n\t\t116\n\t],\n\t\"./ShippingOrder/SOHistory.js\": [\n\t\t710,\n\t\t9,\n\t\t116\n\t],\n\t\"./ShippingOrder/SOStatus\": [\n\t\t744,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t117\n\t],\n\t\"./ShippingOrder/SOStatus.js\": [\n\t\t744,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t117\n\t],\n\t\"./ShippingOrder/ShippingInstruction\": [\n\t\t745,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t19,\n\t\t95\n\t],\n\t\"./ShippingOrder/ShippingInstruction.js\": [\n\t\t745,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t19,\n\t\t95\n\t],\n\t\"./ShippingOrder/ShippingInstruction.scss\": [\n\t\t1282,\n\t\t7,\n\t\t190\n\t],\n\t\"./ShippingOrder/ShippingOrder\": [\n\t\t761,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t24\n\t],\n\t\"./ShippingOrder/ShippingOrder.js\": [\n\t\t761,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t10,\n\t\t24\n\t],\n\t\"./ShippingOrder/ShippingOrder.scss\": [\n\t\t1295,\n\t\t7,\n\t\t191\n\t],\n\t\"./ShippingOrder/common\": [\n\t\t192,\n\t\t9\n\t],\n\t\"./ShippingOrder/common.js\": [\n\t\t192,\n\t\t9\n\t],\n\t\"./ShippingOrder/common.scss\": [\n\t\t540,\n\t\t7\n\t],\n\t\"./ShippingOrder/context\": [\n\t\t663,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t102\n\t],\n\t\"./ShippingOrder/context.js\": [\n\t\t663,\n\t\t9,\n\t\t5,\n\t\t4,\n\t\t102\n\t],\n\t\"./ShippingOrder/context.scss\": [\n\t\t1270,\n\t\t7,\n\t\t192\n\t],\n\t\"./ShippingOrder/index\": [\n\t\t360,\n\t\t9,\n\t\t22\n\t],\n\t\"./ShippingOrder/index.js\": [\n\t\t360,\n\t\t9,\n\t\t22\n\t],\n\t\"./TemplateLibrary/RoutingTemplateDetail\": [\n\t\t806,\n\t\t9,\n\t\t118\n\t],\n\t\"./TemplateLibrary/RoutingTemplateDetail.js\": [\n\t\t806,\n\t\t9,\n\t\t118\n\t],\n\t\"./TemplateLibrary/SearchRoutingTemplate\": [\n\t\t807,\n\t\t9,\n\t\t113\n\t],\n\t\"./TemplateLibrary/SearchRoutingTemplate.js\": [\n\t\t807,\n\t\t9,\n\t\t113\n\t],\n\t\"./TemplateLibrary/TmpFormAutoCompleteBox\": [\n\t\t724,\n\t\t9,\n\t\t8,\n\t\t149\n\t],\n\t\"./TemplateLibrary/TmpFormAutoCompleteBox.js\": [\n\t\t724,\n\t\t9,\n\t\t8,\n\t\t149\n\t],\n\t\"./TemplateLibrary/TmpFormDatetime\": [\n\t\t725,\n\t\t9,\n\t\t150\n\t],\n\t\"./TemplateLibrary/TmpFormDatetime.js\": [\n\t\t725,\n\t\t9,\n\t\t150\n\t],\n\t\"./TemplateLibrary/TmpFormSelectBox\": [\n\t\t726,\n\t\t9,\n\t\t151\n\t],\n\t\"./TemplateLibrary/TmpFormSelectBox.js\": [\n\t\t726,\n\t\t9,\n\t\t151\n\t],\n\t\"./TemplateLibrary/TmpFormTable\": [\n\t\t746,\n\t\t9,\n\t\t8,\n\t\t68\n\t],\n\t\"./TemplateLibrary/TmpFormTable.js\": [\n\t\t746,\n\t\t9,\n\t\t8,\n\t\t68\n\t],\n\t\"./TemplateLibrary/Tmplib.scss\": [\n\t\t1268,\n\t\t7,\n\t\t193\n\t],\n\t\"./TemplateLibrary/TmplibActionModal\": [\n\t\t747,\n\t\t9,\n\t\t8,\n\t\t126\n\t],\n\t\"./TemplateLibrary/TmplibActionModal.js\": [\n\t\t747,\n\t\t9,\n\t\t8,\n\t\t126\n\t],\n\t\"./TemplateLibrary/TmplibEntry\": [\n\t\t825,\n\t\t9,\n\t\t8,\n\t\t64\n\t],\n\t\"./TemplateLibrary/TmplibEntry.js\": [\n\t\t825,\n\t\t9,\n\t\t8,\n\t\t64\n\t],\n\t\"./TemplateLibrary/UserTemplateSearch\": [\n\t\t808,\n\t\t9,\n\t\t7,\n\t\t8,\n\t\t77\n\t],\n\t\"./TemplateLibrary/UserTemplateSearch.js\": [\n\t\t808,\n\t\t9,\n\t\t7,\n\t\t8,\n\t\t77\n\t],\n\t\"./invoice/APRefModal\": [\n\t\t696,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t79\n\t],\n\t\"./invoice/APRefModal.js\": [\n\t\t696,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t79\n\t],\n\t\"./invoice/AutoPrintingModal\": [\n\t\t748,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t80\n\t],\n\t\"./invoice/AutoPrintingModal.js\": [\n\t\t748,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t80\n\t],\n\t\"./invoice/BlankJob\": [\n\t\t809,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t7,\n\t\t70\n\t],\n\t\"./invoice/BlankJob.js\": [\n\t\t809,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t7,\n\t\t70\n\t],\n\t\"./invoice/BreakdownDisplayPanel\": [\n\t\t659,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t71\n\t],\n\t\"./invoice/BreakdownDisplayPanel.js\": [\n\t\t659,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t71\n\t],\n\t\"./invoice/CRSummaryModal\": [\n\t\t697,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t97\n\t],\n\t\"./invoice/CRSummaryModal.js\": [\n\t\t697,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t97\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeEntry\": [\n\t\t810,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t59\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeEntry.js\": [\n\t\t810,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t59\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeHeader\": [\n\t\t749,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t104\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeHeader.js\": [\n\t\t749,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t104\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeSearch\": [\n\t\t811,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t37\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeSearch.js\": [\n\t\t811,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t37\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeSecondary\": [\n\t\t750,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t62\n\t],\n\t\"./invoice/ChargeCode/ChargeCodeSecondary.js\": [\n\t\t750,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t62\n\t],\n\t\"./invoice/CreateInvShortCutPanel\": [\n\t\t678,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t98\n\t],\n\t\"./invoice/CreateInvShortCutPanel.js\": [\n\t\t678,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t98\n\t],\n\t\"./invoice/CreateTempInvoicePanel\": [\n\t\t812,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t99\n\t],\n\t\"./invoice/CreateTempInvoicePanel.js\": [\n\t\t812,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t99\n\t],\n\t\"./invoice/Dashboard\": [\n\t\t813,\n\t\t9,\n\t\t0,\n\t\t17,\n\t\t1,\n\t\t66\n\t],\n\t\"./invoice/Dashboard.js\": [\n\t\t813,\n\t\t9,\n\t\t0,\n\t\t17,\n\t\t1,\n\t\t66\n\t],\n\t\"./invoice/ExportProcessViewPanel\": [\n\t\t751,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t40\n\t],\n\t\"./invoice/ExportProcessViewPanel.js\": [\n\t\t751,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t40\n\t],\n\t\"./invoice/Import7048Modal\": [\n\t\t752,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t81\n\t],\n\t\"./invoice/Import7048Modal.js\": [\n\t\t752,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t81\n\t],\n\t\"./invoice/ImportModal\": [\n\t\t712,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t82\n\t],\n\t\"./invoice/ImportModal.js\": [\n\t\t712,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t82\n\t],\n\t\"./invoice/Invoice.scss\": [\n\t\t1267,\n\t\t7,\n\t\t194\n\t],\n\t\"./invoice/InvoiceCRSummaryViewPanel\": [\n\t\t679,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t75\n\t],\n\t\"./invoice/InvoiceCRSummaryViewPanel.js\": [\n\t\t679,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t75\n\t],\n\t\"./invoice/InvoiceChequeRequest\": [\n\t\t668,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t60\n\t],\n\t\"./invoice/InvoiceChequeRequest.js\": [\n\t\t668,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t60\n\t],\n\t\"./invoice/InvoiceClose\": [\n\t\t814,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t87\n\t],\n\t\"./invoice/InvoiceClose.js\": [\n\t\t814,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t87\n\t],\n\t\"./invoice/InvoiceCurrencyViewPanel\": [\n\t\t713,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t41\n\t],\n\t\"./invoice/InvoiceCurrencyViewPanel.js\": [\n\t\t713,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t41\n\t],\n\t\"./invoice/InvoiceDocumentUpload\": [\n\t\t665,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t101\n\t],\n\t\"./invoice/InvoiceDocumentUpload.js\": [\n\t\t665,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t101\n\t],\n\t\"./invoice/InvoiceEmailPanel\": [\n\t\t664,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceEmailPanel.js\": [\n\t\t664,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceEntry\": [\n\t\t688,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceEntry.js\": [\n\t\t688,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceEntryHeader\": [\n\t\t672,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceEntryHeader.js\": [\n\t\t672,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceGP\": [\n\t\t654,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceGP.js\": [\n\t\t654,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceGeneralCharges\": [\n\t\t667,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t57\n\t],\n\t\"./invoice/InvoiceGeneralCharges.js\": [\n\t\t667,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t8,\n\t\t57\n\t],\n\t\"./invoice/InvoiceGenericClose\": [\n\t\t815,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t88\n\t],\n\t\"./invoice/InvoiceGenericClose.js\": [\n\t\t815,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t88\n\t],\n\t\"./invoice/InvoiceGroupPanel\": [\n\t\t714,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t42\n\t],\n\t\"./invoice/InvoiceGroupPanel.js\": [\n\t\t714,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t42\n\t],\n\t\"./invoice/InvoiceGroupPanel2\": [\n\t\t674,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceGroupPanel2.js\": [\n\t\t674,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceJob\": [\n\t\t676,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceJob.js\": [\n\t\t676,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceJobMonthGP\": [\n\t\t816,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t89\n\t],\n\t\"./invoice/InvoiceJobMonthGP.js\": [\n\t\t816,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t89\n\t],\n\t\"./invoice/InvoiceJobViewPanel\": [\n\t\t690,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceJobViewPanel.js\": [\n\t\t690,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoicePL\": [\n\t\t666,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t67\n\t],\n\t\"./invoice/InvoicePL.js\": [\n\t\t666,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t67\n\t],\n\t\"./invoice/InvoicePendingCreation\": [\n\t\t817,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t91\n\t],\n\t\"./invoice/InvoicePendingCreation.js\": [\n\t\t817,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t91\n\t],\n\t\"./invoice/InvoicePendingCreation2\": [\n\t\t818,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t33\n\t],\n\t\"./invoice/InvoicePendingCreation2.js\": [\n\t\t818,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t33\n\t],\n\t\"./invoice/InvoiceProcessStatusPanel\": [\n\t\t717,\n\t\t9,\n\t\t0,\n\t\t17,\n\t\t20,\n\t\t1,\n\t\t83\n\t],\n\t\"./invoice/InvoiceProcessStatusPanel.js\": [\n\t\t717,\n\t\t9,\n\t\t0,\n\t\t17,\n\t\t20,\n\t\t1,\n\t\t83\n\t],\n\t\"./invoice/InvoiceQuickviewPanel\": [\n\t\t657,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceQuickviewPanel.js\": [\n\t\t657,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceReport_GP\": [\n\t\t819,\n\t\t9,\n\t\t0,\n\t\t14,\n\t\t16,\n\t\t1,\n\t\t50\n\t],\n\t\"./invoice/InvoiceReport_GP.js\": [\n\t\t819,\n\t\t9,\n\t\t0,\n\t\t14,\n\t\t16,\n\t\t1,\n\t\t50\n\t],\n\t\"./invoice/InvoiceReport_SalesGP\": [\n\t\t820,\n\t\t9,\n\t\t0,\n\t\t14,\n\t\t16,\n\t\t1,\n\t\t51\n\t],\n\t\"./invoice/InvoiceReport_SalesGP.js\": [\n\t\t820,\n\t\t9,\n\t\t0,\n\t\t14,\n\t\t16,\n\t\t1,\n\t\t51\n\t],\n\t\"./invoice/InvoiceSOviewPanel\": [\n\t\t662,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceSOviewPanel.js\": [\n\t\t662,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/InvoiceSearch\": [\n\t\t821,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t32\n\t],\n\t\"./invoice/InvoiceSearch.js\": [\n\t\t821,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t32\n\t],\n\t\"./invoice/InvoiceSearch2\": [\n\t\t822,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t31\n\t],\n\t\"./invoice/InvoiceSearch2.js\": [\n\t\t822,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t31\n\t],\n\t\"./invoice/InvoiceStatus\": [\n\t\t669,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t114\n\t],\n\t\"./invoice/InvoiceStatus.js\": [\n\t\t669,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t114\n\t],\n\t\"./invoice/JobLockSatusUpdateModal\": [\n\t\t753,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t84\n\t],\n\t\"./invoice/JobLockSatusUpdateModal.js\": [\n\t\t753,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t84\n\t],\n\t\"./invoice/JobMonthGPSO\": [\n\t\t823,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t90\n\t],\n\t\"./invoice/JobMonthGPSO.js\": [\n\t\t823,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t12,\n\t\t90\n\t],\n\t\"./invoice/PopoverCalculator\": [\n\t\t681,\n\t\t9,\n\t\t152\n\t],\n\t\"./invoice/PopoverCalculator.js\": [\n\t\t681,\n\t\t9,\n\t\t152\n\t],\n\t\"./invoice/PrintingHistoryModal\": [\n\t\t715,\n\t\t9,\n\t\t0,\n\t\t34,\n\t\t1,\n\t\t72\n\t],\n\t\"./invoice/PrintingHistoryModal.js\": [\n\t\t715,\n\t\t9,\n\t\t0,\n\t\t34,\n\t\t1,\n\t\t72\n\t],\n\t\"./invoice/PrintingOptionModal\": [\n\t\t677,\n\t\t9,\n\t\t8,\n\t\t78\n\t],\n\t\"./invoice/PrintingOptionModal.js\": [\n\t\t677,\n\t\t9,\n\t\t8,\n\t\t78\n\t],\n\t\"./invoice/SearchJobSelect\": [\n\t\t689,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/SearchJobSelect.js\": [\n\t\t689,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t3,\n\t\t6,\n\t\t9\n\t],\n\t\"./invoice/StatusUpdateModal\": [\n\t\t711,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t85\n\t],\n\t\"./invoice/StatusUpdateModal.js\": [\n\t\t711,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t85\n\t],\n\t\"./invoice/SubTypeTaxRateModal\": [\n\t\t716,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t100\n\t],\n\t\"./invoice/SubTypeTaxRateModal.js\": [\n\t\t716,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t100\n\t],\n\t\"./invoice/UploadDocModal\": [\n\t\t698,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t86\n\t],\n\t\"./invoice/UploadDocModal.js\": [\n\t\t698,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t86\n\t],\n\t\"./invoice/reporting/Dashboard\": [\n\t\t699,\n\t\t9,\n\t\t14,\n\t\t58\n\t],\n\t\"./invoice/reporting/Dashboard.js\": [\n\t\t699,\n\t\t9,\n\t\t14,\n\t\t58\n\t],\n\t\"./invoice/reporting/Invoice\": [\n\t\t754,\n\t\t9,\n\t\t14,\n\t\t16,\n\t\t54\n\t],\n\t\"./invoice/reporting/Invoice.js\": [\n\t\t754,\n\t\t9,\n\t\t14,\n\t\t16,\n\t\t54\n\t],\n\t\"./invoice/reporting/SalesGPReport\": [\n\t\t755,\n\t\t9,\n\t\t14,\n\t\t16,\n\t\t55\n\t],\n\t\"./invoice/reporting/SalesGPReport.js\": [\n\t\t755,\n\t\t9,\n\t\t14,\n\t\t16,\n\t\t55\n\t],\n\t\"./invoice/reporting/styles/Invoice.css\": [\n\t\t1273,\n\t\t7,\n\t\t168\n\t],\n\t\"./invoice/reporting/styles/Invoice.css.map\": [\n\t\t1296,\n\t\t9,\n\t\t198\n\t],\n\t\"./invoice/reporting/styles/Invoice.scss\": [\n\t\t1297,\n\t\t7,\n\t\t195\n\t],\n\t\"./invoice/reporting/styles/_main.scss\": [\n\t\t1298,\n\t\t7,\n\t\t196\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 1256;\nmodule.exports = webpackAsyncContext;","import React, { Suspense, lazy } from 'react';\r\nimport { Route, withRouter, Switch } from 'react-router-dom';\r\n\r\nimport routingTable from './routingTable';\r\nimport withAuth from './components/withAuth';\r\nimport AuthService from './components/AuthService';\r\nimport BaseLayout from './screens/BaseLayout';\r\nimport { FallbackElements } from './components/Common';\r\nimport withTracker from './components/withTracker';\r\nimport AccessDeclined from './screens/AccessDeclined';\r\nimport { enableNotification } from './components/Notification/common';\r\n\r\nconst Layout = withRouter(BaseLayout);\r\n\r\nconst routing = routingTable.map(route => {\r\n route.component = lazy(() => import(`./screens/${route.filePath}`));\r\n return route;\r\n});\r\n\r\nconst App = () => {\r\n const Auth = new AuthService();\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n routing.filter(route => !(route.path||'').includes(\"Notification/\") || enableNotification).map((route, i) => {\r\n const component = (!route.funcId || (route.funcId && Auth.isAccessable(null, route.funcId))) ?\r\n route.component :\r\n AccessDeclined;\r\n \r\n return (\r\n \r\n );\r\n })\r\n }\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withTracker(withAuth(App));","import React, { PureComponent } from 'react';\r\nimport CookieConsent from \"react-cookie-consent\";\r\nimport { Button, Modal } from './base';\r\nimport { getText } from '../i18n/i18next';\r\n\r\nimport './PrivacyPolicyAcceptance.scss';\r\n\r\nclass PrivacyPolicyAcceptance extends PureComponent {\r\n \r\n state = {\r\n modalPrivacyPolicyAcceptanceVisible: false,\r\n };\r\n\r\n setModalPrivacyPolicyVisible = modalPrivacyPolicyAcceptanceVisible => this.setState({ modalPrivacyPolicyAcceptanceVisible });\r\n \r\n render() {\r\n const { modalPrivacyPolicyAcceptanceVisible } = this.state;\r\n \r\n return (\r\n <>\r\n \r\n Our website uses cookies. By continuing to use the website, you agree to the use of cookies. You can find further information on this topic in our data this.setModalPrivacyPolicyVisible(true)}>privacy policy.\r\n \r\n\r\n \r\n

{getText('privacyPolicy.header')}

\r\n \r\n }\r\n width={1000}\r\n visible={modalPrivacyPolicyAcceptanceVisible}\r\n onCancel={() => this.setModalPrivacyPolicyVisible(false)}\r\n footer={null}\r\n >\r\n
\r\n

{getText('privacyPolicy.privacyPolicy1')}

\r\n

{getText('privacyPolicy.privacyPolicy2')}

\r\n

{getText('privacyPolicy.personalData')}: {getText('privacyPolicy.personalDataContent')}

\r\n

{getText('privacyPolicy.useOfPersonalData')}: {getText('privacyPolicy.useOfPersonalDataContent')}

\r\n

{getText('privacyPolicy.deletionOfPersonalData')}: {getText('privacyPolicy.deletionOfPersonalDataContent')}

\r\n

{getText('privacyPolicy.contract')}: {getText('privacyPolicy.contractContent')}

\r\n

{getText('privacyPolicy.passongOfPersonalData')}: {getText('privacyPolicy.passongOfPersonalDataContent')}

\r\n

{getText('privacyPolicy.cookies')}: {getText('privacyPolicy.cookiesContent')}

\r\n

{getText('privacyPolicy.webAnalysisTools')}: {getText('privacyPolicy.webAnalysisToolsContent')}

\r\n
\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default PrivacyPolicyAcceptance;\r\n","const reportWebVitals = (onPerfEntry) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Router, Route, Switch } from 'react-router-dom';\r\n\r\nimport history from './components/history';\r\nimport App from './App';\r\nimport Login from './screens/Login';\r\nimport ForgotPassword from './screens/ForgotPassword';\r\nimport ResetPassword from './screens/ResetPassword';\r\nimport Registration from './screens/Registration/Registration';\r\nimport RegistrationWithSIS from './screens/Registration/RegistrationWithSIS';\r\nimport RegistrationWithoutSIS from './screens/Registration/RegistrationWithoutSIS';\r\nimport DownloadPublicFile from './screens/DownloadPublicFile';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport PrivacyPolicyAcceptance from './components/PrivacyPolicyAcceptance';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport './index.scss';\r\nimport TagManager from 'react-gtm-module'\r\n\r\n\r\nif (process.env.REACT_APP_GTM_CONTAINER_ID) {\r\n TagManager.initialize({\r\n gtmId: process.env.REACT_APP_GTM_CONTAINER_ID,\r\n userProject: 'BMS'\r\n });\r\n}\r\n\r\n//const baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n rootElement);\r\n\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://cra.link/PWA\r\nregisterServiceWorker();\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();","import React from 'react';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\n\r\nconst InformationIcon = ({ size, className }) => \r\n\r\nInformationIcon.defaultProps = {\r\n size: '22px'\r\n};\r\n\r\nexport default InformationIcon;\r\n","const routingTable = [\r\n { path: '/', filePath: 'Blank', name: 'Home', exact: true },\r\n { path: '/ChangeUser', filePath: 'ChangeUser', name: 'Change User', exact: true },\r\n\r\n /* Reports */\r\n { path: '/BMS/ShipmentReport', filePath: 'Report/ShipmentReport', name: 'Shipment (Recharts)', funcId: 'm_analytics_shipment' },\r\n { path: '/BMS/ShipmentReportPBIDirectQuery', filePath: 'Report/ShipmentReportPBI', name: 'Shipment (DirectQuery)', funcId: 'm_analytics_shipment_pbi_direct_query' },\r\n { path: '/BMS/ShipmentReportPBIDataImport', filePath: 'Report/ShipmentReportPBI', name: 'Sea & Other Shipment', funcId: 'm_analytics_shipment_pbi_data_import' },\r\n { path: '/BMS/ShipmentReportPBI2', filePath: 'Report/ShipmentReportPBI', name: 'Sea & Other Shipment 2', funcId: 'm_analytics_shipment2' },\r\n { path: '/BMS/CarrierReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Carrier', funcId: 'm_analytics_carrier' },\r\n { path: '/BMS/VendorReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Vendor', funcId: 'm_analytics_vendor' },\r\n { path: '/BMS/InvoiceGPPBI', filePath: 'Report/ShipmentReportPBI', name: 'Invoice GP', funcId: 'm_analytics_inv_gp_pbi' },\r\n { path: '/BMS/ProfitabilityReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Profitability', funcId: 'm_analytics_profitability' },\r\n { path: '/BMS/ProfitabilityReportPBI2', filePath: 'Report/ShipmentReportPBI', name: 'Profitability 2', funcId: 'm_analytics_profitability2' },\r\n { path: '/BMS/SalesProfitabilityReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Sales Profitability', funcId: 'm_analystics_sales_profitability' },\r\n { path: '/BMS/SalesProfitabilityReportPBI2', filePath: 'Report/ShipmentReportPBI', name: 'Sales Profitability 2', funcId: 'm_analystics_sales_profitability2' },\r\n { path: '/BMS/CarrierMQC', filePath: 'Report/ShipmentReportPBI', name: 'Carrier MQC', funcId: 'm_analytics_carrier_mqc' },\r\n { path: '/BMS/CarrierMQCShapiro', filePath: 'Report/ShipmentReportPBI', name: 'Carrier MQC (Shapiro)', funcId: 'm_analytics_carrier_mqc_shapiro' },\r\n { path: '/BMS/AgentReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Sea & Other Agent', funcId: 'm_analytics_agent' },\r\n { path: '/BMS/AgentReportPBI2', filePath: 'Report/ShipmentReportPBI', name: 'Sea & Other Agent 2', funcId: 'm_analytics_agent2' },\r\n { path: '/BMS/OperationReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Operation', funcId: 'm_analytics_operation' },\r\n { path: '/BMS/OperationAlertPBI', filePath: 'Report/ShipmentReportPBI', name: 'Operation Alert', funcId: 'm_analytics_operation_dashboard' },\r\n { path: '/BMS/AirShipmentReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Air Shipment', funcId: 'm_analytics_air_shipment' },\r\n { path: '/BMS/AirAgentReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Air Agent', funcId: 'm_analytics_air_agent' },\r\n { path: '/BMS/AirShipmentReportPBI2', filePath: 'Report/ShipmentReportPBI', name: 'Air Shipment 2', funcId: 'm_analytics_air_shipment2' },\r\n { path: '/BMS/AirAgentReportPBI2', filePath: 'Report/ShipmentReportPBI', name: 'Air Agent 2', funcId: 'm_analytics_air_agent2' },\r\n { path: '/BMS/BookingPBI', filePath: 'Report/ShipmentReportPBI', name: 'Booking', funcId: 'm_analytics_booking_analytics' },\r\n\r\n { path: '/BMS/CarrierPerformance', filePath: 'Report/ShipmentReportPBI', name: 'Carrier Performance', funcId: 'm_analytics_carrier_kpi' },\r\n { path: '/BMS/CarrierPerformanceSummary', filePath: 'Report/ShipmentReportPBI', name: 'Carrier Performace (Summary)', funcId: 'm_analytics_carrier_summary' },\r\n { path: '/BMS/CO2eEmissionReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'CO2e Emission', funcId: 'm_analytics_co2e_emission' },\r\n { path: '/BMS/ProductivityReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Productivity', funcId: 'm_analytics_productivity' },\r\n\r\n { path: '/BMS/InsightTrackerReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Insight Tracker', funcId: 'm_analytics_insight_tracker' },\r\n { path: '/BMS/WeblogTrackerReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Weblog Tracker', funcId: 'm_analytics_weblog_tracker' },\r\n\r\n { path: '/BMS/OperationAlertDashboard', filePath: 'OperationAlert/OperationAlertDashboard', name: 'Operation Alert 2', funcId: 'm_operation_alert_dashboard' },\r\n\r\n //for deom\r\n { path: '/BMS/ManorReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Manor', funcId: 'm_analytics_manor' },\r\n //end for demo\r\n\r\n //for deom\r\n { path: '/BMS/ManorReportPBI', filePath: 'Report/ShipmentReportPBI', name: 'Manor', funcId: 'm_analytics_manor' },\r\n //end for demo\r\n\r\n /* Advance search booking */\r\n { path: '/BMS/enhance_booking', filePath: 'Dashboard', name: 'Booking', exact: true },\r\n\r\n { path: '/BMS/enhance_booking/shipping_order/new', filePath: 'ShippingOrder', name: 'Create New Manual Booking', funcId: 'create_booking' },\r\n { path: '/BMS/enhance_booking/shipping_order/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order' },\r\n { path: '/BMS/enhance_booking/shipping_order_copy/:so_no', filePath: 'ShippingOrder', name: 'Copy Shipping Order' },\r\n { path: '/BMS/enhance_booking/e_booking/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order' },\r\n\r\n { path: '/BMS/enhance_booking/search_booking/', filePath: 'SearchBookingEnhance', name: 'Search Booking', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/new_e_booking/', filePath: 'SearchBookingEnhance', name: 'New SIS/OMS e-Booking Pending Creation', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/amend_e_booking/', filePath: 'SearchBookingEnhance', name: 'Amended e-Booking Pending', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/cancel_e_booking/', filePath: 'SearchBookingEnhance', name: 'Cancelled e-Booking Pending', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/new_manual_booking/', filePath: 'SearchBookingEnhance', name: 'New BMS Booking Pending Confirmation', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/booking_confirmed/', filePath: 'SearchBookingEnhance', name: 'Booking Confirmed', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/reuse_booking/', filePath: 'SearchBookingEnhance', name: 'Reuse Booking', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/booking_cancelled/', filePath: 'SearchBookingEnhance', name: 'Booking Cancelled', exact: true, funcId: 'booking' },\r\n { path: '/BMS/enhance_booking/booking_pending_si/', filePath: 'SearchBookingEnhance', name: 'Booking Pending Submit SI', exact: true, funcId: 'booking' },\r\n\r\n { path: '/BMS/enhance_booking/:search_state/shipping_order/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order' },\r\n { path: '/BMS/enhance_booking/:search_state/shipping_order_copy/:so_no', filePath: 'ShippingOrder', name: 'Copy Shipping Order' },\r\n { path: '/BMS/enhance_booking/:search_state/e_booking/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order' },\r\n \r\n \r\n \r\n { path: '/BMS/enhance_booking_approval', filePath: 'Dashboard', name: 'Booking Approval', exact: true, funcId: 'booking_approval' },\r\n\r\n { path: '/BMS/enhance_booking_approval/shipping_order/new', filePath: 'ShippingOrder', name: 'Create Booking', funcId: 'create_booking' },\r\n { path: '/BMS/enhance_booking_approval/shipping_order/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order' },\r\n\r\n { path: '/BMS/enhance_booking_approval/search_booking_approval/', filePath: 'SearchBookingEnhance', name: 'Search Booking Approval', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/pending_for_approval', filePath: 'SearchBookingEnhance', name: 'Booking Confirmed Pending for Booking Approval', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/request_approval', filePath: 'SearchBookingEnhance', name: 'Request For Approval', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/pending_customer_approval', filePath: 'SearchBookingEnhance', name: 'Pending For Customer Approval', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/booking_approved', filePath: 'SearchBookingEnhance', name: 'Booking Approved', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/booking_rejected', filePath: 'SearchBookingEnhance', name: 'Booking Rejected', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/booking_advice', filePath: 'SearchBookingEnhance', name: 'Booking Advice', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/booking_approval_updated_by_mr', filePath: 'SearchBookingEnhance', name: 'Booking Approval last updated by M+R', exact: true, funcId: 'booking_approval' },\r\n { path: '/BMS/enhance_booking_approval/booking_approval_updated_by_customer', filePath: 'SearchBookingEnhance', name: 'Booking Approval last updated by Customer', exact: true, funcId: 'booking_approval' },\r\n\r\n { path: '/BMS/enhance_booking_approval/:search_state/shipping_order/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order', funcId: 'booking_approval' },\r\n \r\n /* consolidation section */\r\n { path: '/BMS/consolidation', filePath: 'Dashboard', name: 'Consolidation', exact: true, funcId: 'consolidation' },\r\n\r\n { path: '/BMS/consolidation/consolidation_management/new', filePath: 'ConsolManagement/Consolidation', name: 'Create New Consol Plan', funcId: 'create_consolidation' },\r\n { path: '/BMS/consolidation/consolidation_management/:consolidation_no', filePath: 'ConsolManagement/Consolidation', name: 'Consolidation' },\r\n { path: '/BMS/consolidation/search_consolidation', filePath: 'SearchConsolidationEnhance', name: 'Search Consol Plan', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/request_consolidation_approval', filePath: 'SearchConsolidationEnhance', name: 'Request For Consol Approval', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/pending_consolidation_creation', filePath: 'SearchBookingEnhance', name: 'Pending for Consol Plan Creation', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/pending_customer_consolidation_approval', filePath: 'SearchConsolidationEnhance', name: 'Pending for Customer Consol Approval', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/consolidation_approved', filePath: 'SearchConsolidationEnhance', name: 'Consol Plan Approved', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/consolidation_rejected', filePath: 'SearchConsolidationEnhance', name: 'Consol Plan Rejected', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/consolidation_advice', filePath: 'SearchConsolidationEnhance', name: 'Consol Plan Advice', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/amended_booking_pending', filePath: 'SearchConsolidationEnhance', name: 'Amended Booking Pending (in Consol)', exact: true, funcId: 'consolidation' },\r\n { path: '/BMS/consolidation/load_plan_pending_allocation', filePath: 'SearchConsolidationEnhance', name: 'Load Plan Pending Allocation', exact: true, funcId: 'consolidation' }, \r\n\r\n { path: '/BMS/consolidation/:search_state/shipping_order/:so_no', filePath: 'ShippingOrder', name: 'Shipping Order', funcId: 'consolidation' },\r\n\r\n { path: '/BMS/consolidation/:search_state/consolidation_management/:consolidation_no', filePath: 'ConsolManagement/Consolidation', name: 'Consolidation' },\r\n { path: '/BMS/consolidation/:search_state/consolidation_management_copy/:consolidation_no', filePath: 'ConsolManagement/Consolidation', name: 'Copy Consolidation' }, \r\n\r\n /* setting section */\r\n { path: '/BMS/Setting', filePath: 'Blank', name: 'Setting', exact: true },\r\n { path: '/BMS/Setting/user_profile', filePath: 'Admin/UserProfile', name: 'User Profile' },\r\n { path: '/BMS/Setting/update_user_password', filePath: 'ChangePassword', name: 'Change Password' },\r\n /* template library */\r\n { path: '/BMS/Setting/TMPLIB/TemplateSearch', filePath: 'TemplateLibrary/UserTemplateSearch', name: 'Template Library', exact: true, funcId: 'tmplib_base' },\r\n { path: '/BMS/Setting/TMPLIB/TemplateSearch/TemplateDetails/new', filePath: 'TemplateLibrary/TmplibEntry', name: 'Create Template', exact: true, funcId: 'tmplib_edit' },\r\n { path: '/BMS/Setting/TMPLIB/TemplateSearch/TemplateDetails/new/:tmplib_view', filePath: 'TemplateLibrary/TmplibEntry', name: 'Create Template', exact: true, funcId: 'tmplib_edit' },\r\n { path: '/BMS/Setting/TMPLIB/TemplateSearch/TemplateDetails/:tmplib_id', filePath: 'TemplateLibrary/TmplibEntry', name: 'Template', exact: true, funcId: 'tmplib_base' },\r\n { path: '/BMS/Setting/TMPLIB/TemplateSearch/TemplateEdit/:tmplib_id', filePath: 'TemplateLibrary/TmplibEntry', name: 'Template', exact: true, funcId: 'tmplib_edit' },\r\n { path: '/TMPLIB/AddTemplate/:share_code', filePath: 'TemplateLibrary/TmplibEntry', name: 'Template', exact: true, funcId: 'tmplib_base' },\r\n\r\n /*Notification Center*/\r\n { path: '/BMS/NotificationCenter', filePath: 'Blank', name: 'Notification Center', exact: true },\r\n { path: '/BMS/NotificationCenter/search_email_notification/', filePath: 'NotificationCenter/SearchEmailNotification', name: 'Manage Email Notification', exact: true, funcId: 'admin' },\r\n { path: '/BMS/NotificationCenter/search_email_notification/new', filePath: 'NotificationCenter/NotificationSettingDetail', name: 'Create Notification Setting', funcId: 'admin' },\r\n { path: '/BMS/NotificationCenter/search_email_notification/:id?', filePath: 'NotificationCenter/NotificationSettingDetail', name: 'Notification Setting Detail', funcId: 'admin' },\r\n\r\n /*Notification*/\r\n { path: '/BMS/Notification/masterSetting/', filePath: 'Notification/NotificationMasterSetting' },\r\n //{ path: '/BMS/Notification/masterList/', filePath: 'Notification/NotificationMasterList' },\r\n\r\n /*SOPMS*/\r\n { path: '/SOPMS/SOPMSSearch/:section_code', filePath: 'TemplateLibrary/UserTemplateSearch', name: 'SOPMS', exact: true, funcId: 'tmplib_base' },\r\n { path: '/SOPMS/SOPMSSearch/SOPMSDetails/new', filePath: 'TemplateLibrary/TmplibEntry', name: 'Create SOPMS', exact: true, funcId: 'tmplib_edit' },\r\n { path: '/SOPMS/SOPMSSearch/SOPMSDetails/:tmplib_id', filePath: 'TemplateLibrary/TmplibEntry', name: 'SOPMS', exact: true, funcId: 'tmplib_base' },\r\n { path: '/SOPMS/SOPMSSearch/SOPMSEdit/:tmplib_id', filePath: 'TemplateLibrary/TmplibEntry', name: 'SOPMS', exact: true, funcId: 'tmplib_edit' },\r\n { path: '/SOPMS/routing_template/search_routing_template/routing_template_detail/new', filePath: 'TemplateLibrary/RoutingTemplateDetail', name: 'Create New Routing Template', funcId: 'create_routing_template' },\r\n { path: '/SOPMS/routing_template/search_routing_template/routing_template_detail/:routing_template_id', filePath: 'TemplateLibrary/RoutingTemplateDetail', name: 'Routing Template' },\r\n { path: '/SOPMS/routing_template/search_routing_template', filePath: 'TemplateLibrary/SearchRoutingTemplate', name: 'Routing Template', exact: true, funcId: 'routing_template' },\r\n\r\n /*Sequence Rule*/\r\n { path: '/BMS/Admin/SEQ/SequenceSearch', filePath: 'Sequence/SearchSequenceRule', name: 'Search Sequence Rule', exact: true, funcId: 'seq_base' },\r\n { path: '/BMS/Admin/SEQ/SequenceSearch/sequence_rule_details/:mst_seq_rule_id', filePath: 'Sequence/SequenceRuleDetails', name: 'Sequence Rule', funcId: 'seq_base' },\r\n { path: '/BMS/Admin/SEQ/sequence_rule_details/:mst_seq_rule_id', filePath: 'Sequence/SequenceRuleDetails', name: 'Sequence Rule', funcId: 'seq_base' },\r\n\r\n /* others section */\r\n { path: '/BMS/compareso', filePath: 'CompareSO', name: 'Compare SO' },\r\n\r\n /* admin section */\r\n { path: '/BMS/Admin', filePath: 'Blank', name: 'Admin', exact: true },\r\n //{ path: '/BMS/Admin/party_maintenance', filePath: 'Admin/SearchParty', name: 'Party Maintenance', exact: true, funcId: 'admin' },\r\n //{ path: '/BMS/Admin/party_maintenance/:party_id', filePath: 'Admin/Party', name: 'Party', funcId: 'admin' },\r\n { path: '/BMS/Admin/party_group_maintenance', filePath: 'Admin/SearchPartyGroup', name: 'Party Group Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/party_group_maintenance/new', filePath: 'Admin/PartyGroup', name: 'Create Party Group', funcId: 'admin' },\r\n { path: '/BMS/Admin/party_group_maintenance/:party_group_id?', filePath: 'Admin/PartyGroup', name: 'Party Group', funcId: 'admin' },\r\n { path: '/BMS/Admin/tradelane_maintenance', filePath: 'Admin/SearchTradeLane', name: 'TradeLane Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/tradelane_maintenance/new', filePath: 'Admin/TradeLane', name: 'Create TradeLane', funcId: 'admin' },\r\n { path: '/BMS/Admin/tradelane_maintenance/:tradelane_id', filePath: 'Admin/TradeLane', name: 'TradeLane', funcId: 'admin' },\r\n { path: '/BMS/Admin/sailing_schedule_maintenance', filePath: 'Master/SearchSailingSchedule', name: 'Sailing Schedule Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/sailing_schedule_maintenance/new', filePath: 'Master/SailingSchedule', name: 'Create Sailing Schedule', funcId: 'admin' },\r\n { path: '/BMS/Admin/sailing_schedule_maintenance/:sailing_schedule_id?', filePath: 'Master/SailingSchedule', name: 'Sailing Schedule', funcId: 'admin' },\r\n { path: '/BMS/Admin/user_maintenance', filePath: 'Admin/SearchUser', name: 'User Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/user_maintenance/new', filePath: 'Admin/UserMaintenanceDetail', name: 'Create User', funcId: 'admin' },\r\n { path: '/BMS/Admin/user_maintenance/:user_uid?', filePath: 'Admin/UserMaintenanceDetail', name: 'User', funcId: 'admin' },\r\n { path: '/BMS/Admin/user_registration_maintenance', filePath: 'Admin/SearchUserRegistration', name: 'User Registration Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/user_registration_maintenance/:user_registration_id?', filePath: 'Admin/UserRegistrationMaintenanceDetail', name: 'User Registration', funcId: 'admin' },\r\n { path: '/BMS/Admin/warehouse_maintenance', filePath: 'Master/SearchWarehouse', name: 'Warehouse Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/warehouse_maintenance/new', filePath: 'Master/Warehouse', name: 'Create Warehouse', funcId: 'admin' },\r\n { path: '/BMS/Admin/warehouse_maintenance/:party_code_id?', filePath: 'Master/Warehouse', name: 'Warehouse', funcId: 'admin' },\r\n { path: '/BMS/Admin/carrier_maintenance', filePath: 'Master/SearchCarrier', name: 'Carrier Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/carrier_maintenance/new', filePath: 'Master/Carrier', name: 'Create Carrier', funcId: 'admin' },\r\n { path: '/BMS/Admin/carrier_maintenance/:id?', filePath: 'Master/Carrier', name: 'Carrier', funcId: 'admin' },\r\n { path: '/BMS/Admin/sys_notice_maintenance', filePath: 'Admin/SearchSysNotice', name: 'System Notice Maintenance', exact: true, funcId: 'admin' },\r\n { path: '/BMS/Admin/sys_notice_maintenance/new', filePath: 'Admin/SysNoticeDetail', name: 'Create System Notice', funcId: 'admin' },\r\n { path: '/BMS/Admin/sys_notice_maintenance/:uid?', filePath: 'Admin/SysNoticeDetail', name: 'System Notice', funcId: 'admin' },\r\n\r\n /* party section */\r\n { path: '/BMS/party', filePath: 'Dashboard', name: 'Party', exact: true },\r\n { path: '/BMS/party/search_party', filePath: 'PartyManagement/SearchParty', name: 'Search Party', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/pending_party_approval', filePath: 'PartyManagement/SearchParty', name: 'Party Pending For Approval', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_maintenance/new', filePath: 'PartyManagement/Party', name: 'Create New Party', funcId: 'party' },\r\n { path: '/BMS/party/pending_party_management_approval', filePath: 'PartyManagement/SearchParty', name: 'Party Pending For Management Approval', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_management_approved', filePath: 'PartyManagement/SearchParty', name: 'Management Approved', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_approved', filePath: 'PartyManagement/SearchParty', name: 'Party Approved', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/pending_party_sunac_approval', filePath: 'PartyManagement/SearchParty', name: 'Party Approved + Sun A/C Pending', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_sunac_approved', filePath: 'PartyManagement/SearchParty', name: 'Party Approved + Sun A/C Handled', exact: true, funcId: 'party' },\r\n \r\n\r\n { path: '/BMS/party/party_admin_rejected', filePath: 'PartyManagement/SearchParty', name: 'Party Rejected', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_management_rejected', filePath: 'PartyManagement/SearchParty', name: 'Management Rejected', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_sunac_rejected', filePath: 'PartyManagement/SearchParty', name: 'Party Approved + Sun A/C Rejected', exact: true, funcId: 'party' },\r\n\r\n { path: '/BMS/party/pending_for_party_sunac_cam_approval', filePath: 'PartyManagement/SearchParty', name: 'Party Approved + CAM Pending', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_sunac_approved_cam', filePath: 'PartyManagement/SearchParty', name: 'Party Approved + CAM Handled', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/party_sunac_rejected_cam', filePath: 'PartyManagement/SearchParty', name: 'Party Approved + CAM Rejected', exact: true, funcId: 'party' },\r\n\r\n { path: '/BMS/party/party_maintenance/:party_id', filePath: 'PartyManagement/Party', name: 'Party Maintenance', funcId: 'party' },\r\n\r\n { path: '/BMS/party/:search_state/party_maintenance/:party_id', filePath: 'PartyManagement/Party', name: 'Party Maintenance', funcId: 'party' },\r\n\r\n\r\n { path: '/BMS/party/account_group_code_maintenance', filePath: 'PartyManagement/SearchAccountGroupCode', name: 'Customer Group Code Maintenance', exact: true, funcId: 'party' },\r\n { path: '/BMS/party/account_group_code_maintenance/new', filePath: 'PartyManagement/AccountGroupCode', name: 'Create Customer Group Code', funcId: 'party' },\r\n { path: '/BMS/party/account_group_code_maintenance/:customer_id?', filePath: 'PartyManagement/AccountGroupCode', name: 'Customer Group Code', funcId: 'party' },\r\n\r\n \r\n /* invoice section */\r\n\r\n { path: '/INV/Search', filePath: 'invoice/InvoiceSearch2', name: 'Search AP / AR', exact: true, funcId: 'm_ap' },\r\n\r\n { path: '/INV/InvoiceClose', filePath: 'invoice/InvoiceClose', name: 'AR / AP Pending Account Period Close (7021/23)', funcId: 'inv_closing' },\r\n { path: '/INV/InvoiceGenericClose', filePath: 'invoice/InvoiceGenericClose', name: 'AR / AP Pending Account Period Close', funcId: 'inv_generic_closing' },\r\n\r\n { path: '/INV/BlankJob', filePath: 'invoice/BlankJob', name: '703X Blank Job Listing', funcId: 'm_ap_blank_job' },\r\n { path: '/INV/JobMonthGP', filePath: 'invoice/InvoiceJobMonthGP', name: 'GP by Job Month Listing', funcId: 'm_ap_job_month_gp' },\r\n { path: '/INV/JobMonthGPSO', filePath: 'invoice/JobMonthGPSO', name: 'GP by SO', funcId: 'm_ar_gp_so' },\r\n\r\n //20201105 #3181 New Dashboard Card//{ path: '/INV/ap', filePath: 'Dashboard', name: 'Account Payable', exact: true, funcId: 'm_ap' },\r\n { path: '/INV/ap', filePath: 'invoice/Dashboard', name: 'Account Payable', exact: true, funcId: 'm_ap' },\r\n //20201105 #3181 New Dashboard Card//{ path: '/INV/ar', filePath: 'Dashboard', name: 'Account Receivable', exact: true, funcId: 'm_ar' },\r\n { path: '/INV/ar', filePath: 'invoice/Dashboard', name: 'Account Receivable', exact: true, funcId: 'm_ar' },\r\n { path: '/INV/GPReport', filePath: 'invoice/InvoiceReport_GP', name: 'Web Invoice GP', exact: true, funcId: 'm_analytics_inv_gp' },\r\n { path: '/INV/GPReport1', filePath: 'invoice/InvoiceReport_GP', name: 'GP by Job Month, Service and Mode', exact: true, funcId: 'm_analytics_inv_gp1' },\r\n { path: '/INV/GPReport2', filePath: 'invoice/InvoiceReport_GP', name: 'GP by POL and Office', exact: true, funcId: 'm_analytics_inv_gp2' },\r\n { path: '/INV/GPReport3', filePath: 'invoice/InvoiceReport_GP', name: 'GP by CBM, Container, CW and Shipment', exact: true, funcId: 'm_analytics_inv_gp3' },\r\n { path: '/INV/GPReport4', filePath: 'invoice/InvoiceReport_GP', name: 'GP by Invoice and Shipment Details', exact: true, funcId: 'm_analytics_inv_gp4' },\r\n { path: '/INV/SalesGPReport', filePath: 'invoice/InvoiceReport_SalesGP', name: 'Web Invoice Sales GP', exact: true, funcId: 'm_analytics_inv_salesgp' },\r\n\r\n { path: '/INV/apDetails/newbyjob/:account_code/:job_no', filePath: 'invoice/InvoiceEntry', name: 'Create New AP', exact: true, funcId: 'inv_edit' },\r\n { path: '/INV/apDetails/new/:inv_id?/:tab_id?', filePath: 'invoice/InvoiceEntry', name: 'Create New AP', funcId: 'inv_edit' },\r\n { path: '/INV/apDetails/:inv_id/:tab_id?', filePath: 'invoice/InvoiceEntry', name: 'Invoice', exact: true, funcId: 'm_ap_search' },\r\n\r\n /* Charge Code Setting Section */\r\n { path: '/INV/chargeCodeDetails/:charge_code', filePath: 'invoice/ChargeCode/ChargeCodeEntry', name: 'Create New Charge Code', exact: true, funcId: 'm_ap_search' },\r\n\r\n //Quick Dump >>> SELECT * FROM SYS_MENU WHERE menu_id LIKE '%m_ap_%' and url LIKE '/INV/apSear%' ORDER BY url ASC\r\n\r\n { path: '/INV/apSearch/JobSearch', filePath: 'invoice/InvoicePendingCreation2', name: 'Job Search', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/arSearch/JobSearch/:stage_name?', filePath: 'invoice/InvoicePendingCreation2', name: 'Job Search', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/apSearch/PendingCreation/Local', filePath: 'invoice/InvoicePendingCreation', name: 'Local', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/PendingCreation/Overseas', filePath: 'invoice/InvoicePendingCreation', name: 'Overseas', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/APRefInput', filePath: 'invoice/InvoiceSearch2', name: 'AP Pending AP Ref to be entered', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Closed', filePath: 'invoice/InvoiceSearch2', name: 'AP Account Period Closed', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/PendingPosting', filePath: 'invoice/InvoiceSearch2', name: 'AP Pending Posting', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/PendingPreparation', filePath: 'invoice/InvoiceSearch2', name: 'AP Pending Preparation', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Posted', filePath: 'invoice/InvoiceSearch2', name: 'AP Posted', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/PostedSuccess', filePath: 'invoice/InvoiceSearch2', name: 'AP Posted to SUN Success', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/PostedFailure', filePath: 'invoice/InvoiceSearch2', name: 'AP Posting to SUN Failed', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/PostedPending', filePath: 'invoice/InvoiceSearch2', name: 'AP Pending Ack. from SUN', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Prepared', filePath: 'invoice/InvoiceSearch2', name: 'AP Pending Approval (1st level)', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Reversed', filePath: 'invoice/InvoiceSearch2', name: 'AP Reversed', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Settled', filePath: 'invoice/InvoiceSearch2', name: 'AP Settled', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Supervisor Approved', filePath: 'invoice/InvoiceSearch2', name: 'AP Pending Approval (2nd level)', exact: true, funcId: 'm_ap_search' },\r\n { path: '/INV/apSearch/Unsettled', filePath: 'invoice/InvoiceSearch2', name: 'AP Unsettled', exact: true, funcId: 'm_ap_search'},\r\n { path: '/INV/apSearch/:stage_name?', filePath: 'invoice/InvoiceSearch2', name: 'AP Search', funcId: 'm_ap_search' }, //This Line should in the bottom\r\n\r\n { path: '/INV/arDetails/newbyjob/:account_code/:job_no', filePath: 'invoice/InvoiceEntry', name: 'Create New AR', funcId: 'inv_edit' },\r\n { path: '/INV/arDetails/new/:inv_id?/:tab_id?', filePath: 'invoice/InvoiceEntry', name: 'Create New AR', funcId: 'inv_edit' },\r\n { path: '/INV/arDetails/:inv_id/:tab_id?', filePath: 'invoice/InvoiceEntry', name: 'Invoice', exact: true, funcId: 'm_ar_search' },\r\n\r\n //Quick Dump >>> SELECT * FROM SYS_MENU WHERE menu_id LIKE '%m_ar_%' and url LIKE '/INV/arSear%' ORDER BY url ASC\r\n { path: '/INV/arSearch/JobSearch', filePath: 'invoice/InvoicePendingCreation2', name: 'Job Search', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/JobSearch/:stage_name?', filePath: 'invoice/InvoicePendingCreation2', name: 'Job Search', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PendingCreation/Local', filePath: 'invoice/InvoicePendingCreation', name: 'Local', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PendingCreation/Overseas', filePath: 'invoice/InvoicePendingCreation', name: 'Overseas', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Closed', filePath: 'invoice/InvoiceSearch2', name: 'AR Account Period Closed', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/New', filePath: 'invoice/InvoiceSearch2', name: 'AR Pending Preparation', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PendingPosting', filePath: 'invoice/InvoiceSearch2', name: 'AR Pending Posting', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PendingPrinting', filePath: 'invoice/InvoiceSearch2', name: 'AR Pending Printing', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Posted', filePath: 'invoice/InvoiceSearch2', name: 'AR Posted', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PostedSuccess', filePath: 'invoice/InvoiceSearch2', name: 'AR Posted to SUN Success', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PostedFailure', filePath: 'invoice/InvoiceSearch2', name: 'AR Posting to SUN Failed', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/PostedPending', filePath: 'invoice/InvoiceSearch2', name: 'AR Pending Ack. from SUN', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Reversed', filePath: 'invoice/InvoiceSearch2', name: 'AR Reversed', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Settled', filePath: 'invoice/InvoiceSearch2', name: 'AR Settled', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Unsettled', filePath: 'invoice/InvoiceSearch2', name: 'AR Unsettled', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Import', filePath: 'invoice/InvoiceSearch2', name: 'AR Pending Import', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/Export', filePath: 'invoice/InvoiceSearch2', name: 'AR Pending Export', exact: true, funcId: 'm_ar_search' },\r\n { path: '/INV/arSearch/:stage_name?', filePath: 'invoice/InvoiceSearch2', name: 'AR Search', funcId: 'm_ar_search' }, //This Line should in the bottom\r\n { path: '/INV/GPTest', filePath: 'invoice/InvoiceReport_GPTest', name: 'AR Pending Export', exact: true, funcId: 'm_ar_search' },\r\n \r\n { filePath: 'AccessDeclined', name: 'Access Forbidden' },\r\n\r\n //please keep this as the last item!!!\r\n { filePath: 'NotFound', name: 'Page Not Found' }\r\n];\r\n\r\nexport default routingTable;\r\n","import React from 'react';\r\nimport { AutoComplete, Popconfirm, Select, Message } from '../../components/base';\r\nimport FlagIcon from '../../components/FlagIcon';\r\nimport './common.scss';\r\nimport { CheckIsNullOrUndefined, showAjaxErrorMsg, checkNormalCharactersOnly, checkWhiteSpace, CheckIsEmptyString } from '../../components/Common';\r\nimport Ajax from '../../components/Ajax';\r\nimport { getText } from '../../i18n/i18next';\r\nimport { CloseOutlined, AndroidOutlined } from '@ant-design/icons';\r\nimport AuthService from '../../components/AuthService';\r\n\r\nconst { isArray } = Array;\r\nconst AutoCompleteOption = AutoComplete.Option;\r\nconst Option = Select.Option;\r\n\r\nconst Auth = new AuthService();\r\n\r\nexport const ENSValidationStartDate = '2024-05-27';\r\n\r\nexport function GetPartyOption(parties, noRecordText = 'No record found', isLoading = false, isPredict = false, party_type = '') {\r\n return isLoading ?\r\n []\r\n :\r\n (isArray(parties) && parties.length > 0 ?\r\n parties.map(p => {\r\n let similarity = '';\r\n\r\n if (isPredict) {\r\n if (['CNS', 'NOTIFY'].includes(party_type) && !CheckIsNullOrUndefined(p.Similarity) && !isNaN(p.Similarity)) {\r\n similarity = (p.Similarity * 100).toFixed(2).toString() + '%';\r\n }\r\n else if (party_type === 'RELEASE_AGENT' && !CheckIsNullOrUndefined(p.release_score) && !isNaN(p.release_score)) {\r\n similarity = (p.release_score * 100).toFixed(2).toString() + '%';\r\n }\r\n else if (party_type === 'NOMINATION_AGENT' && !CheckIsNullOrUndefined(p.nominate_score) && !isNaN(p.nominate_score)) {\r\n similarity = (p.nominate_score * 100).toFixed(2).toString() + '%';\r\n }\r\n }\r\n \r\n return (\r\n \r\n \r\n {p.full_name}\r\n {p.party_code_display ? `(${p.party_code_display})` : ''}\r\n {\r\n isPredict &&\r\n <>\r\n \r\n {isPredict ? : ''}\r\n \r\n \r\n {isPredict ? similarity : ''}\r\n \r\n \r\n }\r\n \r\n
{p.full_addr}
\r\n \r\n )\r\n })\r\n :\r\n []);\r\n}\r\n\r\nexport function GetCustomerOption(customers, noRecordText = 'No record found', isLoading = false) {\r\n return isLoading ?\r\n []\r\n :\r\n (isArray(customers) && customers.length > 0 ?\r\n customers.map(c => (\r\n \r\n )) :\r\n []);\r\n}\r\n\r\nexport function GetPortOption(ports, noRecordText = 'No record found') {\r\n return isArray(ports) && ports.length > 0 ?\r\n ports.filter(p => p.unCode !== '').map(p => (\r\n \r\n )) :\r\n [];\r\n}\r\n\r\nexport function GetCountryOption(countries, noRecordText = 'No record found') {\r\n return isArray(countries) && countries.length > 0 ?\r\n countries.map(c => (\r\n \r\n )) :\r\n [];\r\n}\r\n\r\nexport function GetCityOption(cities, noRecordText = 'No record found') {\r\n return isArray(cities) && cities.length > 0 ?\r\n cities.map(c => (\r\n \r\n )) :\r\n [];\r\n}\r\n\r\nexport function GetISFInfoOption(info, noRecordText = 'No record found', deleteRecord) {\r\n return isArray(info) && info.length > 0 ?\r\n info.map((i, idx) => {\r\n let addr = `${i.address1 || ''},${i.address2 || ''},${i.city || ''},${i.state || ''},${i.zip || ''},${i.country || ''}`.replace(/,+/g, ',');\r\n if (addr === ',') addr = '';\r\n let confirmMsg = \"Are you sure to delete [\" + i.name + \"]?\";\r\n return (\r\n \r\n
\r\n
{i.name}
\r\n {\r\n i.isf_profile_id > 0 &&\r\n {\r\n e.preventDefault(); e.stopPropagation();\r\n }}\r\n >\r\n { deleteRecord && deleteRecord(i.isf_profile_id); }}\r\n >\r\n \r\n \r\n
\r\n }\r\n
{addr}
\r\n \r\n \r\n );\r\n }) :\r\n [\r\n {noRecordText}\r\n ];\r\n}\r\n\r\nexport function GetENSInfoOption(info, noRecordText = 'No record found', deleteRecord) {\r\n return isArray(info) && info.length > 0 ?\r\n info.map((i, idx) => {\r\n let addr = `${i.address1 || ''},${i.address2 || ''},${i.city || ''},${i.state || ''},${i.zip || ''},${i.country_code || ''}`.replace(/,+/g, ',');\r\n if (addr === ',') addr = '';\r\n let confirmMsg = \"Are you sure to delete [\" + i.name + \"]?\";\r\n return (\r\n \r\n
\r\n
{i.name}
\r\n {\r\n i.id > 0 &&\r\n {\r\n e.preventDefault(); e.stopPropagation();\r\n }}\r\n >\r\n { deleteRecord && deleteRecord(i.id); }}\r\n >\r\n \r\n \r\n
\r\n }\r\n
{addr}
\r\n \r\n \r\n );\r\n }) :\r\n [\r\n {noRecordText}\r\n ];\r\n}\r\n\r\nexport function GetCarrierOption(carrierList, noRecordText = 'No record found') {\r\n return isArray(carrierList) && carrierList.length > 0 ?\r\n carrierList.map(c => (\r\n \r\n )) :\r\n [];\r\n}\r\n\r\nexport function GetUnLocodeOption(unLocodes, noRecordText = 'No record found') {\r\n return isArray(unLocodes) && unLocodes.length > 0 ?\r\n unLocodes.filter(p => p.locode !== '').map(p => (\r\n \r\n )) :\r\n [];\r\n}\r\n\r\nexport function GetKeyValuePairOption(list, noRecordText = 'No record found') {\r\n return isArray(list) && list.length > 0 ?\r\n list.filter(p => p.locode !== '').map(p => (\r\n \r\n )) :\r\n [];\r\n}\r\n\r\nexport function GetCFSOption(cfsList, noRecordText = 'No record found') {\r\n if (isArray(cfsList) && cfsList.length > 0) {\r\n let option_list = [];\r\n let w_relationship_list = cfsList.filter(p => p.has_party_relationship);\r\n let wo_relationship_list = cfsList.filter(p => !p.has_party_relationship);\r\n\r\n if (w_relationship_list && w_relationship_list.length > 0) {\r\n w_relationship_list.forEach(p => {\r\n option_list.push(\r\n \r\n {p.full_name} {p.party_code ? `(${p.party_code})` : ''}\r\n
{p.full_addr}
\r\n \r\n );\r\n });\r\n }\r\n\r\n if (option_list.length > 0 && wo_relationship_list && wo_relationship_list.length > 0) {\r\n option_list.push(\r\n \r\n );\r\n }\r\n\r\n if (wo_relationship_list && wo_relationship_list.length > 0) {\r\n wo_relationship_list.forEach(p => {\r\n option_list.push(\r\n \r\n {p.full_name} {p.party_code ? `(${p.party_code})` : ''}\r\n
{p.full_addr}
\r\n \r\n );\r\n });\r\n }\r\n\r\n return option_list;\r\n }\r\n\r\n return (\r\n []\r\n );\r\n\r\n \r\n}\r\n\r\n//export function showAjaxErrorMsg(error){\r\n// if (error.response && error.response.status === 404) {\r\n// Message.warn(getText('msgNoRecordFound'), 10);\r\n// }\r\n// else if (error.response && error.response.data) {\r\n// Message.error(`${error.response.data.Message}`, 10);\r\n// }\r\n// else {\r\n// Message.error(`${error}`, 10);\r\n// }\r\n//}\r\n\r\nexport async function openMobileDetailPage(record, uac) {\r\n const baseUrl = `${process.env.PUBLIC_URL}/api/v1`;\r\n let url = new URL(`${baseUrl}/Shipment/GetMobileSite`, window.location.href);\r\n\r\n if (!CheckIsNullOrUndefined(uac)) {\r\n let user_uid = uac.user_uid;\r\n\r\n if (CheckIsNullOrUndefined(user_uid)) {\r\n Message.error(getText('so.msgInvalidUser'), 10);\r\n }\r\n else {\r\n try {\r\n let res = await Ajax.get(url);\r\n if (res && isArray(res.data) && res.data.length > 0 && res.data[0] && res.data[0].pvalue) {\r\n let mobileSite = res.data[0].pvalue;\r\n\r\n //Check SO exists in mobile DB or not\r\n let so_no = record.so_no;\r\n let mobileURL = new URL(`${baseUrl}/Shipment/CheckSOExistsInMobile/${so_no}`, window.location.href);\r\n\r\n res = await Ajax.get(mobileURL);\r\n \r\n if (res && res.data) {\r\n if (!CheckIsNullOrUndefined(res.data.master_so_no)) so_no = res.data.master_so_no;\r\n\r\n //add token\r\n let tokenURL = new URL(`${baseUrl}/Shipment/AddTokenForRedirectMobileSite`, window.location.href);\r\n tokenURL.searchParams.append('user_uid', uac.user_uid);\r\n //tokenURL.searchParams.append('user_uid', '10000031');\r\n res = await Ajax.post(tokenURL);\r\n\r\n if (res && res.data && res.data.token) {\r\n //window.open(mobileSite + `?soNo=SBO-ALPYV-8&token=${res.data.token}&row_no=0`, \"MobileWindow\");\r\n window.open(mobileSite + `?soNo=${so_no}&token=${res.data.token}&row_no=0`);\r\n }\r\n else {\r\n Message.error(getText('so.msgAddTokenFail'), 10);\r\n return;\r\n }\r\n }\r\n else {\r\n Message.error(getText('so.msgSONotExistsInMobile'), 10);\r\n return;\r\n }\r\n }\r\n else {\r\n Message.error(getText('so.msgMobileSiteNotFound'), 10);\r\n return;\r\n }\r\n }\r\n catch (error) {\r\n showAjaxErrorMsg(error);\r\n }\r\n }\r\n }\r\n else {\r\n Message.error(getText('so.msgInvalidUser'), 10);\r\n }\r\n}\r\n\r\n//export function checkTBCContainerNoFormatValid(container_no) {\r\n// if (!CheckIsNullOrUndefined(container_no) && container_no.length >= 3 && container_no.length <= 5 && checkNormalCharactersOnly(container_no) && !checkWhiteSpace(container_no) && container_no.toLowerCase().includes('tbc')) {\r\n// return true;\r\n// }\r\n \r\n// return false;\r\n//}\r\n\r\nexport async function getPOLHandlingOffice(pol_locode, showAllHDOffice, user_profile_id, handling_office_party_id) {\r\n const baseUrl = `${process.env.PUBLIC_URL}/api/v1`;\r\n let url = new URL(`${baseUrl}/party/getPOLHandlingOffice`, window.location.href);\r\n let uac = Auth.getUac();\r\n\r\n url.searchParams.append('pol_locode', pol_locode ? pol_locode : '');\r\n url.searchParams.append('include_party_id', handling_office_party_id ? handling_office_party_id : '');\r\n\r\n if (showAllHDOffice) {\r\n url.searchParams.append('show_all', true);\r\n }\r\n else if (uac && isArray(uac.menu_func_accesses))\r\n {\r\n if (uac.menu_func_accesses.findIndex(mfa => mfa.func_id === 'show_full_list_hd_office') === -1) {\r\n url.searchParams.append('user_profile_id', user_profile_id);\r\n }\r\n else if (CheckIsEmptyString(pol_locode) && CheckIsEmptyString(handling_office_party_id)){\r\n url.searchParams.append('show_all', true);\r\n }\r\n }\r\n\r\n try {\r\n return Ajax.get(url.toString())\r\n .then(res => {\r\n return res.data;\r\n });\r\n } catch (error) {\r\n if (error.response && error.response.status === 404) {\r\n return [];\r\n }\r\n }\r\n}","import * as React from 'react'\r\nimport FlagIconFactory from 'react-flag-icon-css'\r\n\r\nconst FlagIcon = FlagIconFactory(React, { useCssModules: false })\r\n\r\nexport default FlagIcon","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAM1BMVEUAAABgYGBoaGhlZWVoaGhmZmZlZWVmZmZmZmZnZ2dmZmZlZWVmZmZmZmZmZmZmZmZmZmZPlbucAAAAEHRSTlMAECAwQFBgcICQoLDA0ODwVOCoyAAAAY1JREFUaN7tmduSgyAMhgsiAnJ6/6ftCqzT7pYKMbiHyX/XMpOPQCIJ3G4kEolEQhETm/hAgjQ+ZoVVsiE+qBAfFQy+P8szImEUshtrfCWH6Qx3++ytUsr6/eeE50cxGvSnTa48MoUVP/RTQJU4CEhRZrI18eXvKbMtCkPU1qV4uGBAfHXt815hLJhM051fjk1pDCFd7GZnrQyqbdCfT5E02VrSsVB3s+dz8j6CUuRplPiV1eEZJYrTlrxJ67SaZyFHRhwWJBx5yhEg9ggiCEIQghCEIPgQrn1sE7yPkCF2CFYYydgnCIWFTgjkfFSlH2lR3joDLFNMz4wCsExprqU9rGjpK6gsQX4QIpUcDtmqfDcYkhs4ORYiKp8pghDkPGSpnByYEFUOQTMQMu9H7TIOst8SfrtPQYQ8VA3TFRDxtz1Zr9gTsUPkwDyRF+TJhy+bNTdTtfJ/Ib6n5WDAq8iUeG4WTXLAS+jebg7Wz7lOBuhhYOprGoFvQtx2MBz43Ulo2yZ9+k2ARCKRfpvu2XlRdO4iUKQAAAAASUVORK5CYII=\"","import React from 'react';\r\nimport { Button } from './base';\r\nimport { RollbackOutlined, EditOutlined } from '@ant-design/icons';\r\n\r\nconst EditButton = ({ editable, onEdit, onCancel, cancelText, editText, showAcceptRejectAll, acceptRejectAllText, onAcceptRejectAll, showLatestEBookingText, onShowLatestEbooking, disabled }) => (\r\n editable ?\r\n <> {showAcceptRejectAll ?
: ''}\r\n :\r\n \r\n);\r\n\r\nEditButton.defaultProps = {\r\n editable: false,\r\n cancelText: 'Cancel',\r\n editText: 'Edit',\r\n disabled: false\r\n};\r\n\r\nexport default EditButton;\r\n","import axios from 'axios';\r\nimport history from './history';\r\nimport { processLogout } from './AuthService';\r\n\r\n/**\r\n * @component\r\n * Wrapper of `axios`, when receiving 401 response, will redirect to login page\r\n */\r\n\r\nconst errorHandling = (error, showError) => {\r\n if (!axios.isCancel(error) && showError) {\r\n if (error.response && error.response.status === 401) {\r\n processLogout();\r\n history.replace('/login');\r\n }\r\n else if (error.response && error.response.status === 403) {\r\n history.replace('/AccessDeclined');\r\n }\r\n else {\r\n if (!error.response || error.response.status !== 404) {\r\n console.error(error, error.response);\r\n }\r\n }\r\n }\r\n return Promise.reject(error);\r\n};\r\n\r\nclass Ajax {\r\n defaults = axios.defaults;\r\n CancelToken = axios.CancelToken;\r\n\r\n get(url, responseType = 'json', cancelToken = null, headers = null, showError = true) {\r\n let config = { responseType: responseType, cancelToken: cancelToken };\r\n if (headers !== null && headers !== undefined) config.headers = headers;\r\n\r\n return axios.get(url, config)\r\n .then(res => {\r\n return Promise.resolve(res);\r\n })\r\n .catch(error => {\r\n return errorHandling(error, showError);\r\n });\r\n }\r\n\r\n post(url, data, responseType = 'json', cancelToken = null, headers = null) {\r\n let config = { responseType: responseType, cancelToken: cancelToken };\r\n if (headers !== null && headers !== undefined) config.headers = Object.assign({}, config.headers, headers);\r\n\r\n return axios.post(url, data, config)\r\n .then(res => {\r\n return Promise.resolve(res);\r\n })\r\n .catch(error => {\r\n return errorHandling(error);\r\n });\r\n }\r\n\r\n put(url, data, responseType = 'json') {\r\n return axios.put(url, data, { responseType: responseType })\r\n .then(res => {\r\n return Promise.resolve(res);\r\n })\r\n .catch(error => {\r\n return errorHandling(error);\r\n });\r\n }\r\n\r\n delete(url) {\r\n return axios.delete(url)\r\n .then(res => {\r\n return Promise.resolve(res);\r\n })\r\n .catch(error => {\r\n return errorHandling(error);\r\n });\r\n }\r\n\r\n all(promises) {\r\n return axios.all(promises);\r\n }\r\n\r\n spread(callbacks) {\r\n return axios.spread(callbacks);\r\n }\r\n\r\n isCancel = (value) => axios.isCancel(value)\r\n}\r\n\r\nexport default new Ajax();","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\r\n\r\nconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\nexport default function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n \r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://cra.link/PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://cra.link/PWA.'\r\n );\r\n var r = window.confirm(\"New content is available. Click OK to refresh the page.\");\r\n if (r === true) {\r\n //window.location.reload(true);\r\n try {\r\n caches.keys().then(function (keyList) {\r\n console.log('keyList', keyList)\r\n return Promise.all(keyList.map(function (key) {\r\n console.log('delete cache', key)\r\n return caches.delete(key);\r\n }));\r\n }).then(() => {\r\n console.log('unregister')\r\n unregister()\r\n }).then(() => {\r\n console.log('register')\r\n register(swUrl);\r\n }).then(() => {\r\n console.log('reload')\r\n window.location.reload(true);\r\n })\r\n }\r\n catch (err) {\r\n console.log('err', err)\r\n }\r\n }\r\n\r\n \r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload(true);\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n\r\nexport function updateServiceWorker() {\r\n \r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n navigator.serviceWorker.getRegistration(swUrl).then(registration => {\r\n console.log(\"updateServiceWorker\", registration);\r\n if (registration) {\r\n console.log(\"updateServiceWorker registration not null\");\r\n registration.update();\r\n } \r\n });\r\n }\r\n}","import React, { PureComponent } from 'react';\r\nimport { SetTitle } from '../components/Common';\r\n\r\nclass AccessDeclined extends PureComponent {\r\n componentDidMount() {\r\n SetTitle('403 Forbidden');\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

403 Forbidden

\r\n

You don't have permission to access {this.props.location.pathname.split('/').pop() === 'AccessDeclined' ? 'the record' : '(' + this.props.location.pathname + ')'}.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AccessDeclined;","import 'url-polyfill';\r\nimport React, { Component } from 'react';\r\n\r\nimport { Button, Card, Form4, Input, Select, Message, Modal } from '../components/base/index';\r\nimport AuthService from '../components/AuthService';\r\nimport { changeLanguage, getText, DefaultLang } from '../i18n/i18next';\r\nimport withTracker from '../components/withTracker';\r\nimport Ajax from '../components/Ajax';\r\nimport { SetTitle, GUID } from '../components/Common';\r\nimport { ReactComponent as CompanyLogo } from '../img/mr_spedag_logo.svg';\r\nimport userIcon from '../img/signup_title.png';\r\nimport passwordIcon from '../img/password_lock.png';\r\nimport { isTimeout, setIsTimeout, hasProfile } from '../components/withAuth';\r\nimport { updateServiceWorker } from '../registerServiceWorker';\r\nimport { isArray } from 'util';\r\nimport './Login.scss';\r\n\r\nconst FormItem4 = Form4.Item;\r\nconst Option = Select.Option;\r\nconst userMenuApiUrl = `${process.env.PUBLIC_URL}/api/v1/Users/UserModuleList`;\r\n\r\nclass NormalLoginForm extends Component {\r\n state = {\r\n profiles: [],\r\n modalTermsOfUseVisible: false,\r\n needChangePassword: false\r\n }\r\n\r\n formRef = React.createRef();\r\n\r\n componentDidMount() {\r\n SetTitle('Login');\r\n this.Auth = new AuthService();\r\n changeLanguage(localStorage.getItem('default_lang') || DefaultLang);\r\n let loggedIn = this.Auth.loggedIn();\r\n if (loggedIn && !isTimeout()) {\r\n setIsTimeout(false);\r\n this.selectUserProfile();\r\n }\r\n\r\n let token = this.Auth.getToken();\r\n if (isTimeout() && token) {\r\n setIsTimeout(false);\r\n this.Auth.logout();\r\n Message.error({\r\n content: getText('msgLoginTimeout'),\r\n duration: 0,\r\n onClick: () => Message.destroy()\r\n });\r\n }\r\n else if (loggedIn && !this.Auth.getProfile().profile) {\r\n this.Auth.logout();\r\n Message.error({\r\n content: getText('msgProfileNotFound'),\r\n duration: 0,\r\n onClick: () => Message.destroy()\r\n });\r\n }\r\n }\r\n\r\n getDefaultDashboardUrl = async function () {\r\n const menu = await Ajax.get(userMenuApiUrl);\r\n const dashboard = menu.data.filter(m => m.section && m.section !== 'setting' && m.section !== 'admin');\r\n if (dashboard.length > 0) {\r\n let profile = this.Auth.getProfile().profile;\r\n if (profile === 'AGENT' || profile === 'CONSIGNEE') {\r\n let resDB = dashboard.filter(d => d.key === 'm_booking_approval_enhance');\r\n if (resDB.length > 0) {\r\n return resDB[0].url;\r\n }\r\n }\r\n return dashboard[0].url;\r\n }\r\n return `${process.env.PUBLIC_URL}/`;\r\n }\r\n\r\n redirectToSystem = async function() {\r\n const { history, location } = this.props;\r\n const { needChangePassword } = this.state;\r\n\r\n if (needChangePassword) {\r\n history.replace(`${process.env.PUBLIC_URL}/BMS/Setting/update_user_password`);\r\n\r\n return;\r\n }\r\n\r\n let searchParams = new URLSearchParams(location.search);\r\n let defaultUrl = await this.getDefaultDashboardUrl();\r\n let toUrl = searchParams.get(\"redir\") || defaultUrl;\r\n history.replace(toUrl);\r\n }\r\n\r\n selectUserProfile = () => {\r\n //ming sing 20210129: this.Auth.selectUserProfile(profile) function already perform the user preference function\r\n //this.Auth.needRenewPreferences();\r\n //if (this.Auth.getUserPreferences().length > 0) {\r\n // this.setState({\r\n // preferences: this.Auth.getUserPreferences()\r\n // });\r\n //}\r\n Ajax.get(`${process.env.PUBLIC_URL}/api/v1/admin/getprofileTypeOpts`)\r\n .then(res => {\r\n let userProfiles = this.Auth.getUserProfiles(), profiles = [], profileOpts = [];\r\n if (res && isArray(res.data) && res.data.length > 0) {\r\n profileOpts = res.data;\r\n this.Auth.setProfileList(profileOpts);\r\n }\r\n\r\n if (this.Auth.getProfile().profile) {\r\n this.redirectToSystem();\r\n }\r\n else if (userProfiles.length > 0) {\r\n if (profileOpts.length > 0) {\r\n for (let i = 0; i < userProfiles.length; ++i) {\r\n for (let j = 0; j < profileOpts.length; ++j) {\r\n if (userProfiles[i] === profileOpts[j].profile_type_id) {\r\n profiles.push({ key: profileOpts[j].profile_type_id, value: profileOpts[j].profile_type });\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < userProfiles.length; ++i) {\r\n profiles.push({ key: userProfiles[i], value: userProfiles[i] });\r\n }\r\n }\r\n this.setState({\r\n profiles\r\n }, () => {\r\n const { current: { resetFields } } = this.formRef;\r\n resetFields && resetFields();\r\n });\r\n }\r\n else {\r\n this.redirectToSystem();\r\n }\r\n })\r\n .catch(error => {\r\n let userProfiles = this.Auth.getUserProfiles(), profiles = [];\r\n\r\n if (this.Auth.getProfile().profile) {\r\n this.redirectToSystem();\r\n }\r\n else if (userProfiles.length > 0) {\r\n for (let i = 0; i < userProfiles.length; ++i) {\r\n profiles.push({ key: userProfiles[i], value: userProfiles[i] });\r\n }\r\n this.setState({\r\n profiles\r\n });\r\n }\r\n else {\r\n this.redirectToSystem();\r\n }\r\n });\r\n }\r\n\r\n onFinish = (values) => {\r\n const { userName, password, language, profile } = values;\r\n\r\n if (this.Auth.loggedIn()) {\r\n this.Auth.selectUserProfile(profile)\r\n .then(() => {\r\n this.selectUserProfile();\r\n })\r\n .catch(err => {\r\n if (err.response && err.response.data && err.response.data.Message) {\r\n Message.error(err.response.data.Message, 30);\r\n }\r\n else if (err.response && err.response.data && err.response.data.msgKey) {\r\n Message.error(getText(err.response.data.msgKey));\r\n }\r\n else if (err.response && err.response.status) {\r\n if (err.response.status === 404) Message.error('404 Not Found');\r\n else if (err.response.status === 500) Message.error('500 Internal Server Error');\r\n else Message.error(`${err.response.status} Error`);\r\n }\r\n else {\r\n console.log('Server not available', err)\r\n Message.error('Server not available');\r\n }\r\n });\r\n }\r\n else {\r\n this.Auth.login(userName, password, language)\r\n .then(res => {\r\n updateServiceWorker();\r\n this.setState({ needChangePassword: res.data ? res.data.needChangePassword : false }, () => {\r\n this.selectUserProfile();\r\n });\r\n })\r\n .catch(err => {\r\n if (err.response && err.response.data && err.response.data.Message) {\r\n Message.error(err.response.data.Message, 30);\r\n }\r\n else if (err.response && err.response.data && err.response.data.msgKey) {\r\n Message.error(getText(err.response.data.msgKey));\r\n }\r\n else if (err.response && err.response.status) {\r\n if (err.response.status === 404) Message.error('404 Not Found');\r\n else if (err.response.status === 500) Message.error('500 Internal Server Error');\r\n else Message.error(`${err.response.status} Error`);\r\n }\r\n else {\r\n Message.error('Server not available');\r\n }\r\n });\r\n }\r\n }\r\n\r\n //onFinishFailed = ({ values, errorFields, outOfDate }) => {\r\n // console.log(values, errorFields, outOfDate)\r\n //}\r\n\r\n setModalTermsOfUseVisible = modalTermsOfUseVisible => this.setState({ modalTermsOfUseVisible });\r\n\r\n render() {\r\n const { profiles } = this.state;\r\n \r\n return (\r\n
\r\n \r\n
\r\n 0 ? profiles[0].key : ''\r\n }}\r\n ref={this.formRef}\r\n >\r\n {\r\n profiles.length === 0 &&\r\n <>\r\n \r\n } placeholder=\"Username\" />\r\n \r\n \r\n } type=\"password\" placeholder=\"Password\" />\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n profiles.length > 0 &&\r\n \r\n \r\n\r\n \r\n }\r\n \r\n \r\n {/*{getText('lbRegister')}*/}\r\n {getText('lbForgotPW')}\r\n \r\n \r\n \r\n
\r\n
\r\n {/*\r\n

{getText('lbMR')}

\r\n

M+R Core System

\r\n \"Logo\"\r\n */}\r\n \r\n
\r\n
\r\n\r\n \r\n

Terms of Use

\r\n
\r\n }\r\n visible={this.state.modalTermsOfUseVisible}\r\n onCancel={() => this.setModalTermsOfUseVisible(false)}\r\n footer={null}\r\n >\r\n
\r\n

{getText(\"lbTermsOfUseContent\")}

\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(NormalLoginForm);","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAARVBMVEUAAABgYGBoaGhlZWVoaGhmZmZlZWVmZmZmZmZnZ2dmZmZlZWVmZmZlZWVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmbi8BcbAAAAFnRSTlMAECAwQFBgcICQoLDAxMjQ4Ofu8PX2lyd6PAAAAuNJREFUaN7tWdmWnCAQbVYRTSBhwv9/amyVTQpnBst5sp76tN1cqeXWLXi9HnvssccewzAu1dskuw1BTM4Hc/oWHGl9aTPHhqCzr20kuJ5yHjKD6TOZYjFrpdOuHB6KCEuOYU2hw1cUKx4OCAGddo8hgWzeccdkGjYUhVOALe/vkaJ4G4GKQm1eRMBg60oafGbWPSKAqBOfiOYme7w1NR5apNCv+SsbD9dyma+DnHpE/QSI+AmQARNE3Owuc1ZwBqka1wSyDer0Z6n3bZ6X7RdAIa+1UBxpMg5CSAKvAEsRi8Uqy1pbz9LHvRCDt5HYfQ+qIWgLrC4fGroiVffFSK2cbN+ZHIpSBYk0YUGQMSmtP/Nivz6SJhqQxIqJS/7+t3/4mzTrhCEjmYsam7K49IvrKCMJGoZbox7F9nuHGgslYMw0Uy6BE7lFQdkLMbbxsUxcMnmEgpwPxbBvLL269pe1l6oKjkxLCo91ofYTGAOKmr+tpgNLrjlrrElRV92xW3yJejYIjKXqyYJeYSxWqYpjOg0navlrI0PxXxKrvJYTvisqU912eaKV+useqqSAE9KASuut2A6QAVhMRRAOgLPO/DVwizz6ZmOfjiyG/JwGeIUyQnAo+dO5xATNqH20ZaHdQbxL+whMA+/Ls2MVqHCHrrirNgj5/OdfVMDi1cjgyjWqSx9BK2XS6Cjq+qYhCCQ/WFN3geQHhBpjQoVAihNIoFAwQFgO4m5yFy/OHzFAbJ1CQwHC69rVfSRM4G5SETvro+EREKAmPxMGxKzsY+EShRg4g3eMjpPVAULR0OjDLkyPYcEiwtwkiX8IVd/0qEEGkbagTXJ1Qo1TTrsbSXd5Ch4/ucaI1x3uyqQdX9QbeVSIVEXCtNdODFhWG7PiIeJUjNmD6wOwKq9M7DIElZcpTmDM8dqfmFNI10FtGDSItRoGA0BMEvdSa9mO1DnQPApshJhsnEslOKevxx577LHHEOw/KJxzeMPkQ5YAAAAASUVORK5CYII=\"","import React, { Component } from 'react';\r\n\r\nimport { Button, Card, Form4, Input, Message } from '../components/base/index';\r\nimport { getText } from '../i18n/i18next';\r\nimport withTracker from '../components/withTracker';\r\nimport Ajax from '../components/Ajax';\r\nimport { SetTitle } from '../components/Common';\r\n\r\nimport { ReactComponent as CompanyLogo } from '../img/mr_spedag_logo.svg';\r\nimport userIcon from '../img/signup_title.png';\r\n\r\nimport './ForgotPassword.scss';\r\n\r\nconst FormItem4 = Form4.Item;\r\n\r\nclass ForgotPasswordForm extends Component {\r\n state = {\r\n userName: ''\r\n }\r\n\r\n componentDidMount() {\r\n SetTitle('Forgot Password');\r\n }\r\n\r\n onFinish = (values) => {\r\n const { userName } = values;\r\n\r\n Message.loading(getText('msgSubmitting'), 0);\r\n Ajax.post(`${process.env.PUBLIC_URL}/api/v1/Password/forgotpassword`, { userName })\r\n .then(res => {\r\n Message.destroy();\r\n\r\n if (res.status === 200 && res.data && res.data.success) {\r\n const { history } = this.props;\r\n Message.success(getText(\"msgSubmitForgotPwSuccessfully\"), 5, () => { history.push('/'); });\r\n }\r\n else {\r\n Message.error(getText(\"msgSubmitForgotPwFail\"));\r\n }\r\n })\r\n .catch(err => {\r\n Message.destroy();\r\n if (err.response && err.response.data && err.response.data.Message) {\r\n Message.error(err.response.data.Message, 30);\r\n }\r\n else {\r\n Message.error(getText(\"msgSubmitForgotPwFail\"));\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n \r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n } placeholder=\"Username\" />\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(ForgotPasswordForm);","import React, { Component } from 'react';\r\n\r\nimport { Button, Card, Form4, Input, Message } from '../components/base/index';\r\n//import AuthService from '../components/AuthService';\r\nimport { getText } from '../i18n/i18next';\r\nimport withTracker from '../components/withTracker';\r\nimport Ajax from '../components/Ajax';\r\nimport { SetTitle, checkStrongPassword, CheckIsNullOrUndefined } from '../components/Common';\r\nimport * as qs from 'query-string';\r\n\r\nimport { ReactComponent as CompanyLogo } from '../img/mr_spedag_logo.svg';\r\nimport passwordIcon from '../img/password_lock.png';\r\n\r\nimport './ForgotPassword.scss';\r\n\r\nconst FormItem4 = Form4.Item;\r\nconst dataUrl = `${process.env.PUBLIC_URL}/api/v1/password/resetpassword`;\r\nconst getPasswordConfig = `${process.env.PUBLIC_URL}/api/v1/Password/getPasswordConfig`;\r\n\r\nclass ResetPasswordForm extends Component {\r\n state = {\r\n loginID: '',\r\n password: '',\r\n confirmPassword: '',\r\n validateStatus: '',\r\n pwErrorMsg: '',\r\n token: '',\r\n strongPWRequired: false\r\n }\r\n\r\n componentDidMount() {\r\n SetTitle('Reset Password');\r\n\r\n const parsed = qs.parse(this.props.location.search);\r\n\r\n let url = new URL(dataUrl, window.location.href);\r\n url.searchParams.append('loginid', parsed.loginID);\r\n url.searchParams.append('token', parsed.token);\r\n\r\n this.getPasswordConfig();\r\n\r\n Ajax.get(url)\r\n .then(res => {\r\n if (res.status === 200 && res.data && res.data.success) {\r\n this.setState({\r\n loginID: parsed.loginID,\r\n password: '',\r\n confirmPassword: '',\r\n validateStatus: '',\r\n pwErrorMsg: '',\r\n token: parsed.token\r\n });\r\n }\r\n else {\r\n this.setState({\r\n loginID: '',\r\n password: '',\r\n confirmPassword: '',\r\n validateStatus: '',\r\n pwErrorMsg: '',\r\n token: ''\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n this.setState({\r\n loginID: '',\r\n password: '',\r\n confirmPassword: '',\r\n validateStatus: '',\r\n pwErrorMsg: '',\r\n token: ''\r\n });\r\n });\r\n }\r\n\r\n getPasswordConfig = async () => {\r\n let url = new URL(getPasswordConfig, window.location.href);\r\n\r\n let result = await Ajax.get(url);\r\n\r\n this.setState({ strongPWRequired: result && result.data && result.data.success ? result.data.useStrongPassword : false });\r\n }\r\n\r\n passwordOnChange = (type, value) => {\r\n let obj = JSON.parse(JSON.stringify(this.state));\r\n\r\n obj[type] = value;\r\n this.setState(obj, this.comparePasswords);\r\n }\r\n\r\n comparePasswords = () => {\r\n const { password, confirmPassword, strongPWRequired } = this.state;\r\n\r\n if (strongPWRequired && !CheckIsNullOrUndefined(password) && password !== '' && !checkStrongPassword(password)) {\r\n this.setState({ validateStatus: 'error', pwErrorMsg: getText('msgStrongPWRequired') });\r\n }\r\n else if (password !== confirmPassword) {\r\n this.setState({ validateStatus: 'error', pwErrorMsg: getText('msgPwNotMatch') });\r\n }\r\n else {\r\n this.setState({ validateStatus: '', pwErrorMsg: '' });\r\n }\r\n }\r\n\r\n onFinish = (values) => {\r\n const { loginID, password, confirmPassword, token, strongPWRequired } = this.state;\r\n\r\n if (password !== confirmPassword || (strongPWRequired && !CheckIsNullOrUndefined(password) && password !== '' && !checkStrongPassword(password))) return;\r\n\r\n Message.loading(getText('msgSubmitting'), 0);\r\n Ajax.post(`${process.env.PUBLIC_URL}/api/v1/Password/resetpassword`, { loginID, password, token })\r\n .then(res => {\r\n Message.destroy();\r\n\r\n if (res.status === 200 && res.data && res.data.success) {\r\n const { history } = this.props;\r\n Message.success(getText(\"msgResetPwSuccessfully\"), 5, () => { history.push('/'); });\r\n }\r\n else {\r\n Message.error(getText(\"msgResetPwFail\"));\r\n }\r\n })\r\n .catch(err => {\r\n Message.destroy();\r\n if (err.response && err.response.data && err.response.data.Message) {\r\n Message.error(err.response.data.Message, 30);\r\n }\r\n else if (err.response && err.response.data && err.response.data.msgKey) {\r\n Message.error(getText(err.response.data.msgKey));\r\n }\r\n else if (err.response && err.response.status) {\r\n if (err.response.status === 404) Message.error('404 Not Found');\r\n else if (err.response.status === 500) Message.error('500 Internal Server Error');\r\n else Message.error(`${err.response.status} Error`);\r\n }\r\n else {\r\n Message.error(getText(\"msgResetPwFail\"));\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { token, validateStatus, pwErrorMsg } = this.state;\r\n\r\n return (\r\n
\r\n \r\n
\r\n {token !== '' ?\r\n \r\n \r\n } type=\"password\" placeholder=\"Password\" onChange={(e) => { this.passwordOnChange('password', e.target.value); }} />\r\n \r\n\r\n \r\n } type=\"password\" placeholder=\"Confirm Password\" onChange={(e) => { this.passwordOnChange('confirmPassword', e.target.value); }} />\r\n \r\n\r\n \r\n \r\n \r\n \r\n :\r\n
Invalid Token. Reset Password Fail.
\r\n }\r\n \r\n
\r\n
\r\n {/*\r\n

{getText('lbMR')}

\r\n

M+R Core System

\r\n \"Logo\"\r\n */}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(ResetPasswordForm);","import React, { Component } from 'react';\r\n\r\nimport { Button, Card } from '../../components/base/index';\r\nimport { getText } from '../../i18n/i18next';\r\nimport withTracker from '../../components/withTracker';\r\nimport { SetTitle } from '../../components/Common';\r\nimport { ReactComponent as CompanyLogo } from '../../img/mr_spedag_logo.svg';\r\n\r\nimport './Registration.scss';\r\n\r\n\r\nclass RegistrationForm extends Component {\r\n \r\n componentDidMount() {\r\n SetTitle('Registration');\r\n }\r\n\r\n goToRestrationPage = (withSIS = false) => {\r\n if (withSIS) {\r\n window.location.href = '/RegistrationWithSIS'\r\n }\r\n else {\r\n window.location.href = '/RegistrationWithoutSIS'\r\n }\r\n }\r\n \r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
{getText('msgHaveSISAccount')}
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(RegistrationForm);","import React, { Component } from 'react';\r\n\r\nimport { Form4, Input, Message, Card, Col, Row, Button, Layout, Steps, Result, Notification, Spin, Modal, Tooltip, AutoComplete } from '../../components/base';\r\nimport { getText } from '../../i18n/i18next';\r\nimport Ajax from '../../components/Ajax';\r\nimport { SetTitle, checkStrongPassword, CheckIsNullOrUndefined } from '../../components/Common';\r\nimport EditButton from '../../components/EditButton';\r\nimport withTracker from '../../components/withTracker';\r\nimport { ReactComponent as CompanyLogo } from '../../img/mr_spedag_logo.svg';\r\nimport * as qs from 'query-string';\r\nimport history from '../../components/history';\r\nimport InformationIcon from '../../components/InformationIcon';\r\nimport { GetCountryOption } from '../ShippingOrder/common';\r\nimport './RegistrationWithSIS.scss';\r\nimport FlagIcon from '../../components/FlagIcon';\r\n\r\nconst FormItem4 = Form4.Item;\r\nconst { Header, Footer } = Layout;\r\n\r\nconst { Step } = Steps;\r\n\r\nconst steps = [\r\n {\r\n title: 'Enter SIS AC'\r\n },\r\n {\r\n title: 'Enter Details'\r\n },\r\n {\r\n title: 'Email Verification'\r\n },\r\n {\r\n title: 'Set Password'\r\n },\r\n {\r\n title: 'Activate Result'\r\n }\r\n];\r\n\r\nconst validateAndGetSISUserApiUrl = `${process.env.PUBLIC_URL}/api/v1/Admin/validateAndGetSISUser`;\r\nconst activateAccountUrl = `${process.env.PUBLIC_URL}/api/v1/admin/activateAccount`;\r\nconst getPasswordConfig = `${process.env.PUBLIC_URL}/api/v1/Password/getPasswordConfig`;\r\nconst updatePassword = `${process.env.PUBLIC_URL}/api/v1/Admin/UpdateNewUserPassword`;\r\nconst baseUrl = `${process.env.PUBLIC_URL}/api/v1`;\r\nconst inputDelayTimeinSec = 0.3;\r\nconst countryFlagStyle = {\r\n lineHeight: '39.9999px'\r\n};\r\n\r\nconst displayErrorMsg = (errorMsg = []) => {\r\n if (errorMsg.length > 0) {\r\n return (\r\n
\r\n
    \r\n {errorMsg.map((msg, index) =>
  • {msg}
  • )}\r\n
\r\n
\r\n );\r\n }\r\n else return '';\r\n};\r\n\r\nclass RegistrationWithSIS extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n current: 0,\r\n loading: false,\r\n confirmDirty: false,\r\n user: {},\r\n sis_user_id: null,\r\n activateResultTitle: '',\r\n activateResultStatus: '',\r\n activateResultMsg: '',\r\n modalTermsOfUseVisible: false,\r\n strongPWRequired: false,\r\n fdcList: []\r\n };\r\n\r\n this.formRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n SetTitle('Registration');\r\n\r\n const parsed = qs.parse(this.props.location.search);\r\n \r\n if (parsed && parsed.loginID && parsed.token) {\r\n this.setState({ current: 3 });\r\n }\r\n else {\r\n this.getPasswordConfig();\r\n }\r\n }\r\n\r\n handleDropdownChange = async (controller, type, fieldName, value, callback, keepValue = false) => {\r\n if (value !== undefined && value !== null) {\r\n let url = new URL(`${baseUrl}/${controller}/${type}/${value}`, window.location.href);\r\n if (keepValue)\r\n url.searchParams.append('includeValue', true);\r\n\r\n try {\r\n let res = await Ajax.get(url.toString());\r\n let data = res.data;\r\n this.setState({ [`${fieldName}List`]: data }, () => {\r\n if (callback && typeof callback === \"function\") {\r\n callback(data);\r\n }\r\n });\r\n } catch (error) {\r\n if (error.response && error.response.status === 404) {\r\n let data = [];\r\n if (keepValue) {\r\n if (type === 'port')\r\n data.push({ \"name\": value, \"unCode\": value, \"countryCode\": \"\", \"countryName\": \"\" });\r\n else\r\n data.push(value);\r\n }\r\n this.setState({ [`${fieldName}List`]: data });\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleCountryCodeChange = (value, callback) => {\r\n if (this.fdcChangetimeoutID !== null) clearTimeout(this.fdcChangetimeoutID);\r\n this.fdcChangetimeoutID = setTimeout(() => {\r\n this.handleDropdownChange('master', 'country', 'fdc', value, callback);\r\n }, inputDelayTimeinSec * 1000);\r\n }\r\n\r\n handleCountryCodeOnSelect = (e) => {\r\n const { user } = this.state;\r\n\r\n user['co_country_code'] = e;\r\n\r\n this.setState({\r\n user\r\n });\r\n }\r\n\r\n updatePassword = async (password) => {\r\n const parsed = qs.parse(this.props.location.search);\r\n\r\n if (parsed && parsed.loginID && parsed.token) {\r\n let user = { login_id: parsed.loginID, password: password, token: parsed.token };\r\n await Ajax.post(`${updatePassword}`, user)\r\n }\r\n else {\r\n Message.error('Invalid login email or token');\r\n }\r\n }\r\n\r\n activateAccount = async (loginID, token) => {\r\n let url = new URL(activateAccountUrl, window.location.href);\r\n url.searchParams.append('loginid', loginID);\r\n url.searchParams.append('token', token);\r\n\r\n try {\r\n let res = await Ajax.get(url);\r\n\r\n if (res && res.data && res.data.success) {\r\n this.setState({\r\n activateResultTitle: 'Activate Account Successfully',\r\n activateResultStatus: 'success',\r\n activateResultMsg: getText('msgActivateACSuccessfullly')\r\n })\r\n }\r\n else {\r\n this.setState({\r\n activateResultTitle: 'Fail to Activate Account',\r\n activateResultStatus: 'error',\r\n activateResultMsg: 'Acoount has been activated already or activate period exceeds 7 days'\r\n })\r\n }\r\n }\r\n catch (err) {\r\n this.setState({\r\n activateResultTitle: 'Fail to Activate Account',\r\n activateResultStatus: 'error',\r\n activateResultMsg: err && err.response && err.response.data ? err.response.data.Message : ''\r\n })\r\n }\r\n }\r\n\r\n goToLoginPage = () => {\r\n window.location.href = '/login'\r\n }\r\n\r\n validateAndGetSISAC = async (sis_user_id, password) => {\r\n let url = new URL(validateAndGetSISUserApiUrl, window.location.href);\r\n url.searchParams.append('sis_user_id', sis_user_id);\r\n url.searchParams.append('password', password);\r\n\r\n let result = await Ajax.get(url);\r\n return result.data;\r\n }\r\n\r\n getPasswordConfig = async () => {\r\n let url = new URL(getPasswordConfig, window.location.href);\r\n\r\n let result = await Ajax.get(url);\r\n\r\n this.setState({ strongPWRequired: result && result.data && result.data.success ? result.data.useStrongPassword : false });\r\n }\r\n\r\n validateToNextPassword = (rule, value, callback) => {\r\n const { strongPWRequired } = this.state;\r\n \r\n if (strongPWRequired && !CheckIsNullOrUndefined(value) && value !== '' && !checkStrongPassword(value)) {\r\n callback(getText('msgStrongPWRequired'));\r\n }\r\n \r\n callback();\r\n }\r\n\r\n handleConfirmBlur = e => {\r\n const { value } = e.target;\r\n this.setState({ confirmDirty: this.state.confirmDirty || !!value });\r\n }\r\n\r\n validate = async (values) => {\r\n let url = new URL(`${process.env.PUBLIC_URL}/api/v1/admin/validateuserprofile`, window.location.href);\r\n url.searchParams.append('login_id', values.login_id);\r\n url.searchParams.append('checkIsRegistered', true);\r\n \r\n try {\r\n let result = await Ajax.get(url)\r\n \r\n return result.data;\r\n }\r\n catch (error) {\r\n Message.error(`${error}`);\r\n return false;\r\n }\r\n\r\n }\r\n\r\n doCheckValidCode = (value, codeList, field) => {\r\n if (CheckIsNullOrUndefined(value) || value === '') return true;\r\n\r\n let len = codeList.length;\r\n let validCode = false;\r\n\r\n if (len <= 0) {\r\n return false;\r\n }\r\n\r\n for (var i = 0; i < len; ++i) {\r\n if (codeList[i][field] === value) {\r\n validCode = true;\r\n break;\r\n }\r\n }\r\n\r\n return validCode;\r\n }\r\n\r\n onFinish = async (values) => {\r\n const { current } = this.state;\r\n this.setState({ loading: true });\r\n\r\n if ((current % 5) === 0) {\r\n let res = await this.validateAndGetSISAC(values.sis_user_id, values.sis_password);\r\n\r\n if (res && res.msg_type === 'error') {\r\n Notification.error({\r\n message: getText(res.msg_key),\r\n description: '',\r\n placement: 'bottomRight'\r\n });\r\n this.setState({ loading: false });\r\n }\r\n else {\r\n this.setState({\r\n current: (current + 1) % 5,\r\n loading: false,\r\n user: res,\r\n sis_user_id: values.sis_user_id\r\n });\r\n }\r\n }\r\n else if ((current % 5) === 1) {\r\n let user = Object.assign({}, this.state.user, values, { email2: values.login_id });\r\n user.status = 'P';\r\n user.sis_user_id = this.state.sis_user_id;\r\n\r\n\r\n for (let i = 0; i < user.profiles.length; ++i) {\r\n user.profiles[i].status = 'P';\r\n user.profiles[i].action = 'i';\r\n\r\n if (!user.profiles[i].parties) {\r\n user.profiles[i].parties = [];\r\n }\r\n else {\r\n for (let j = 0; j < user.profiles[i].parties.length; ++j) {\r\n user.profiles[i].parties[j].action = 'i';\r\n user.profiles[i].parties[j].status = 'P';\r\n }\r\n }\r\n\r\n if (!user.profiles[i].roles) {\r\n user.profiles[i].roles = [];\r\n }\r\n else {\r\n for (let j = 0; j < user.profiles[i].roles.length; ++j) {\r\n user.profiles[i].roles[j].action = 'i';\r\n }\r\n }\r\n\r\n if (!user.profiles[i].party_groups) {\r\n user.profiles[i].party_groups = [];\r\n }\r\n else {\r\n for (let j = 0; j < user.profiles[i].party_groups.length; ++j) {\r\n user.profiles[i].party_groups[j].action = 'i';\r\n }\r\n }\r\n\r\n if (!user.profiles[i].tradelanees) {\r\n user.profiles[i].tradelanees = [];\r\n }\r\n else {\r\n for (let j = 0; j < user.profiles[i].tradelanees.length; ++j) {\r\n user.profiles[i].tradelanees[j].action = 'i';\r\n user.profiles[i].tradelanees[j].status = 'P';\r\n }\r\n }\r\n }\r\n\r\n let res = await this.validate(user);\r\n\r\n if (res) {\r\n if (res.length > 0) {\r\n\r\n let title = 'Error';\r\n if (values)\r\n title = values.login_id;\r\n let errorMessages = [];\r\n res.forEach((r) => {\r\n errorMessages.push(getText(r.msg_key));\r\n });\r\n\r\n Notification.error({\r\n message: title,\r\n description: displayErrorMsg(errorMessages),\r\n //bottom: 'bottomRight',\r\n placement: 'bottomRight',\r\n duration: 0\r\n });\r\n }\r\n else {\r\n try {\r\n let upsertRes = await Ajax.post(`${process.env.PUBLIC_URL}/api/v1/admin/registeruser`, user)\r\n\r\n let result = upsertRes.data;\r\n\r\n if (!result) {\r\n Message.error(getText('errSaveUnknown'));\r\n }\r\n\r\n this.setState({\r\n current: (current + 1) % 5,\r\n });\r\n }\r\n catch (err) {\r\n this.setState({\r\n loading: false\r\n }, () => { Message.error(getText('errSaveUnknown')); });\r\n }\r\n }\r\n }\r\n\r\n this.setState({ loading: false });\r\n }\r\n else if ((current % 5) === 3) {\r\n try {\r\n await this.updatePassword(values.password);\r\n\r\n this.setState({\r\n current: (current + 1) % 5,\r\n loading: false,\r\n activateResultTitle: 'Activate Account Successfully',\r\n activateResultStatus: 'success',\r\n activateResultMsg: getText('msgActivateACSuccessfullly')\r\n });\r\n }\r\n catch (err) {\r\n this.setState({\r\n loading: false\r\n }, () => { Message.error(getText('errSaveUnknown')); });\r\n }\r\n }\r\n }\r\n\r\n onFinishFailed = ({ values, errorFields, outOfDate }) => {\r\n Message.error('one or more field types are not input properly');\r\n }\r\n\r\n setModalTermsOfUseVisible = modalTermsOfUseVisible => this.setState({ modalTermsOfUseVisible });\r\n\r\n handleBack = (e) => {\r\n window.onbeforeunload = undefined;\r\n history.goBack();\r\n }\r\n \r\n render() {\r\n const { current, user, activateResultTitle, activateResultMsg, activateResultStatus, fdcList } = this.state;\r\n\r\n const formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 6 }\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 18 }\r\n }\r\n };\r\n\r\n const formItemLayoutWithOutLabel = {\r\n wrapperCol: {\r\n xs: { span: 24, offset: 0 },\r\n sm: { span: 18, offset: 6 }\r\n }\r\n };\r\n const rootClassName = `root`;\r\n const now = new Date();\r\n const fdcOptions = GetCountryOption(fdcList);\r\n const routingFormColLayout = {\r\n dropdown: {\r\n xs: 24,\r\n sm: 24,\r\n lg: 19,\r\n xl: 19\r\n },\r\n dropdown1: {\r\n xs: 22,\r\n sm: 22,\r\n lg: 16,\r\n xl: 16\r\n },\r\n dropdown2: {\r\n xs: 4,\r\n sm: 4,\r\n lg: 2,\r\n xl: 2\r\n },\r\n flag: {\r\n xs: 24,\r\n sm: { span: 12, offset: 12 },\r\n lg: { span: 4, offset: 0 },\r\n xl: 4\r\n }\r\n };\r\n \r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {steps.map(item => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n current === 0 &&\r\n \r\n \r\n \r\n {getText('msgEnterSISID')}\r\n \r\n \r\n {getText('lbSISLoginID')}\r\n \r\n )}\r\n name='sis_user_id'\r\n rules={[{\r\n required: true, message: getText('msgSISLoginIDRequire')\r\n }]}\r\n >\r\n \r\n \r\n \r\n {getText('lbPassword')}\r\n \r\n )}\r\n name='sis_password'\r\n rules={[{ required: true, message: getText('msgPasswordRequired') }]}\r\n >\r\n \r\n \r\n \r\n \r\n }\r\n {\r\n current === 1 &&\r\n
\r\n \r\n \r\n \r\n {getText('msgSISIDVerified')}\r\n \r\n \r\n {getText('lbLoinID')} \r\n }\r\n name='login_id'\r\n rules={[\r\n {\r\n type: 'email',\r\n message: 'Please enter an email address as your login ID',\r\n },\r\n {\r\n required: true,\r\n message: getText('msgLoinIDRequired')\r\n }\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {getText('lbFamilyName')}\r\n \r\n )}\r\n name='family_name'\r\n rules={[{ required: true, message: getText('msgFamilyNameRequired'), whitespace: true }]}\r\n initialValue={user.family_name}\r\n >\r\n \r\n \r\n \r\n {getText('lbGivenName')}\r\n \r\n )}\r\n name='given_name'\r\n rules={[{ required: true, message: getText('msgGiveNameRequired'), whitespace: true }]}\r\n initialValue={user.given_name}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getText('lbCountryCode')}\r\n \r\n )}\r\n validateStatus={!this.doCheckValidCode(user.co_country_code, fdcList, 'country_code') ? 'error' : undefined}\r\n help={!this.doCheckValidCode(user.co_country_code, fdcList, 'country_code') ? getText('msgInvalidCountryCode') : undefined}\r\n name='co_country_code'\r\n rules={[{\r\n validator: (rule, value, callback) => {\r\n if (!this.doCheckValidCode(value, fdcList, 'country_code')) {\r\n callback(getText('msgInvalidCountryCode'));\r\n }\r\n\r\n callback();\r\n }\r\n }]}\r\n initialValue={user.co_country_code}\r\n >\r\n {\r\n this.handleCountryCodeChange(e, () => {\r\n this.handleCountryCodeOnSelect(e);\r\n });\r\n }}\r\n onSelect={(e) => { this.handleCountryCodeOnSelect(e); }}\r\n optionLabelProp=\"text\"\r\n placeholder={getText('lbCountryCode')}\r\n dropdownMatchSelectWidth={false}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {user.co_country_code &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getText('lbCompany')}\r\n \r\n )}\r\n name='company'\r\n rules={[{ required: true, message: getText('msgCompanyRequired') }]}\r\n initialValue={user.company}\r\n >\r\n \r\n \r\n \r\n {getText('lbDepartment')}\r\n \r\n )}\r\n name='department'\r\n initialValue={user.department}\r\n >\r\n \r\n \r\n \r\n {getText('lbPosition')}\r\n \r\n )}\r\n name='position'\r\n initialValue={user.position}\r\n >\r\n \r\n \r\n\r\n \r\n \r\n
\r\n }\r\n {\r\n current === 2 &&\r\n \r\n Go To Login Page\r\n \r\n ]}\r\n />\r\n }\r\n {\r\n current == 3 &&\r\n
\r\n \r\n {getText('lbPassword')}\r\n \r\n )}\r\n hasFeedback\r\n name='password'\r\n rules={[\r\n {\r\n required: true,\r\n message: getText('msgPasswordRequired')\r\n },\r\n {\r\n validator: this.validateToNextPassword,\r\n }\r\n ]}\r\n >\r\n \r\n \r\n \r\n {getText('lbConfirmPassword')}\r\n \r\n )}\r\n hasFeedback\r\n name='confirm_password'\r\n rules={[\r\n {\r\n required: true,\r\n message: getText('msgConfirmPasswordRequired')\r\n },\r\n ({ getFieldValue }) => ({\r\n validator(_, value) {\r\n if (!value || getFieldValue('password') === value) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(new Error(getText('msgPasswordInconsistent')));\r\n },\r\n }),\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n }\r\n {\r\n current === 4 &&\r\n \r\n Go To Login Page\r\n \r\n ]}\r\n />\r\n }\r\n {\r\n (current === 0) &&\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n }\r\n {\r\n (current === 1) &&\r\n \r\n \r\n \r\n \r\n \r\n By clicking \"Sign up\" button, you agree to the this.setModalTermsOfUseVisible(true)}>Terms of Use\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n

Terms of Use

\r\n \r\n }\r\n \r\n visible={this.state.modalTermsOfUseVisible}\r\n onCancel={() => this.setModalTermsOfUseVisible(false)}\r\n footer={null}\r\n >\r\n
\r\n

{getText(\"lbTermsOfUseContent\")}

\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(RegistrationWithSIS);","import React, { Component } from 'react';\r\n\r\nimport { Form4, Input, Message, Card, Col, Row, Button, Layout, Steps, Result, Notification, Spin, Select, Modal, Tooltip, AutoComplete } from '../../components/base';\r\nimport { getText } from '../../i18n/i18next';\r\nimport Ajax from '../../components/Ajax';\r\nimport { SetTitle, checkStrongPassword, CheckIsNullOrUndefined } from '../../components/Common';\r\nimport EditButton from '../../components/EditButton';\r\nimport withTracker from '../../components/withTracker';\r\nimport { ReactComponent as CompanyLogo } from '../../img/mr_spedag_logo.svg';\r\nimport * as qs from 'query-string';\r\nimport history from '../../components/history';\r\nimport InformationIcon from '../../components/InformationIcon';\r\nimport { GetCountryOption } from '../ShippingOrder/common';\r\nimport './RegistrationWithoutSIS.scss';\r\nimport FlagIcon from '../../components/FlagIcon';\r\n\r\nconst FormItem4 = Form4.Item;\r\nconst { Option } = Select;\r\nconst { Header, Footer } = Layout;\r\n\r\nconst { Step } = Steps;\r\n\r\nconst steps = [\r\n {\r\n title: 'Enter Details'\r\n },\r\n {\r\n title: 'Email Verification'\r\n },\r\n {\r\n title: 'Set Password'\r\n },\r\n {\r\n title: 'Registration Result'\r\n },\r\n //{\r\n // title: 'Activate Result'\r\n //}\r\n];\r\n\r\nconst locationGroup = [ ['SCH'], ['NCH'], ['SEA', 'LPA', 'IND'] ] \r\n\r\n//const activateAccountUrl = `${process.env.PUBLIC_URL}/api/v1/admin/activateAccount`;\r\nconst getPasswordConfig = `${process.env.PUBLIC_URL}/api/v1/Password/getPasswordConfig`;\r\nconst updatePassword = `${process.env.PUBLIC_URL}/api/v1/Admin/UpdateNewUserPassword`;\r\nconst baseUrl = `${process.env.PUBLIC_URL}/api/v1`;\r\nconst inputDelayTimeinSec = 0.3;\r\nconst countryFlagStyle = {\r\n lineHeight: '39.9999px'\r\n};\r\n\r\nconst displayErrorMsg = (errorMsg = []) => {\r\n if (errorMsg.length > 0) {\r\n return (\r\n
\r\n
    \r\n {errorMsg.map((msg, index) =>
  • {msg}
  • )}\r\n
\r\n
\r\n );\r\n }\r\n else return '';\r\n};\r\n\r\nclass RegistrationWithoutSIS extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n current: 0,\r\n loading: false,\r\n confirmDirty: false,\r\n user: {},\r\n userType: \"\",\r\n userTypeOption: [],\r\n LocationOption: [],\r\n officeOption: [],\r\n fdcList: [],\r\n //activateResultTitle: '',\r\n //activateResultStatus: '',\r\n //activateResultMsg: '',\r\n modalTermsOfUseVisible: false,\r\n strongPWRequired: false\r\n };\r\n\r\n this.formRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n SetTitle('Registration');\r\n\r\n const parsed = qs.parse(this.props.location.search);\r\n\r\n if (parsed && parsed.loginID && parsed.token) {\r\n this.setState({ current: 2 });\r\n }\r\n this.getOffice();\r\n this.getUserTypeOpts();\r\n this.getLocationOpts();\r\n this.getPasswordConfig();\r\n }\r\n\r\n\r\n goToLoginPage = () => {\r\n window.location.href = '/login'\r\n }\r\n\r\n handleBack = (e) => {\r\n window.onbeforeunload = undefined;\r\n history.goBack();\r\n }\r\n\r\n handleDropdownChange = async (controller, type, fieldName, value, callback, keepValue = false) => {\r\n if (value !== undefined && value !== null) {\r\n let url = new URL(`${baseUrl}/${controller}/${type}/${value}`, window.location.href);\r\n if (keepValue)\r\n url.searchParams.append('includeValue', true);\r\n\r\n try {\r\n let res = await Ajax.get(url.toString());\r\n let data = res.data;\r\n this.setState({ [`${fieldName}List`]: data }, () => {\r\n if (callback && typeof callback === \"function\") {\r\n callback(data);\r\n }\r\n });\r\n } catch (error) {\r\n if (error.response && error.response.status === 404) {\r\n let data = [];\r\n if (keepValue) {\r\n if (type === 'port')\r\n data.push({ \"name\": value, \"unCode\": value, \"countryCode\": \"\", \"countryName\": \"\" });\r\n else\r\n data.push(value);\r\n }\r\n this.setState({ [`${fieldName}List`]: data });\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleCountryCodeChange = (value, callback) => {\r\n if (this.fdcChangetimeoutID !== null) clearTimeout(this.fdcChangetimeoutID);\r\n this.fdcChangetimeoutID = setTimeout(() => {\r\n this.handleDropdownChange('master', 'country', 'fdc', value, callback);\r\n }, inputDelayTimeinSec * 1000);\r\n }\r\n\r\n handleCountryCodeOnSelect = (e) => {\r\n const { user } = this.state;\r\n\r\n user['co_country_code'] = e;\r\n\r\n this.setState({\r\n user\r\n });\r\n }\r\n\r\n getOffice = () => {\r\n Ajax.get(`${process.env.PUBLIC_URL}/api/v1/admin/getofficeopts`)\r\n .then(res => {\r\n if (res && res.data && res.data && res.data.length > 0) {\r\n this.setState({ officeOption: res.data });\r\n }\r\n })\r\n .catch(error => {\r\n if (error.response && error.response.status === 404) {\r\n\r\n }\r\n });\r\n }\r\n\r\n filterOfficeByLocation = () => {\r\n const { current } = this.formRef;\r\n const location_type_id = current && current.getFieldValue('location_type_id'), currentLocationType = locationGroup[location_type_id-1];\r\n let officeOption = this.state.officeOption;\r\n var resArr = [];\r\n\r\n if(!location_type_id || location_type_id === 0) return ;\r\n\r\n officeOption = officeOption.filter(office => currentLocationType.includes(office.group_id));\r\n\r\n for (var i = 0; i < officeOption.length; ++i) {\r\n resArr.push();\r\n }\r\n\r\n return resArr;\r\n }\r\n\r\n getUserTypeOpts = () => {\r\n Ajax.get(`${process.env.PUBLIC_URL}/api/v1/admin/getusertypeopts`)\r\n .then(res => {\r\n\r\n if (res && res.data) {\r\n let resDat = res.data, resArr = [];\r\n\r\n for (let i = 0; i < resDat.length; ++i) {\r\n resArr.push();\r\n }\r\n\r\n this.setState({ userTypeOption: resArr });\r\n }\r\n })\r\n .catch(error => {\r\n if (error.response && error.response.status === 404) {\r\n\r\n }\r\n });\r\n }\r\n\r\n getLocationOpts = () => {\r\n Ajax.get(`${process.env.PUBLIC_URL}/api/v1/admin/getlocationopts`)\r\n .then(res => {\r\n \r\n if (res && res.data) {\r\n let resDat = res.data, resArr = [];\r\n for (let i = 0; i < resDat.length; ++i) {\r\n resArr.push();\r\n }\r\n\r\n this.setState({ locationOption: resArr });\r\n }\r\n })\r\n .catch(error => {\r\n if (error.response && error.response.status === 404) {\r\n\r\n }\r\n });\r\n }\r\n\r\n updatePassword = async (password) => {\r\n const parsed = qs.parse(this.props.location.search);\r\n\r\n if (parsed && parsed.loginID && parsed.token) {\r\n let user = { login_id: parsed.loginID, password: password, token: parsed.token };\r\n await Ajax.post(`${updatePassword}`, user)\r\n }\r\n else {\r\n Message.error('Invalid login email or token');\r\n }\r\n }\r\n\r\n //activateAccount = async (loginID, token) => {\r\n // let url = new URL(activateAccountUrl, window.location.href);\r\n // url.searchParams.append('loginid', loginID);\r\n // url.searchParams.append('token', token);\r\n\r\n // try {\r\n // let res = await Ajax.get(url);\r\n\r\n // if (res && res.data && res.data.success) {\r\n // this.setState({\r\n // activateResultTitle: 'Activate Account Successfully',\r\n // activateResultStatus: 'success',\r\n // })\r\n // }\r\n // else {\r\n // this.setState({\r\n // activateResultTitle: 'Fail to Activate Account',\r\n // activateResultStatus: 'error',\r\n // activateResultMsg: 'Acoount has been activated already or activate period exceeds 7 days'\r\n // })\r\n // }\r\n // }\r\n // catch (err) {\r\n // this.setState({\r\n // activateResultTitle: 'Fail to Activate Account',\r\n // activateResultStatus: 'error',\r\n // activateResultMsg: err && err.response && err.response.data ? err.response.data.Message : ''\r\n // })\r\n // }\r\n //}\r\n\r\n getPasswordConfig = async () => {\r\n let url = new URL(getPasswordConfig, window.location.href);\r\n\r\n let result = await Ajax.get(url);\r\n\r\n this.setState({ strongPWRequired: result && result.data && result.data.success ? result.data.useStrongPassword : false });\r\n }\r\n\r\n validateToNextPassword = async (rule, value) => {\r\n const { strongPWRequired } = this.state;\r\n\r\n if (strongPWRequired && !CheckIsNullOrUndefined(value) && value !== '' && !checkStrongPassword(value)) {\r\n throw new Error(getText('msgStrongPWRequired'));\r\n }\r\n }\r\n\r\n handleConfirmBlur = e => {\r\n const { value } = e.target;\r\n this.setState({ confirmDirty: this.state.confirmDirty || !!value });\r\n }\r\n\r\n handleUserTypeChange = e => {\r\n if (e !== 'SHIPPER'){\r\n const { current } = this.formRef;\r\n\r\n current && current.setFieldsValue({\r\n location_type_id: 0,\r\n referred_by_office_party_id: 0\r\n });\r\n }\r\n\r\n this.setState({ \r\n userType: e\r\n });\r\n }\r\n\r\n handleLocationChange = e => {\r\n this.setState({ location: e });\r\n }\r\n\r\n validate = async (values) => {\r\n let url = new URL(`${process.env.PUBLIC_URL}/api/v1/admin/validateuserprofile`, window.location.href);\r\n url.searchParams.append('login_id', values.login_id);\r\n url.searchParams.append('checkIsRegistered', true);\r\n \r\n try {\r\n let result = await Ajax.get(url)\r\n \r\n return result.data;\r\n }\r\n catch (error) {\r\n Message.error(`${error}`);\r\n return false;\r\n }\r\n }\r\n\r\n doCheckValidCode = (value, codeList, field) => {\r\n if (CheckIsNullOrUndefined(value) || value === '') return true;\r\n\r\n let len = codeList.length;\r\n let validCode = false;\r\n\r\n if (len <= 0) {\r\n return false;\r\n }\r\n\r\n for (var i = 0; i < len; ++i) {\r\n if (codeList[i][field] === value) {\r\n validCode = true;\r\n break;\r\n }\r\n }\r\n \r\n return validCode;\r\n }\r\n\r\n onFinish = async (values) => {\r\n const { current } = this.state;\r\n\r\n this.setState({ loading: true });\r\n\r\n if (current === 0) {\r\n let user = Object.assign({}, this.state.user, values, { email2: values.login_id });\r\n if (user.location_type_id === 0) {\r\n user.location_type_id = null;\r\n }\r\n if (user.referred_by_office_party_id === 0) {\r\n user.referred_by_office_party_id = null;\r\n }\r\n user.status = 'P';\r\n\r\n let res = await this.validate(user);\r\n\r\n if (res) {\r\n if (res.length > 0) {\r\n\r\n let title = 'Error';\r\n if (values)\r\n title = values.login_id;\r\n let errorMessages = [];\r\n res.forEach((r) => {\r\n errorMessages.push(getText(r.msg_key));\r\n });\r\n\r\n Notification.error({\r\n message: title,\r\n description: displayErrorMsg(errorMessages),\r\n placement: 'bottomRight',\r\n duration: 0\r\n });\r\n }\r\n else {\r\n try {\r\n let upsertRes = await Ajax.post(`${process.env.PUBLIC_URL}/api/v1/admin/registerapplication`, user)\r\n\r\n let result = upsertRes.data;\r\n\r\n if (!result) {\r\n Message.error(getText('errSaveUnknown'));\r\n }\r\n\r\n this.setState({ current: (current + 1) % 4 });\r\n }\r\n catch (err) {\r\n this.setState({\r\n loading: false\r\n }, () => { Message.error(getText('errSaveUnknown')); });\r\n }\r\n }\r\n }\r\n }\r\n else if (current === 2) {\r\n await this.updatePassword(values.password);\r\n\r\n this.setState({ current: (current + 1) % 4 });\r\n }\r\n\r\n this.setState({ loading: false });\r\n }\r\n\r\n onFinishFailed = ({ values, errorFields, outOfDate }) => {\r\n Message.error('one or more field types are not input properly');\r\n }\r\n\r\n setModalTermsOfUseVisible = modalTermsOfUseVisible => this.setState({ modalTermsOfUseVisible });\r\n \r\n render() {\r\n const { current, user, fdcList /*activateResultTitle, activateResultMsg, activateResultStatus*/ } = this.state;\r\n \r\n const formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 6 }\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 18 }\r\n }\r\n };\r\n\r\n const formItemLayoutWithOutLabel = {\r\n wrapperCol: {\r\n xs: { span: 24, offset: 0 },\r\n sm: { span: 18, offset: 6 }\r\n }\r\n };\r\n const rootClassName = `root`;\r\n const now = new Date();\r\n const fdcOptions = GetCountryOption(fdcList);\r\n const routingFormColLayout = {\r\n dropdown: {\r\n xs: 24,\r\n sm: 24,\r\n lg: 19,\r\n xl: 19\r\n },\r\n dropdown1: {\r\n xs: 22,\r\n sm: 22,\r\n lg: 16,\r\n xl: 16\r\n },\r\n dropdown2: {\r\n xs: 4,\r\n sm: 4,\r\n lg: 2,\r\n xl: 2\r\n },\r\n flag: {\r\n xs: 24,\r\n sm: { span: 12, offset: 12 },\r\n lg: { span: 4, offset: 0 },\r\n xl: 4\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {steps.map(item => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n current === 0 &&\r\n
\r\n \r\n \r\n\r\n \r\n {getText('lblUserType')}\r\n \r\n )}\r\n name='user_type_id'\r\n rules={[\r\n {\r\n required: true,\r\n message: getText('Please choose an user type')\r\n }\r\n ]}\r\n >\r\n \r\n \r\n \r\n {getText('lblLocation')} \r\n }\r\n name='location_type_id'\r\n >\r\n \r\n \r\n \r\n {getText('lblReferred')} \r\n }\r\n name='referred_by'\r\n >\r\n \r\n \r\n \r\n {getText('lblReferredOffice')} \r\n }\r\n style={this.state.userType !== 'SHIPPER' ? { display: 'none' } : {}}\r\n name='referred_by_office_party_id'\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {getText('lbLoinID')} \r\n }\r\n name='login_id'\r\n rules={[\r\n {\r\n type: 'email',\r\n message: 'Please enter an email address as your login ID',\r\n },\r\n {\r\n required: true,\r\n message: getText('msgLoinIDRequired')\r\n }\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {getText('lbFamilyName')}\r\n \r\n )}\r\n name='family_name'\r\n rules={[{ required: true, message: getText('msgFamilyNameRequired'), whitespace: true }]}\r\n initialValue={user.family_name}\r\n >\r\n \r\n \r\n \r\n {getText('lbGivenName')}\r\n \r\n )}\r\n name='given_name'\r\n rules={[{ required: true, message: getText('msgGiveNameRequired'), whitespace: true }]}\r\n initialValue={user.given_name}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getText('lbCountryCode')}\r\n \r\n )}\r\n validateStatus={!this.doCheckValidCode(user.co_country_code, fdcList, 'country_code') ? 'error' : undefined}\r\n help={!this.doCheckValidCode(user.co_country_code, fdcList, 'country_code') ? getText('msgInvalidCountryCode') : undefined}\r\n name='co_country_code'\r\n rules={[{\r\n validator: (rule, value, callback) => {\r\n if (!this.doCheckValidCode(value, fdcList, 'country_code')) {\r\n callback(getText('msgInvalidCountryCode'));\r\n }\r\n\r\n callback();\r\n }\r\n }]}\r\n initialValue={user.co_country_code}\r\n >\r\n {\r\n this.handleCountryCodeChange(e, () => {\r\n this.handleCountryCodeOnSelect(e);\r\n });\r\n }}\r\n onSelect={(e) => { this.handleCountryCodeOnSelect(e); }}\r\n optionLabelProp=\"text\"\r\n placeholder={getText('lbCountryCode')}\r\n dropdownMatchSelectWidth={false}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {user.co_country_code &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getText('lbCompany')}\r\n \r\n )}\r\n name='company'\r\n rules={[{ required: true, message: getText('msgCompanyRequired') }]}\r\n initialValue={user.company}\r\n >\r\n \r\n \r\n \r\n {getText('lbDepartment')}\r\n \r\n )}\r\n name='department'\r\n initialValue={user.department}\r\n >\r\n \r\n \r\n \r\n {getText('lbPosition')}\r\n \r\n )}\r\n name='position'\r\n initialValue={user.position}\r\n >\r\n \r\n \r\n\r\n \r\n \r\n
\r\n }\r\n {\r\n current === 2 &&\r\n
\r\n \r\n {getText('lbPassword')}\r\n \r\n )}\r\n hasFeedback\r\n name='password'\r\n rules={[\r\n {\r\n required: true,\r\n message: getText('msgPasswordRequired')\r\n },\r\n {\r\n validator: this.validateToNextPassword,\r\n }\r\n ]}\r\n >\r\n \r\n \r\n \r\n {getText('lbConfirmPassword')}\r\n \r\n )}\r\n hasFeedback\r\n dependencies={['password']}\r\n name='confirm_password'\r\n rules={[\r\n {\r\n required: true,\r\n message: getText('msgConfirmPasswordRequired')\r\n },\r\n ({ getFieldValue }) => ({\r\n validator(_, value) {\r\n if (!value || getFieldValue('password') === value) {\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(new Error(getText('msgPasswordInconsistent')));\r\n },\r\n }),\r\n ]}\r\n >\r\n \r\n \r\n
\r\n }\r\n {\r\n current === 3 &&\r\n \r\n Go To Login Page\r\n \r\n ]}\r\n />\r\n }\r\n {/*\r\n current === 2 &&\r\n \r\n Go To Login Page\r\n \r\n ]}\r\n />\r\n */}\r\n {\r\n (current === 0) &&\r\n \r\n \r\n \r\n \r\n \r\n By clicking \"Sign up\" button, you agree to the this.setModalTermsOfUseVisible(true)}>Terms of Use\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n }\r\n {\r\n current === 2 &&\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n }\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n

Terms of Use

\r\n \r\n }\r\n \r\n visible={this.state.modalTermsOfUseVisible}\r\n onCancel={() => this.setModalTermsOfUseVisible(false)}\r\n footer={null}\r\n >\r\n
\r\n

{getText(\"lbTermsOfUseContent\")}

\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(RegistrationWithoutSIS);","import 'url-polyfill';\r\nimport React, { Component } from 'react';\r\nimport Ajax from '../components/Ajax';\r\nimport withTracker from '../components/withTracker';\r\nimport { SetTitle } from '../components/Common';\r\nimport { saveAs } from \"file-saver\";\r\nimport { FilePdfOutlined } from '@ant-design/icons';\r\nimport { Layout } from '../components/base';\r\n\r\nconst { Header, Footer, Content } = Layout;\r\nimport { ReactComponent as CompanyLogo } from '../img/mr_spedag_logo.svg';\r\nimport './DownloadPublicFile.scss';\r\n\r\nconst dlUrl = `${process.env.PUBLIC_URL}/api/v1/File/DownloadPublicFile`;\r\n\r\nclass DownloadPublicFile extends Component {\r\n //constructor(props) {\r\n // super(props);\r\n // this.state = {\r\n // dataUrl: \"\"\r\n // };\r\n //}\r\n\r\n componentDidMount() {\r\n SetTitle('Download Public File');\r\n \r\n let urlParams = new URLSearchParams(window.location.search);\r\n let filename = urlParams.get(\"filename\");\r\n \r\n //this.downloadPublicFile(filename);\r\n //if (this.state.dataUrl) {\r\n // URL.revokeObjectURL(this.state.dataUrl);\r\n //}\r\n //this.getPreviewFile(filename);\r\n }\r\n\r\n downloadPublicFile = async function (filename) {\r\n let url = new URL(dlUrl, window.location.href);\r\n url.searchParams.append('filename', filename);\r\n\r\n let res = await Ajax.get(`${dlUrl}/${filename}`, 'blob');\r\n\r\n if (res.data.size > 0) {\r\n var blob = new Blob([res.data], { type: \"application/octet-stream\" });\r\n blob.name = `${filename}.pdf`;\r\n saveAs(blob);\r\n }\r\n }\r\n\r\n //getPreviewFile = (filename) => {\r\n // const url = new URL(dlUrl, window.location.href);\r\n // url.searchParams.append('filename', filename);\r\n\r\n // Ajax.get(`${dlUrl}/${filename}`, 'blob').then(res => {\r\n // const pdfUrl = URL.createObjectURL(new Blob([res.data], { type: 'application/pdf' }));\r\n // this.setState({ dataUrl: pdfUrl });\r\n // });\r\n //}\r\n\r\n render() {\r\n const now = new Date();\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Privacy Policy

\r\n
\r\n this.downloadPublicFile('PrivacyPolicyDoc')} />\r\n this.downloadPublicFile('PrivacyPolicyDoc')}>Privacy Policy - M+R Forwarding (China) Ltd. \r\n
\r\n

Statement and Authorization on Personal Information Export

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTracker(DownloadPublicFile);","import 'babel-polyfill';\r\nimport React, { Fragment } from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { Input, Menu } from './base';\r\nimport DynamicIcon from './DynamicIcon';\r\nimport { LogoutOutlined, TeamOutlined } from '@ant-design/icons';\r\n\r\nimport Ajax from './Ajax';\r\nimport AuthService from './AuthService';\r\nimport { changeLanguage, getText, DefaultLang } from '../i18n/i18next';\r\n\r\nimport './SystemMenu.scss';\r\nimport i18next from 'i18next';\r\n\r\nconst SubMenu = Menu.SubMenu;\r\nconst Search = Input.Search;\r\nconst userMenuApiUrl = `${process.env.PUBLIC_URL}/api/v1/Users/UserModuleList`;\r\nconst loginUrl = `${process.env.PUBLIC_URL}/Login`;\r\nconst logoutUrl = `${process.env.PUBLIC_URL}/Logout`;\r\nconst changeUserUrl = `${process.env.PUBLIC_URL}/ChangeUser`;\r\n\r\nlet dataList = [];\r\n\r\nconst generateList = (data) => {\r\n for (let i = 0; i < data.length; i++) {\r\n const node = data[i];\r\n const key = node.key;\r\n const title = node.title;\r\n dataList.push({ key, title });\r\n if (node.children) {\r\n generateList(node.children, node.key);\r\n }\r\n }\r\n};\r\n\r\nconst getParentKey = (key, tree) => {\r\n let parentKey;\r\n for (let i = 0; i < tree.length; i++) {\r\n const node = tree[i];\r\n if (node.children) {\r\n if (node.children.some(item => item.key === key)) {\r\n parentKey = node.key;\r\n } else if (getParentKey(key, node.children)) {\r\n parentKey = getParentKey(key, node.children);\r\n }\r\n }\r\n }\r\n return parentKey;\r\n};\r\n\r\nconst getSelectedItemExpandKey = (location, menu) => {\r\n let defaultSelectedKeys = [];\r\n let expandedKeys = [];\r\n if (menu) {\r\n for (let m of menu) {\r\n if (m.children) {\r\n for (let c of m.children) {\r\n if (location && c.url === `${location.pathname}${location.search}`) {\r\n expandedKeys.push(m.key);\r\n defaultSelectedKeys.push(c.key);\r\n break;\r\n }\r\n }\r\n }\r\n else if (location && m.url === `${location.pathname}${location.search}`) {\r\n defaultSelectedKeys.push(m.key);\r\n }\r\n if (defaultSelectedKeys.length > 0) break;\r\n }\r\n }\r\n return { defaultSelectedKeys, expandedKeys };\r\n};\r\n\r\nconst defaultMenuDate = [\r\n {\r\n icon: 'HomeOutlined',\r\n key: 'home',\r\n title: 'Home',\r\n url: '/'\r\n },\r\n /*\r\n {\r\n icon: 'experiment',\r\n key: 'compareso',\r\n title: 'compare so',\r\n url: '/BMS/compareso'\r\n }\r\n */\r\n];\r\n\r\nexport default class SystemMenu extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const { location } = this.props;\r\n\r\n let keyData = getSelectedItemExpandKey(location, defaultMenuDate);\r\n\r\n this.state = {\r\n expandedKeys: keyData.expandedKeys,\r\n defaultSelectedKeys: keyData.defaultSelectedKeys,\r\n defaultOpenKeys: keyData.expandedKeys,\r\n searchValue: '',\r\n selectedKeys: keyData.defaultSelectedKeys,\r\n menuData: defaultMenuDate\r\n };\r\n\r\n this.Auth = new AuthService();\r\n changeLanguage(localStorage.getItem('default_lang') || DefaultLang);\r\n }\r\n\r\n componentDidMount() {\r\n this.mounted = true;\r\n this.loadUserMenu();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n let prevUrl = `${prevProps.location.pathname}${prevProps.location.search}`;\r\n let currUrl = `${this.props.location.pathname}${this.props.location.search}`;\r\n \r\n if (prevUrl !== currUrl) {\r\n let keyData = getSelectedItemExpandKey(this.props.location, this.state.menuData);\r\n let obj = { selectedKeys: keyData.defaultSelectedKeys };\r\n if (Array.isArray(keyData.expandedKeys) && keyData.expandedKeys.length > 0) {\r\n obj.expandedKeys = keyData.expandedKeys;\r\n }\r\n this.cancellable.setState && this.cancellable.setState(obj);\r\n\r\n if (prevUrl === '/ChangeUser' || currUrl === '/ChangeUser') {\r\n this.loadUserMenu();\r\n }\r\n //this.cancellable.setState && this.cancellable.setState({ selectedKeys: keyData.defaultSelectedKeys, expandedKeys: keyData.expandedKeys });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.cancellable.setState = undefined;\r\n }\r\n\r\n loadUserMenu = () => {\r\n Ajax.get(userMenuApiUrl)\r\n .then(res => {\r\n let menuData = [...(JSON.parse(JSON.stringify(defaultMenuDate))), ...res.data];\r\n \r\n menuData.forEach((menu) => {\r\n if (menu.section) {\r\n //if (menu.section !== 'setting' && menu.section !== 'admin' && menu.section !== 'analytics' && menu.section !== 'notification_center' && menu.section !== 'sopms')\r\n // menu.children.unshift({\r\n // key: `${menu.key}_dashboard`,\r\n // section: menu.section,\r\n // title: 'Dashboard',\r\n // url: menu.url\r\n // });\r\n menu.children.forEach((submenu) => {\r\n submenu.url = `${process.env.PUBLIC_URL}${submenu.url}`;\r\n\r\n if (i18next.exists(`menu.${submenu.title}`)) submenu.title = getText(`menu.${submenu.title}`);\r\n });\r\n }\r\n\r\n menu.url = `${process.env.PUBLIC_URL}${menu.url}`;\r\n\r\n if (i18next.exists(`menu.${menu.title}`)) menu.title = getText(`menu.${menu.title}`);\r\n });\r\n\r\n generateList(menuData);\r\n let keyData = getSelectedItemExpandKey(this.props.location, menuData);\r\n\r\n this.cancellable.setState && this.cancellable.setState({ menuData, selectedKeys: keyData.defaultSelectedKeys, expandedKeys: keyData.expandedKeys });\r\n })\r\n .catch(error => {\r\n this.cancellable.setState && this.cancellable.setState({ error });\r\n });\r\n }\r\n\r\n cancellable = {\r\n setState: this.setState.bind(this)\r\n };\r\n\r\n handleLogout = (e) => {\r\n e.preventDefault();\r\n\r\n const { history } = this.props;\r\n this.Auth.logout();\r\n history.push(loginUrl);\r\n }\r\n\r\n handleChangeUser = (e) => {\r\n e.preventDefault();\r\n\r\n const { history } = this.props;\r\n //this.Auth.logout();\r\n history.push(changeUserUrl);\r\n }\r\n\r\n handleSearchMenu = (e) => {\r\n const { menuData } = this.state;\r\n const { location } = this.props;\r\n const value = e.target.value;\r\n const expandedKeys = value.length > 0 ?\r\n dataList.map((item) => {\r\n if (item.title.toLowerCase().indexOf(value.toLowerCase()) > -1) {\r\n return getParentKey(item.key, menuData);\r\n }\r\n return null;\r\n }).filter((item, i, self) => item && self.indexOf(item) === i)\r\n : getSelectedItemExpandKey(location, menuData).expandedKeys;\r\n this.setState({\r\n expandedKeys,\r\n searchValue: value\r\n });\r\n }\r\n\r\n onOpenChange = (openKeys) => {\r\n this.setState({\r\n expandedKeys: openKeys\r\n });\r\n }\r\n\r\n displayMenuItems = () => {\r\n const { searchValue, menuData } = this.state;\r\n \r\n return menuData.map((m) => {\r\n const index = m.title.toLowerCase().indexOf(searchValue.toLowerCase());\r\n const searchStr = m.title.substring(index, index + searchValue.length);\r\n const beforeStr = m.title.substr(0, index);\r\n const afterStr = m.title.substr(index + searchValue.length);\r\n const title = searchValue.length > 0 && index > -1 ? (\r\n \r\n {beforeStr}\r\n {searchStr}\r\n {afterStr}\r\n )\r\n : m.title;\r\n \r\n if (m.children && m.children.length > 0) {\r\n return (\r\n {title}}\r\n >\r\n {m.children.map((sm) => {\r\n const index = sm.title.toLowerCase().indexOf(searchValue.toLowerCase());\r\n const searchStr = sm.title.substring(index, index + searchValue.length);\r\n const beforeStr = sm.title.substr(0, index);\r\n const afterStr = sm.title.substr(index + searchValue.length);\r\n const title = searchValue.length > 0 && index > -1 ? (\r\n \r\n {beforeStr}\r\n {searchStr}\r\n {afterStr}\r\n )\r\n : sm.title;\r\n return ({title});\r\n })}\r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n );\r\n });\r\n}\r\n\r\n render() {\r\n const { expandedKeys, defaultOpenKeys, defaultSelectedKeys, selectedKeys } = this.state;\r\n \r\n return (\r\n
\r\n \r\n \r\n {this.displayMenuItems()}\r\n {\r\n this.Auth.getProfile() && this.Auth.getProfile().super_user_uid &&\r\n \r\n \r\n \r\n {getText('menu.ChangeUser')}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {getText('menu.Sign Out')}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport AuthService from './AuthService';\r\nimport { isArray } from 'util';\r\n\r\nconst LoggedInUser = () => {\r\n const Auth = new AuthService();\r\n const userProfile = Auth.getProfile();\r\n //const { unique_name, profile } = userProfile;\r\n const { first_name, last_name, profile } = userProfile;\r\n\r\n const getProfile = () => {\r\n let res = '';\r\n const profileList = Auth.getProfileList();\r\n\r\n if (isArray(profileList) && profileList.length > 0) {\r\n try {\r\n res = profileList.find(l => l.profile_type_id === profile).profile_type;\r\n }\r\n catch {\r\n res = profile;\r\n }\r\n }\r\n else {\r\n res = profile;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n return (\r\n
\r\n {`${first_name} ${last_name} (${getProfile()})`}\r\n
\r\n );\r\n};\r\n\r\nexport default LoggedInUser;\r\n","import React from 'react';\r\nimport { Link, matchPath } from 'react-router-dom';\r\nimport { Breadcrumb } from './base';\r\n\r\nconst getBreadcrumbItem = (routes, url) => {\r\n const route = routes.filter(r => r.path && matchPath(url, r)).shift();\r\n if (!route || !route.name) return null;\r\n return (\r\n \r\n \r\n {route.name}\r\n \r\n \r\n );\r\n};\r\n\r\nconst generateBreadcrumbItems = (routes, location) => {\r\n const pathSnippets = location.pathname.split('/').filter(i => i);\r\n const rootBreadcrumbItem = getBreadcrumbItem(routes, '/');\r\n const extraBreadcrumbItems = pathSnippets.map((_, index) => {\r\n const url = `/${pathSnippets.slice(0, index + 1).join('/')}`;\r\n return getBreadcrumbItem(routes, url);\r\n }).filter(i => i);\r\n return [rootBreadcrumbItem, ...extraBreadcrumbItems].filter(i => i);\r\n};\r\n\r\nconst BreadcrumbBar = ({ routes, location }) => (\r\n \">\r\n {generateBreadcrumbItems(routes, location)}\r\n \r\n);\r\n\r\nexport default BreadcrumbBar;\r\n","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Layout, Row, Col, Statistic, Tooltip, Dropdown, Menu } from '../components/base';\r\nimport { RightOutlined, PushpinOutlined, UserSwitchOutlined } from '@ant-design/icons';\r\nimport NotificationBellButtonGroup from '../components/Notification/NotificationBellButtonGroup';\r\nimport { enableNotification } from '../components/Notification/common';\r\nimport SystemMenu from '../components/SystemMenu';\r\nimport LoggedInUser from '../components/LoggedInUser';\r\nimport BreadcrumbBar from '../components/Breadcrumb';\r\nimport routingTable from '../routingTable';\r\nimport AuthService from '../components/AuthService';\r\nimport { setIsTimeout, setResetTimer, setHasBLRenewToken } from '../components/withAuth';\r\nimport history from '../components/history';\r\n\r\nimport { ReactComponent as CompanyLogo } from '../img/mr_spedag_logo.svg';\r\nimport './BaseLayout.scss';\r\n\r\nconst { Header, Footer, Sider, Content } = Layout;\r\nconst Auth = new AuthService();\r\nconst Countdown = Statistic.Countdown;\r\n\r\nconst countDown = (timer, onFinish) => {\r\n return (
{\r\n onFinish && onFinish()\r\n }} />
)\r\n}\r\n\r\nexport default class BaseLayout extends Component {\r\n state = {\r\n hideMenu: (localStorage.getItem('hideMenu') === 'true'),\r\n collapsed: (localStorage.getItem('collapsedMenu') === 'true'),\r\n autoHideCollapsed: (localStorage.getItem('hideMenu') === 'true'),\r\n shrinkHeader: false,\r\n isLightTheme: true,\r\n resetTimer: false,\r\n menuIconClass: '',\r\n profileMenu:[]\r\n }\r\n\r\n componentDidMount = () => {\r\n if (Auth.loggedIn() && !Auth.getProfile().profile && this.props.location.pathname.indexOf('/ChangeUser') <= -1) {\r\n this.redirectToLoginPage(false);\r\n }\r\n //window.addEventListener('scroll', this.handleScroll);\r\n window.addEventListener('storage', this.handleStorage);\r\n window.addEventListener('scroll', this.listenToScroll);\r\n this.getUserProfile();\r\n }\r\n\r\n componentWillUnmount = () => {\r\n window.removeEventListener('storage', this.handleStorage);\r\n window.removeEventListener('scroll', this.listenToScroll);\r\n }\r\n\r\n handleStorage = (e) => {\r\n if (e.key === 'id_token') {\r\n if (e.newValue) {\r\n this.resetTimer();\r\n }\r\n else {\r\n this.redirectToLoginPage(false);\r\n }\r\n }\r\n else if (e.key === 'refreshSailing' && e.newValue && e.newValue.toString().toLowerCase() === 'true') {\r\n let updateBookingDate = localStorage.getItem('updateBookingDate');\r\n Auth.refreshSailing && Auth.refreshSailing(updateBookingDate);\r\n localStorage.setItem('refreshSailing', false);\r\n localStorage.setItem('updateBookingDate', false);\r\n }\r\n else if (e.key === 'refreshHBLSailing' && e.newValue && e.newValue.toString().toLowerCase() === 'true') {\r\n Auth.refreshHBLSailing && Auth.refreshHBLSailing();\r\n localStorage.setItem('refreshHBLSailing', false);\r\n }\r\n else if (e.key === 'cargosphere_access_token') {\r\n let cargosphere_access_token = localStorage.getItem('cargosphere_access_token');\r\n Auth.refreshCargosphereAccessTokenState && Auth.refreshCargosphereAccessTokenState(cargosphere_access_token);\r\n localStorage.setItem('refreshCargosphereAccessTokenState', false);\r\n }\r\n }\r\n\r\n redirectToLoginPage = (isTimeOut) => {\r\n const { location: { pathname, search, hash } } = history;\r\n\r\n let currUrl = `${pathname}${search}${hash}`;\r\n let loginUrl = `${process.env.PUBLIC_URL}/login`;\r\n\r\n if (isTimeOut) setIsTimeout(true);\r\n\r\n if (currUrl) loginUrl += `?redir=${encodeURIComponent(currUrl)}`;\r\n history.replace(loginUrl);\r\n }\r\n \r\n redirectToChangePassword = () => {\r\n const { location: { pathname } } = history;\r\n\r\n if (pathname !== '/BMS/Setting/update_user_password') {\r\n history.replace(`${process.env.PUBLIC_URL}/BMS/Setting/update_user_password`);\r\n }\r\n }\r\n\r\n onCountDownFinish = () => {\r\n let token = Auth.getToken();\r\n if (token && !Auth.isTokenExpired(token)) {\r\n Auth.renewIfNeeded(() => {\r\n this.resetTimer();\r\n setHasBLRenewToken(true);\r\n });\r\n return;\r\n }\r\n\r\n this.redirectToLoginPage(true);\r\n }\r\n\r\n toggleMenu = () => {\r\n this.setState((prevState) => {\r\n localStorage.setItem('hideMenu', !prevState.hideMenu);\r\n localStorage.setItem('collapsedMenu', false);\r\n return {\r\n hideMenu: !prevState.hideMenu,\r\n collapsed: false\r\n };\r\n }, () => {\r\n this.listenToScroll();\r\n });\r\n }\r\n\r\n onCollapse = (collapsed) => {\r\n localStorage.setItem('collapsedMenu', collapsed);\r\n this.setState({ collapsed });\r\n }\r\n\r\n onAutoHideCollapse = (autoHideCollapsed) => {\r\n this.setState({ autoHideCollapsed }, () => {\r\n this.listenToScroll();\r\n });\r\n }\r\n\r\n onChangeTheme = (isLightTheme) => {\r\n this.setState({\r\n isLightTheme\r\n });\r\n }\r\n\r\n resetTimer = () => {\r\n const { resetTimer } = this.state;\r\n this.setState({ resetTimer: !resetTimer });\r\n }\r\n\r\n componentDidUpdate() {\r\n if (Auth.loggedIn() && !Auth.getProfile().profile && this.props.location.pathname.indexOf('/ChangeUser') <= -1) {\r\n this.redirectToLoginPage(false);\r\n }\r\n if (Auth.getForceChangePassword()) {\r\n this.redirectToChangePassword();\r\n }\r\n }\r\n\r\n listenToScroll = (e) => {\r\n const winScroll = document.body.scrollTop || document.documentElement.scrollTop\r\n const { menuIconClass, hideMenu, autoHideCollapsed } = this.state;\r\n\r\n if (winScroll > 64 && menuIconClass !== 'fixed') {\r\n this.setState({ menuIconClass: 'fixed' });\r\n }\r\n else if (winScroll <= 64 && menuIconClass === 'fixed') {\r\n this.setState({ menuIconClass: '' });\r\n }\r\n\r\n let searchTable = document.getElementsByClassName(\"resultTable\");\r\n let expandBtn = document.getElementsByClassName(\"tableButtonPanel\");\r\n\r\n let toTopBtn = document.getElementById('toTop');\r\n let toBottomBtn = document.getElementById('toBottom');\r\n\r\n if (searchTable && searchTable.length > 0) {\r\n if ((searchTable[0].getBoundingClientRect() ? searchTable[0].getBoundingClientRect().top : 0) < 0 ) {\r\n searchTable[0].classList.add(\"fixTableHeader\");\r\n\r\n if (hideMenu && autoHideCollapsed) searchTable[0].classList.add(\"hideMenu\");\r\n else searchTable[0].classList.remove(\"hideMenu\");\r\n }\r\n else {\r\n searchTable[0].classList.remove(\"fixTableHeader\");\r\n searchTable[0].classList.remove(\"hideMenu\");\r\n }\r\n }\r\n\r\n if (expandBtn && expandBtn.length > 0) {\r\n if ((searchTable[0].getBoundingClientRect() ? searchTable[0].getBoundingClientRect().top : 0) < 0) expandBtn[0].classList.add('fixTableHeader');\r\n else expandBtn[0].classList.remove('fixTableHeader');\r\n }\r\n\r\n if (toTopBtn) {\r\n toTopBtn.style.display = (winScroll > 200) ? \"block\" : \"none\";\r\n }\r\n\r\n if (toBottomBtn) {\r\n let scrollingElement = (document.scrollingElement || document.body);\r\n toBottomBtn.style.display = ((scrollingElement.scrollHeight - scrollingElement.scrollTop) >= document.body.offsetHeight + 200) ? \"block\" : \"none\";\r\n }\r\n }\r\n\r\n render() {\r\n const { location, history, children } = this.props;\r\n const { hideMenu, collapsed, autoHideCollapsed, shrinkHeader, isLightTheme, menuIconClass } = this.state;\r\n const now = new Date();\r\n const contentOnly = location.pathname === \"/Login\";\r\n const headerStyle = {\r\n display: contentOnly ? 'none' : null\r\n };\r\n const menuWidth = contentOnly ? 0 : (hideMenu && autoHideCollapsed) ? 5 : 250;\r\n const menuClass = contentOnly ? 'contentOnly' : (hideMenu && autoHideCollapsed) ? 'hidden' : '';\r\n const rootClassName = `root ${shrinkHeader ? 'shrinkHeader' : ''} ${isLightTheme ? '' : 'darkTheme'}`;\r\n const menuIconType = hideMenu && autoHideCollapsed ? \"right\" : \"pushpin\";\r\n\r\n const timer = Auth.getTokenExpireTime();\r\n setResetTimer(this.resetTimer);\r\n setHasBLRenewToken(false);\r\n\r\n Auth.renewIfNeeded(() => {\r\n this.resetTimer();\r\n setHasBLRenewToken(true);\r\n });\r\n const { profileMenu } = this.state;\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n { this.onAutoHideCollapse(false); }}\r\n onMouseLeave={() => { this.onAutoHideCollapse(true); }}\r\n >\r\n \r\n \r\n {\r\n menuIconType === \"right\" &&\r\n { this.onAutoHideCollapse(false); }}\r\n onMouseLeave={() => { this.onAutoHideCollapse(true); }}\r\n />\r\n\r\n }\r\n {\r\n menuIconType === \"pushpin\" &&\r\n { this.onAutoHideCollapse(false); }}\r\n onMouseLeave={() => { this.onAutoHideCollapse(true); }}\r\n />\r\n }\r\n {\r\n /* { this.onAutoHideCollapse(false); }}\r\n onMouseLeave={() => { this.onAutoHideCollapse(true); }}\r\n />*/\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {countDown(timer, this.onCountDownFinish)}\r\n \r\n {\r\n enableNotification &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n getUserProfile = () => {\r\n let userProfiles = Auth.getUserProfiles();\r\n let profileOpts = [];\r\n let profileList = Auth.getProfileList();\r\n for (let i = 0; i < userProfiles.length; ++i) {\r\n for (let j = 0; j < profileList.length; ++j) {\r\n if (userProfiles[i] === profileList[j].profile_type_id) {\r\n profileOpts.push({\r\n key: profileList[j].profile_type_id,\r\n value: profileList[j].profile_type\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n let profileMenu = (\r\n \r\n {profileOpts.map(item => (\r\n {item.value}\r\n ))}\r\n \r\n );\r\n this.setState({ profileMenu });\r\n }\r\n\r\n handleMenuItemClick = ({ key }) => {\r\n if (Auth.getProfile().profile != key) {\r\n Auth.selectUserProfile(key)\r\n .then(() => {\r\n location.reload();\r\n location.href = '/'; \r\n })\r\n .catch(err => {\r\n if (err.response && err.response.data && err.response.data.Message) {\r\n Message.error(err.response.data.Message, 30);\r\n }\r\n else if (err.response && err.response.data && err.response.data.msgKey) {\r\n Message.error(getText(err.response.data.msgKey));\r\n }\r\n else if (err.response && err.response.status) {\r\n if (err.response.status === 404) Message.error('404 Not Found');\r\n else if (err.response.status === 500) Message.error('500 Internal Server Error');\r\n else Message.error(`${err.response.status} Error`);\r\n }\r\n else {\r\n console.log('Server not available', err)\r\n Message.error('Server not available');\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","/*eslint no-control-regex: \"off\"*/\r\n\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { Skeleton, Message } from './base';\r\nimport routingTable from '../routingTable';\r\nimport { getText } from '../i18n/i18next';\r\n//import { isArray } from 'util';\r\nimport { property } from 'lodash';\r\n\r\nconst { isArray } = Array;\r\n\r\nexport const DateFormat = \"YYYY-MM-DD\";\r\nexport const DateTimeFormat = \"YYYY-MM-DD HH:mm:ss\";\r\nexport const DateTimeFormat2 = \"YYYY-MM-DD HH:mm\";\r\nexport const DateTimeFormat3 = \"YYYY-MM-DD HH:mm:ss.SSS\"; //block duplicate\r\nexport const TimeFormat = \"HH:mm\";\r\nexport const DateFormat_printing = \"YYYY/MM/DD\";\r\n\r\n//export const OIAPIURL = 'https://capi2.ocean-insights.com/sailingschedules/v2/ports/?s=';\r\n\r\nexport const GUID = () => {\r\n function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\r\n};\r\n\r\nexport function checkTBCContainerNoFormatValid(container_no) {\r\n if (!CheckIsNullOrUndefined(container_no) && container_no.length >= 3 && container_no.length <= 6 && checkNormalCharactersOnly(container_no) && !checkWhiteSpace(container_no) && container_no.toLowerCase().includes('tbc')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const ArrToSelectBox = (ArrInput) => {\r\n let returnObj;\r\n\r\n if (Array.isArray(ArrInput)) {\r\n //console.log(\"HIHI Arr\");\r\n if (ArrInput.length === 1) {\r\n if (ArrInput[0] !== \"\" && ArrInput[0] !== undefined) {\r\n returnObj = {\r\n key: ArrInput[0],\r\n label: ArrInput[0]\r\n };\r\n }\r\n } else {\r\n returnObj = [];\r\n ArrInput.map(item => {\r\n if (item !== \"\" && item !== undefined) {\r\n returnObj.push({\r\n key: item,\r\n label: item\r\n });\r\n }\r\n return true;\r\n });\r\n }\r\n } else if (ArrInput !== \"\") {\r\n returnObj = {\r\n key: ArrInput,\r\n label: ArrInput\r\n };\r\n }\r\n\r\n return returnObj;\r\n};\r\n\r\nexport const ArrToFilterList = (ArrInput) => {\r\n let returnArr = [];\r\n try {\r\n ArrInput.map(record => {\r\n returnArr.push({\r\n text: record,\r\n value: record\r\n });\r\n return true;\r\n });\r\n } catch (error) {\r\n console.log(\"Common:ArrToFilterList:::\", error);\r\n }\r\n return returnArr;\r\n};\r\n\r\nexport const MomentDateToString = (dtMoment) => {\r\n if (moment.isMoment(dtMoment)) {\r\n let strDate = dtMoment.format(DateFormat);\r\n //console.log('MomentDateToString', strDate);\r\n return strDate;\r\n }\r\n return null;\r\n};\r\n\r\nexport const MomentDateTimeToString = (dtMoment) => {\r\n if (moment.isMoment(dtMoment)) {\r\n let strDateTime = dtMoment.format('YYYY-MM-DD[T]HH:mm:ss');\r\n //console.log('MomentDateTimeToString', strDateTime);\r\n return strDateTime;\r\n }\r\n return null;\r\n};\r\n\r\nexport const MoneyFieldFilter = (NumberInput, OriginalValue, DecimalPlaces = 2) => {\r\n let numberString = NumberInput.toString();\r\n let returnString = OriginalValue;\r\n\r\n if ((numberString.match(/\\./g) || []).length <= 1 && (numberString.match(/[^0-9|.-]/g) || []).length === 0) {\r\n\r\n returnString = numberString.indexOf('.') > -1 ?\r\n numberString.toString().substring(0, numberString.indexOf('.') + (DecimalPlaces + 1))\r\n :\r\n numberString;\r\n }\r\n\r\n return returnString;\r\n};\r\n\r\nexport const DefaultPageSize = () => {\r\n return parseInt(localStorage.getItem('default_page_size')) || 10;\r\n}\r\n\r\n\r\nexport const FallbackElements = <>\r\n \r\n \r\n \r\n;\r\n\r\nexport const SetTitle = (title) => {\r\n const baseTitle = 'M+R';\r\n document.title = (title || '') === '' ? baseTitle : `${baseTitle} - ${title}`;\r\n};\r\n\r\nexport const GetSectionNameFromUrl = (match) => {\r\n const { path } = match;\r\n let r = routingTable.filter(r => r.path === path);\r\n if (r.length) {\r\n return r[0].name;\r\n }\r\n return '';\r\n}\r\n\r\nexport const GetSectionDetailsFromUrl = (match) => {\r\n const { path } = match;\r\n let r = routingTable.filter(r => r.path === path);\r\n if (r.length) {\r\n return r[0];\r\n }\r\n return '';\r\n}\r\n\r\nexport const htmlDecode = (input) => {\r\n var doc = new DOMParser().parseFromString(input, \"text/html\");\r\n return doc.documentElement.textContent;\r\n}\r\n\r\nexport const DownloadAJAXBlob = (file, file_name) => {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) { //Edge Fix\r\n window.navigator.msSaveOrOpenBlob(file, file_name);\r\n } else {\r\n console.log(\"Download Come here\")\r\n var a = document.createElement('a');\r\n const fileURL = URL.createObjectURL(file);\r\n a.href = fileURL;\r\n a.download = file_name;\r\n document.body.appendChild(a); //Firefox fix\r\n a.click();\r\n setTimeout(function () { //Firefox Fix\r\n document.body.removeChild(a); //Firefox Fix\r\n window.URL.revokeObjectURL(fileURL)\r\n }, 100);\r\n }\r\n}\r\n\r\nexport const RoundUp2Decimal = (inputNumber, DecimalPlaces = 2) => {\r\n //Before local Invoice //return Math.round(parseFloat((inputNumber * Math.pow(10, DecimalPlaces)).toFixed(1))) / Math.pow(10, DecimalPlaces);\r\n //After local Invoice //return Math.round(parseFloat((inputNumber * Math.pow(10, DecimalPlaces)).toFixed(0))) / Math.pow(10, DecimalPlaces);\r\n //20201118 11397 * 6.705(exchange rate) = ROUND(76416.885) should = 76416.89 instead of 76416.88 \r\n /*** 20201127 Test Case\r\n console.log(\"Test 1 Calculation(290 / 1.06) = 273.58::\", Common.RoundUp2Decimal(290 / 1.06));\r\n console.log(\"Test 2 Calculation(11397 * 6.705) = 76416.89::\", Common.RoundUp2Decimal(11397 * 6.705));\r\n console.log(\"Test 3 Calculation(1100 / 1.06) = 1037.74::\", Common.RoundUp2Decimal(1100 / 1.06));\r\n console.log(\"Test 4 Calculation(487.14 * 6.4584) = 3146.14::\", Common.RoundUp2Decimal(487.14 * 6.4584));\r\n console.log(\"Test 5 Calculation(245.53 * 6.4754) = 1589.90::\", Common.RoundUp2Decimal(245.53 * 6.4754));\r\n\r\n console.log(\"Test 6 Calculation(undefined) = NaN::\", Common.RoundUp2Decimal(undefined)); --Kin Request\r\n console.log(\"Test 7 Calculation(-849.630) = -850::\", Common.RoundUp2Decimal(-849.630,0));\r\n ***/\r\n\r\n let inputNumberString = (inputNumber * 1).toFixed(DecimalPlaces + 3)\r\n let roundingDigit = parseInt(inputNumberString.substring(inputNumberString.length - 3, inputNumberString.length - 2))\r\n let returnNumber = parseFloat(inputNumberString.substring(0, inputNumberString.length - 3));\r\n\r\n if (roundingDigit >= 5) {\r\n if (returnNumber > 0) {\r\n returnNumber += 1 / Math.pow(10, DecimalPlaces)\r\n } else {\r\n returnNumber -= 1 / Math.pow(10, DecimalPlaces)\r\n }\r\n }\r\n\r\n return returnNumber;\r\n //return Math.round(parseFloat((inputNumber * Math.pow(10, DecimalPlaces)).toFixed(DecimalPlaces))) / Math.pow(10, DecimalPlaces);\r\n}\r\n\r\nexport const RoundDecimal = (inputNumber, DecimalPlaces = 2, Method = 'ROUND') => {\r\n //Before local Invoice //return Math.round(parseFloat((inputNumber * Math.pow(10, DecimalPlaces)).toFixed(1))) / Math.pow(10, DecimalPlaces);\r\n //After local Invoice //return Math.round(parseFloat((inputNumber * Math.pow(10, DecimalPlaces)).toFixed(0))) / Math.pow(10, DecimalPlaces);\r\n //20201118 11397 * 6.705(exchange rate) = ROUND(76416.885) should = 76416.89 instead of 76416.88 \r\n /*** 20201127 Test Case\r\n console.log(\"Test 1 Calculation(290 / 1.06) = 273.58::\", Common.RoundUp2Decimal(290 / 1.06));\r\n console.log(\"Test 2 Calculation(11397 * 6.705) = 76416.89::\", Common.RoundUp2Decimal(11397 * 6.705));\r\n console.log(\"Test 3 Calculation(1100 / 1.06) = 1037.74::\", Common.RoundUp2Decimal(1100 / 1.06));\r\n console.log(\"Test 4 Calculation(487.14 * 6.4584) = 3146.14::\", Common.RoundUp2Decimal(487.14 * 6.4584));\r\n console.log(\"Test 5 Calculation(245.53 * 6.4754) = 1589.90::\", Common.RoundUp2Decimal(245.53 * 6.4754));\r\n\r\n console.log(\"Test 6 Calculation(undefined) = NaN::\", Common.RoundUp2Decimal(undefined)); --Kin Request\r\n console.log(\"Test 7 Calculation(-849.630) = -850::\", Common.RoundUp2Decimal(-849.630,0));\r\n ***/\r\n\r\n let inputNumberString = (inputNumber * 1).toFixed(DecimalPlaces + 3)\r\n let roundingDigit = parseInt(inputNumberString.substring(inputNumberString.length - 3, inputNumberString.length - 2))\r\n let returnNumber = parseFloat(inputNumberString.substring(0, inputNumberString.length - 3));\r\n\r\n if ((roundingDigit >= 5 && Method === 'ROUND')\r\n || Method === 'CEIL'\r\n ) {\r\n if (returnNumber > 0) {\r\n returnNumber += 1 / Math.pow(10, DecimalPlaces)\r\n } else {\r\n returnNumber -= 1 / Math.pow(10, DecimalPlaces)\r\n }\r\n }\r\n\r\n return returnNumber;\r\n //return Math.round(parseFloat((inputNumber * Math.pow(10, DecimalPlaces)).toFixed(DecimalPlaces))) / Math.pow(10, DecimalPlaces);\r\n}\r\n\r\nexport const NumberFormatter = (inputNumber) => {\r\n let returnString;\r\n //20211007 #4805\r\n if (inputNumber === undefined) {\r\n returnString = ''\r\n } else {\r\n returnString = inputNumber.toString().replace('#', '');\r\n }\r\n //let negative = false;\r\n //if (returnString.charAt(0) === '-') {\r\n // negative = true;\r\n //}\r\n if (returnString.indexOf('.') > -1) {\r\n let stringArr = returnString.split('.');\r\n returnString = stringArr[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',') + '.' + stringArr[1];\r\n } else {\r\n returnString = returnString.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n }\r\n\r\n //if (negative) {\r\n // returnString = '-' + returnString\r\n //}\r\n\r\n return returnString;\r\n\r\n}\r\n\r\nexport const NumberParser = (inputNumberString) => {\r\n return inputNumberString.toString().replace(/(,*)/g, '') + '#';\r\n}\r\nexport const NumberOnChange = (inputNumberString) => {\r\n if (inputNumberString === '.') {\r\n inputNumberString = '0.'\r\n }\r\n return inputNumberString ? inputNumberString.toString().replace('#', '') : '0';\r\n}\r\n\r\nexport const NumberParser_Antd4 = (inputNumberString) => {\r\n let returnString = inputNumberString.toString().replace(/(,*)/g, '');\r\n //returnString = returnString.replace(/\\D/g, '');\r\n\r\n let negative = false;\r\n if (returnString.indexOf('-') > -1) {\r\n negative = true;\r\n }\r\n\r\n if (returnString.indexOf('.') > -1) {\r\n let stringArr = returnString.split('.');\r\n\r\n let frontNumber = stringArr[0].replace(/\\D/g, '');\r\n if (frontNumber !== '0') {\r\n frontNumber = frontNumber.replace(/^0+/, '')\r\n }\r\n\r\n returnString = frontNumber + '.' + stringArr[1].replace(/\\D/g, '');\r\n } else {\r\n returnString = returnString.replace(/^0+/, '').replace(/\\D/g, '')\r\n }\r\n if (returnString === '.') {\r\n returnString = '0.'\r\n }\r\n\r\n if (negative) {\r\n returnString = '-' + returnString\r\n }\r\n\r\n return returnString ? returnString.toString().replace('#', '') : '0';\r\n}\r\n\r\nexport const NumberOnBlur = (inputNumberString, DecimalPlaces = 2) => {\r\n let outputNumber = isNaN(parseFloat(NumberParser(inputNumberString))) ? 0 : parseFloat(NumberParser(inputNumberString));\r\n return outputNumber.toFixed(DecimalPlaces)\r\n}\r\n\r\nexport const NumberOnBlur_Antd4 = (inputNumberString, min, max, DecimalPlaces = 2) => {\r\n let outputNumber = isNaN(parseFloat(NumberParser(inputNumberString))) ? 0 : parseFloat(NumberParser(inputNumberString));\r\n if (outputNumber < min) {\r\n outputNumber = min\r\n }\r\n if (outputNumber > max) {\r\n outputNumber = max\r\n }\r\n //return DecimalPlaces < 0 ? outputNumber.toString() : outputNumber.toFixed(DecimalPlaces);\r\n return outputNumber.toString();\r\n}\r\n\r\nexport const dynamicSort = (property) => {\r\n var sortOrder = 1;\r\n if (property[0] === \"-\") {\r\n sortOrder = -1;\r\n property = property.substr(1);\r\n }\r\n return function (a, b) {\r\n var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;\r\n return result * sortOrder;\r\n }\r\n}\r\n\r\nexport const dynamicSort2Column = (propertyA, propertyB) => {\r\n return function (a, b) {\r\n if (a[propertyA] === b[propertyA]) {\r\n return a[propertyB] < b[propertyB] ? -1 : 1\r\n } else {\r\n return a[propertyA] < b[propertyA] ? -1 : 1\r\n }\r\n }\r\n}\r\n\r\nexport const CheckIsNullOrUndefined = (input) => (input === null || input === undefined);\r\n\r\nexport const CheckIsEmptyString = (input) => (input === null || input === undefined || input === '');\r\n\r\nexport const CheckIsEmptyArray = (input) => (input === null || input === undefined || !isArray(input) || input.length === 0);\r\n\r\nexport const CheckIsEmptyObject = (input) => (input === null || input === undefined || Object.keys(input).length === 0);\r\n\r\nexport const validateEmail = (email) => {\r\n var re = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/;\r\n\r\n if (email) email = email.toLowerCase();\r\n\r\n return re.test(email);\r\n}\r\n\r\nexport const showAjaxErrorMsg = (error) => {\r\n if (error.response && error.response.status === 404) {\r\n Message.warn(getText('msgNoRecordFound'), 10);\r\n }\r\n else if (error.response && error.response.data) {\r\n Message.error(`${error.response.data.Message}`, 10);\r\n }\r\n else {\r\n Message.error(`${error}`, 10);\r\n }\r\n}\r\n\r\nexport const checkStrongPassword = (pw) => {\r\n let patten = /^(?=(.*\\d))(?=.*[a-z])(?=.*[A-Z]).{8,}$/g;\r\n\r\n return patten.test(pw);\r\n}\r\n\r\nexport function checkNormalCharactersOnly(text) {\r\n let englishReg = /^[~`!@#$%^&*()_+=[\\]\\\\{}|;':\",.\\/<>?a-zA-Z0-9- ]+$|^$/;\r\n\r\n return englishReg.test(text);\r\n}\r\n\r\nexport function replaceToUpperCase(text) {\r\n let englishReg = /[^~`!@#$%^&*()_+=[\\]\\\\{}|;':\",.\\/<>?a-zA-Z0-9- \\r\\n]/gi;\r\n\r\n if (text) {\r\n return text.replace(englishReg, '').toUpperCase();\r\n }\r\n\r\n return '';\r\n}\r\n\r\nexport function trimWhiteSpace(text) {\r\n let englishReg = /[\\r\\n\\t\\f\\v]/gi;\r\n\r\n if (text) {\r\n return text.replace(englishReg, '').trim();\r\n }\r\n\r\n return '';\r\n}\r\n\r\nexport function checkWhiteSpace(text) {\r\n let noWhiteSpaceReg = /^[^\\r\\n\\t\\f\\v\\s]*$/;\r\n\r\n return !noWhiteSpaceReg.test(text);\r\n}\r\n\r\nexport function isfCnsNumReg(isf_cns_num_type) {\r\n if (isf_cns_num_type === 'EIN') {\r\n return /^(\\d{2})-(\\d{7})([A-Z0-9]{2})$/;\r\n }\r\n else if (isf_cns_num_type === 'CBP') {\r\n return /^(\\d{6})-(\\d{5})$/;\r\n }\r\n else if (isf_cns_num_type === 'SSN') {\r\n return /^(\\d{3})-(\\d{2})-(\\d{4})$/;\r\n }\r\n else if (isf_cns_num_type === 'Passport') {\r\n return /^[A-z0-9]{1,12}$/;\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\n\r\nexport function validateUSAssignedID(text, isf_cns_num_type) {\r\n const pattern = isfCnsNumReg(isf_cns_num_type);\r\n if (pattern) {\r\n return pattern.test(text);\r\n } else {\r\n return true;\r\n }\r\n};\r\n\r\nexport function formatCnsIorValue(value, type) {\r\n let formattedValue = '';\r\n\r\n // Remove existing hyphens from the input value\r\n value = value.replace(/-/g, '');\r\n\r\n // Add hyphens based on the ID type and expected format\r\n if (type === 'EIN') {\r\n if (value.length > 2) {\r\n formattedValue += value.substr(0, 2) + '-';\r\n value = value.substr(2);\r\n }\r\n }\r\n else if (type === 'CBP') {\r\n if (value.length > 6) {\r\n formattedValue += value.substr(0, 6) + '-';\r\n value = value.substr(6);\r\n }\r\n }\r\n else if (type === 'SSN') {\r\n if (value.length > 3) {\r\n formattedValue += value.substr(0, 3) + '-';\r\n value = value.substr(3);\r\n }\r\n if (value.length > 2 && formattedValue.includes('-')) {\r\n formattedValue += value.substr(0, 2) + '-';\r\n value = value.substr(2);\r\n }\r\n }\r\n\r\n // Combine the formatted value with the remaining input value\r\n formattedValue += value;\r\n\r\n return formattedValue || value;\r\n}\r\n\r\n\r\nexport function getOMSETDRange(po) {\r\n let etdRange = { omsETDRangeFrom: null, omsETDRangeTo: null };\r\n if (isArray(po)) {\r\n po.forEach(po => {\r\n if (CheckIsNullOrUndefined(etdRange.omsETDRangeFrom)) {\r\n etdRange.omsETDRangeFrom = po.earliest_ship_date;\r\n }\r\n else {\r\n if (!CheckIsEmptyString(po.earliest_ship_date) && moment(po.earliest_ship_date).isValid() && moment(po.earliest_ship_date).isAfter(etdRange.omsETDRangeFrom)) {\r\n etdRange.omsETDRangeFrom = po.earliest_ship_date;\r\n }\r\n }\r\n\r\n if (CheckIsNullOrUndefined(etdRange.omsETDRangeTo)) {\r\n etdRange.omsETDRangeTo = po.est_ship_date;\r\n }\r\n else {\r\n if (!CheckIsEmptyString(po.est_ship_date) && moment(po.est_ship_date).isValid() && moment(po.est_ship_date).isBefore(etdRange.omsETDRangeTo)) {\r\n etdRange.omsETDRangeTo = po.est_ship_date;\r\n }\r\n }\r\n });\r\n\r\n if (CheckIsEmptyString(etdRange.omsETDRangeFrom) || CheckIsEmptyString(etdRange.omsETDRangeTo) || (moment(etdRange.omsETDRangeFrom).isValid() && moment(etdRange.omsETDRangeTo).isValid() && moment(etdRange.omsETDRangeFrom).isAfter(etdRange.omsETDRangeTo))) {\r\n etdRange = { omsETDRangeFrom: null, omsETDRangeTo: null };\r\n }\r\n }\r\n\r\n return etdRange;\r\n}\r\n\r\n\r\nexport const ExcelDateToJSDate = (serial) => {\r\n var utc_days = Math.floor(serial - 25569);\r\n var utc_value = utc_days * 86400;\r\n var date_info = new Date(utc_value * 1000);\r\n\r\n var fractional_day = serial - Math.floor(serial) + 0.0000001;\r\n\r\n var total_seconds = Math.floor(86400 * fractional_day);\r\n\r\n var seconds = total_seconds % 60;\r\n\r\n total_seconds -= seconds;\r\n\r\n var hours = Math.floor(total_seconds / (60 * 60));\r\n var minutes = Math.floor(total_seconds / 60) % 60;\r\n\r\n return new Date(date_info.getFullYear(), date_info.getMonth(), date_info.getDate(), hours, minutes, seconds);\r\n}\r\n\r\nexport const getBrowser = () => {\r\n let returnBrowser = '';\r\n\r\n if (window.chrome !== undefined) {\r\n returnBrowser = 'chrome';\r\n } else if (window.navigator.userAgent.indexOf(\"Edg\") > -1) {\r\n returnBrowser = 'edge';\r\n } else if (window.navigator.userAgent.indexOf(\"Mozilla\") > -1) {\r\n returnBrowser = 'firefox';\r\n }\r\n //console.log(window.chrome, window.navigator, returnBrowser)\r\n \r\n return returnBrowser\r\n}\r\n\r\nexport const countHTMLtextSizeInMB = text => {\r\n let count = 0;\r\n if (navigator.platform.indexOf('Win') === 0)\r\n {\r\n count = calculateHTMLTextSize(text, { lineBreaks: 2 });\r\n }\r\n else \r\n {\r\n count = calculateHTMLTextSize(text);\r\n }\r\n return count > 0 ? (Math.round((count/1024/1024)*100)/100) : 0;\r\n}\r\n\r\nconst calculateHTMLTextSize = (text, options) => {\r\n let crlf = /(\\r?\\n|\\r)/g\r\n let whitespace = /(\\r?\\n|\\r|\\s+)/g;\r\n\r\n // Set option defaults\r\n options = options || {};\r\n options.lineBreaks = options.lineBreaks || 1;\r\n options.ignoreWhitespace = options.ignoreWhitespace || false;\r\n \r\n let length = text.length;\r\n let nonAscii = length - text.replace(/[\\u0100-\\uFFFF]/g, '').length;\r\n let lineBreaks = length - text.replace(crlf, '').length; \r\n \r\n if (options.ignoreWhitespace) {\r\n // Strip whitespace\r\n text = text.replace(whitespace, '');\r\n \r\n return text.length + nonAscii;\r\n }\r\n else {\r\n return length + nonAscii + Math.max(0, options.lineBreaks * (lineBreaks - 1));\r\n }\r\n}\r\n\r\nexport const formResetFields = (form, fields) => {\r\n form && form.resetFields && form.resetFields(fields);\r\n}\r\n\r\nexport const formSetFieldsValue = (form, values) => {\r\n form && form.setFieldsValue && form.setFieldsValue(values);\r\n}\r\n\r\nexport const formGetFieldValue = (form, field) => {\r\n return form && form.getFieldValue && form.getFieldValue(field);\r\n}\r\n\r\nexport const formSetFields = (form, fields) => {\r\n form && form.setFields && form.setFields(fields);\r\n}\r\n\r\nexport const formValidateFields = (form, fields) => {\r\n form && form.validateFields && form.validateFields(fields);\r\n}\r\n\r\nexport const decodeHtml = (html) => {\r\n var txt = document.createElement(\"textarea\");\r\n txt.innerHTML = html;\r\n return txt.value;\r\n}\r\n\r\nexport const isENSParticipant = (countryCode, cityCode) => {\r\n return [\"AT\", \"BE\", \"BG\", \"HR\", \"CY\", \"CZ\", \"DK\", \"EE\", \"FI\",\r\n \"FR\", \"DE\", \"GR\", \"HU\", \"IE\", \"IT\", \"LV\", \"LT\", \"LU\",\r\n \"MT\", \"NL\", \"PL\", \"PT\", \"RO\", \"SK\", \"SI\", \"ES\", \"SE\",\r\n \"CH\", \"NO\", \"GF\", \"GP\", \"MQ\", \"RE\" , \"YT\"\r\n ].includes((countryCode || '').toUpperCase()) ||\r\n [\"GBBEL\", \"GBCLR\", \"GBLDY\", \"GBWPT\", \"GBLAR\", \"GBPTR\"].includes((cityCode || '').toUpperCase());\r\n}\r\n\r\n// export const getEORIRegExp = (countryCode, cityCode, nullable) => {\r\n// if (isENSParticipant(countryCode, cityCode) &&\r\n// ![\"CH\", \"NO\"].includes((countryCode || '').toUpperCase()) &&\r\n// ![\"GBBEL\", \"GBCLR\", \"GBLDY\", \"GBWPT\", \"GBLAR\", \"GBPTR\"].includes((cityCode || '').toUpperCase()))\r\n// return nullable ? new RegExp(/^[A-Z]{2}[a-zA-Z0-9]{0,15}$|^$/) : new RegExp(/^[A-Z]{2}[a-zA-Z0-9]{0,15}$/);\r\n// else\r\n// return new RegExp(/^.{0,}$/);\r\n// }\r\n\r\nexport const jobTypeMapping = {\r\n c: 'Cancelled',\r\n i: 'Inbound',\r\n o: 'Outbound'\r\n};\r\n\r\nexport const jobStatusMapping = {\r\n opn: 'OPEN',\r\n del: 'DELETED'\r\n};\r\n\r\nexport function capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1)\r\n}\r\n\r\nexport function getDisabledPOLETDInitial (currentDate) {\r\n let startDate = moment().add(1, 'days');\r\n let endDate = moment().add(3, 'months').endOf(\"month\");\r\n\r\n return !currentDate.isBetween(startDate, endDate, 'days', '[]');\r\n}","//import React from 'react';\r\n\r\nconst DynamicIcon = ({ type, ...rest }) => {\r\n const icons = require(`@ant-design/icons`);\r\n try {\r\n const Component = icons[type];\r\n if (Component) return \r\n else return
\r\n }\r\n catch (error) {\r\n console.log('DynamicIcon error', error)\r\n return
\r\n }\r\n}\r\n\r\nexport default DynamicIcon;","import React, { /*PureComponent*/ memo, useState, useEffect, useRef } from 'react';\r\nimport Ajax from './Ajax';\r\nimport { Input, Button, AutoComplete } from './base';\r\nimport { CheckIsNullOrUndefined, trimWhiteSpace } from './Common';\r\nimport { ClockCircleOutlined, SearchOutlined } from '@ant-design/icons';\r\n\r\nconst { Group: InputGroup } = Input;\r\nconst { Option } = AutoComplete;\r\n\r\nconst getSmartSearchHistoryUrl = `${process.env.PUBLIC_URL}/api/v1/AutoSave/GetSmartSearchHistory`;\r\nconst upsertSmartSearchHistoryUrl = `${process.env.PUBLIC_URL}/api/v1/AutoSave/UpsertSmartSearchHistory`;\r\n\r\n//class SearchBoxWithAutoComplete extends PureComponent {\r\n\r\n// constructor(props) {\r\n// super(props);\r\n// this.state = {\r\n// data: [],\r\n// searchText: ''\r\n// }\r\n// }\r\n\r\n// componentDidMount() {\r\n// this.getSmartSearchHistory();\r\n// }\r\n\r\n// inputBoxStyle = {\r\n// //width: `${100 - searchButtonPercent}%`\r\n// flex: 1\r\n// }\r\n\r\n// searchButtonStyle = {\r\n// //width: `${searchButtonPercent}%`,\r\n// flex: `0 1 ${this.props.searchButtonPercent}%`,\r\n// minWidth: `${this.props.searchButtonMinWidth}px`\r\n// }\r\n\r\n// inputProps = {\r\n// style: this.inputBoxStyle,\r\n// placeholder: this.props.placeholder,\r\n// name: this.props.name,\r\n// suffix: this.props.suffix,\r\n// //onPressEnter: this.props.onPressEnter,\r\n// allowClear: this.props.allowClear\r\n// }\r\n\r\n// getSmartSearchHistory = async () => {\r\n// let data = [];\r\n// try {\r\n// let res = await Ajax.get(getSmartSearchHistoryUrl);\r\n\r\n// if (res && res.data) {\r\n// data = res.data;\r\n// }\r\n// }\r\n// catch (error) {\r\n\r\n// }\r\n\r\n// this.setState({ data });\r\n// }\r\n\r\n// handleClick = async () => {\r\n// const { searchText } = this.state;\r\n// const { onClick } = this.props;\r\n\r\n// if (searchText !== '' && !CheckIsNullOrUndefined(searchText)) {\r\n// await Ajax.post(upsertSmartSearchHistoryUrl, {\r\n// id: -1,\r\n// search_text: trimWhiteSpace(searchText)\r\n// });\r\n\r\n// this.getSmartSearchHistory();\r\n// }\r\n\r\n// onClick && onClick();\r\n// }\r\n\r\n// handleSearch = (searchText) => {\r\n// const { onSearch } = this.props;\r\n// this.setState({ searchText: trimWhiteSpace(searchText) }, () => {\r\n// onSearch && onSearch();\r\n// });\r\n// }\r\n\r\n// handleSelect = (searchText, option) => {\r\n// const { onSelect } = this.props;\r\n\r\n// this.setState({ searchText: trimWhiteSpace(searchText) }, () => {\r\n// onSelect && onSelect(trimWhiteSpace(searchText));\r\n// });\r\n// }\r\n\r\n// render() {\r\n// const { value, type, buttonText, searchIconName, onClick, onChange, style, onBlur, optionClassName, disabled } = this.props;\r\n// const { data, searchText } = this.state;\r\n\r\n// if (value !== undefined && value !== null) {\r\n// this.inputProps.value = value;\r\n// }\r\n\r\n// if (onChange !== undefined && onChange !== null) {\r\n// this.inputProps.onChange = onChange;\r\n// }\r\n\r\n// let searchResult = data.filter(dat => dat.search_text.toLowerCase().includes(searchText.toLowerCase()));\r\n// let children = searchResult.map(res => )\r\n\r\n// return (\r\n// \r\n// {\r\n// this.handleSelect(trimWhiteSpace(searchText), option);\r\n// }}\r\n// onSearch={(text) => {\r\n// this.handleSearch(text);\r\n// }}\r\n// onBlur={() => {\r\n// onBlur && onBlur(trimWhiteSpace(searchText));\r\n// }}\r\n// //optionLabelProp=\"value\"\r\n// //dataSource={children}\r\n// {...this.inputProps}\r\n// >\r\n// {children}\r\n// \r\n// {\r\n// this.handleClick();\r\n// //20210505 #4064 Duplicate fire click //onClick && onClick();\r\n// }}\r\n// disabled={disabled}\r\n// >\r\n// {buttonText}\r\n// \r\n// \r\n// );\r\n// }\r\n//}\r\n\r\nconst SearchBoxWithAutoComplete = memo(function SearchBoxWithAutoComplete(props) {\r\n const [data, setData] = useState([]);\r\n const [searchText, setSearchText] = useState('');\r\n let didMount = useRef(false);\r\n const { value, type, buttonText, onChange, style, onBlur, optionClassName, disabled } = props;\r\n\r\n const inputBoxStyle = {\r\n //width: `${100 - searchButtonPercent}%`\r\n flex: 1\r\n }\r\n\r\n const searchButtonStyle = {\r\n //width: `${searchButtonPercent}%`,\r\n flex: `0 1 ${props.searchButtonPercent}%`,\r\n minWidth: `${props.searchButtonMinWidth}px`\r\n }\r\n\r\n let inputProps = {\r\n style: inputBoxStyle,\r\n placeholder: props.placeholder,\r\n name: props.name,\r\n suffix: props.suffix,\r\n //onPressEnter: props.onPressEnter,\r\n allowClear: props.allowClear\r\n }\r\n\r\n const getSmartSearchHistory = async () => {\r\n let data = [];\r\n try {\r\n let res = await Ajax.get(getSmartSearchHistoryUrl);\r\n\r\n if (res && res.data) {\r\n data = res.data;\r\n }\r\n }\r\n catch (error) {\r\n\r\n }\r\n\r\n setData(data);\r\n }\r\n\r\n const handleClick = async () => {\r\n const { onClick } = props;\r\n\r\n if (searchText !== '' && !CheckIsNullOrUndefined(searchText)) {\r\n await Ajax.post(upsertSmartSearchHistoryUrl, {\r\n id: -1,\r\n search_text: trimWhiteSpace(searchText)\r\n });\r\n\r\n getSmartSearchHistory();\r\n }\r\n\r\n onClick && onClick();\r\n }\r\n\r\n const handleSearch = (searchText) => {\r\n setSearchText(trimWhiteSpace(searchText)); \r\n }\r\n\r\n useEffect(() => {\r\n const { onSearch } = props;\r\n onSearch && onSearch();\r\n }, [searchText])\r\n\r\n useEffect(() => {\r\n if (!didMount.current) {\r\n getSmartSearchHistory();\r\n didMount.current = true;\r\n }\r\n }, [data])\r\n\r\n const handleSelect = (searchText, option) => {\r\n setSearchText(trimWhiteSpace(searchText));\r\n }\r\n\r\n if (value !== undefined && value !== null) {\r\n inputProps.value = value;\r\n }\r\n\r\n if (onChange !== undefined && onChange !== null) {\r\n inputProps.onChange = onChange;\r\n }\r\n\r\n let searchResult = data.filter(dat => dat.search_text.toLowerCase().includes(searchText.toLowerCase()));\r\n let children = searchResult.map(res => )\r\n\r\n return (\r\n \r\n {\r\n handleSelect(trimWhiteSpace(searchText), option);\r\n }}\r\n onSearch={(text) => {\r\n handleSearch(text);\r\n }}\r\n onBlur={() => {\r\n onBlur && onBlur(trimWhiteSpace(searchText));\r\n }}\r\n //optionLabelProp=\"value\"\r\n //dataSource={children}\r\n {...inputProps}\r\n >\r\n {children}\r\n \r\n {\r\n handleClick();\r\n //20210505 #4064 Duplicate fire click //onClick && onClick();\r\n }}\r\n disabled={disabled}\r\n >\r\n {buttonText}\r\n \r\n \r\n );\r\n\r\n});\r\n\r\nSearchBoxWithAutoComplete.defaultProps = {\r\n buttonText: 'Search',\r\n placeholder: 'Search',\r\n searchButtonPercent: 30,\r\n searchButtonMinWidth: 95,\r\n type: 'primary',\r\n searchIconName: 'search',\r\n style: {}\r\n};\r\n\r\nexport default SearchBoxWithAutoComplete;\r\n","import { Tooltip } from 'antd';\r\n\r\nexport default Tooltip;\r\n","import { HubConnectionBuilder, HttpTransportType, LogLevel } from '@microsoft/signalr';\r\n\r\nconst baseUrl = process.env.REACT_APP_SIGNALR_WEB_API_URL;\r\n\r\nexport default class SignalR {\r\n // Initializing important variables\r\n constructor(hubName) {\r\n this.hubName = hubName;\r\n this.initConnection();\r\n }\r\n\r\n initConnection = () => {\r\n if (this.connection == null)\r\n this.connection = new HubConnectionBuilder()\r\n .configureLogging(LogLevel.None)\r\n .withUrl(`${baseUrl}/${this.hubName}`, {\r\n skipNegotiation: true,\r\n transport: HttpTransportType.WebSockets,\r\n accessTokenFactory: () => localStorage.getItem('id_token')\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n }\r\n\r\n on = async (funcName, callback) => {\r\n try {\r\n if (this.connection == null)\r\n this.initConnection();\r\n\r\n if (this.connection.state === 'Disconnected')\r\n await this.connection.start().catch(e => console.log(`${this.hubName} Connection failed: `, e));\r\n await this.connection.on(funcName, msg => callback && callback(msg));\r\n }\r\n catch(e) {\r\n console.log(`${funcName} subscribe failed: `, e);\r\n }\r\n }\r\n\r\n off = async () => {\r\n try {\r\n if (this.connection)\r\n {\r\n if (this.connection.state !== 'Disconnected')\r\n this.connection.stop();\r\n this.connection = null;\r\n }\r\n }\r\n catch(e) {\r\n console.log(`User notification unsubscribe failed: `, e);\r\n }\r\n }\r\n\r\n send = async (funcName, dataObj) => {\r\n try {\r\n if (this.connection == null)\r\n this.initConnection();\r\n\r\n if (this.connection.state === 'Disconnected')\r\n await this.connection.start().catch(e => console.log(`${this.hubName} Connection failed: `, e));\r\n await this.connection.send(funcName, dataObj);\r\n }\r\n catch(e) {\r\n console.log('Send failed: ', e);\r\n }\r\n }\r\n}","import React from 'react';\r\nimport { Table } from 'antd';\r\n\r\nimport './Table.scss';\r\n\r\nconst calcScroll = (columns, defaultColWidth, maxHeight, scroll) => {\r\n if (!columns || columns.length === 0) return null;\r\n let x = columns.map(c => c.width || defaultColWidth).reduce((a, c) => a + c);\r\n //return { x };\r\n //return { x, y: 450 };\r\n return Object.assign({ x, y: maxHeight }, scroll);\r\n};\r\n\r\nconst getRowClassName = (rowClassName) => (\r\n (record, index) => {\r\n let className = index % 2 === 0 ? '' : 'altRow';\r\n if (rowClassName && typeof rowClassName === 'function') {\r\n className = ` ${rowClassName(record, index)}`;\r\n }\r\n return className;\r\n }\r\n);\r\n\r\nexport const pageSizeOptions = ['10', '20', '30', '40', '50', '100'];\r\n\r\nconst ListTable = ({ columns, dataSource, error, pagination, onChange, isLoading, defaultColWidth, rowKey, size, rowClassName, maxHeight, scroll, ...props }) => {\r\n let errMsg = \"\";\r\n let msgType = \"info\";\r\n\r\n if (error) {\r\n errMsg = error;\r\n msgType = \"danger\";\r\n }\r\n\r\n if (errMsg && errMsg.length > 0 && !isLoading) {\r\n return (\r\n
\r\n {errMsg}\r\n
\r\n );\r\n }\r\n\r\n const paginationWithDefaults = typeof pagination === 'boolean' ? pagination : Object.assign({ pageSizeOptions: pageSizeOptions}, pagination);\r\n\r\n return (\r\n 0 ? maxHeight : undefined, scroll)}//{dataSource && dataSource.length > 0 ? calcScroll(columns, defaultColWidth, maxHeight, scroll) : undefined}\r\n pagination={paginationWithDefaults}\r\n loading={isLoading}\r\n onChange={onChange}\r\n size={size}\r\n rowClassName={getRowClassName(rowClassName)}\r\n {...props}\r\n />\r\n );\r\n};\r\n\r\nListTable.defaultProps = {\r\n defaultColWidth: 100,\r\n size: \"middle\",\r\n maxHeight: 450\r\n};\r\n\r\nexport default ListTable;\r\n","import React, { useState, Component } from 'react';\r\n\r\nimport withAuth from '../../components/withAuth';\r\n\r\nimport { getText, multiLine } from '../../i18n/i18next';\r\n\r\nimport { Row, Col, Skeleton, Badge, Tooltip, Card, Divider, Dropdown, Menu, Empty, Message, Notification, Pagination, Modal, Switch, Button } from './../base';\r\nimport history from './../history';\r\n\r\nimport { subscribeUserNotification, stopSignalR, upsertMessage, markAllMessagesAsRead, deleteAllMessages, getMessage, unfollowNotification, getMessageDate, getUserProfileAvailableEventCodes, loadBookingApprovalRemarkImage, loadBookingApprovalRemarkImage2, loadConsolidationRemarkImage, loadConsolidationRemarkImage2 } from './common';\r\n\r\nimport SearchBoxWithAutoComplete from './../SearchBoxWithAutoComplete';\r\n\r\nimport AuthService from './../AuthService';\r\n\r\nimport './NotificationBellButtonGroup.scss';\r\nimport { BellOutlined, BellFilled, CheckOutlined, DeleteOutlined, SyncOutlined, SettingOutlined, FullscreenOutlined, DoubleRightOutlined, DoubleLeftOutlined, SearchOutlined, MoreOutlined, LeftOutlined, DisconnectOutlined, FileOutlined, BookOutlined, CheckCircleOutlined, ClusterOutlined, FilePptOutlined, ReconciliationOutlined } from '@ant-design/icons';\r\n\r\nimport 'braft-editor/dist/output.css'\r\n\r\n//const masterListUrl = `${process.env.PUBLIC_URL}/BMS/Notification/masterList`;\r\nconst confirm = Modal.confirm;\r\n\r\nconst Auth = new AuthService();\r\n\r\nconst checkClickOutsideNotificationList = setNotificationListVisible => {\r\n const [clientAdded , setClientAdded] = useState(false);\r\n\r\n if (!clientAdded) {\r\n setClientAdded(true);\r\n \r\n document.addEventListener(\"mousedown\", (evt) => {\r\n let targetElement = evt.target; // mousedowned element\r\n let isClickInsideElement = false;\r\n \r\n do {\r\n isClickInsideElement = targetElement && typeof targetElement.className === 'string' && (targetElement.className || '').includes(\"notificationInsideElement\");\r\n\r\n // Go up the DOM\r\n targetElement = targetElement.parentNode;\r\n } while (targetElement && !isClickInsideElement);\r\n \r\n //console.log(isClickInsideElement ? 'in' : 'out')\r\n\r\n if (!isClickInsideElement) {\r\n //Do something click is outside specified element\r\n setNotificationListVisible(false);\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst BellButton = props => {\r\n const { notificationListVisible, setNotificationListVisible, countUnread } = props;\r\n\r\n const handleOnClickBell = () => {\r\n setNotificationListVisible(!notificationListVisible);\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n notificationListVisible ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport const NotificationList = props => {\r\n const { notificationListVisible, messages, countUnread, loading, readFilter, searchText, pagination } = props;\r\n const { refreshUserNotification, setNotificationListVisible, setMessages, setCountUnread, setReadFilter, setSearchText, setPagination, updateReadStatus } = props;\r\n\r\n checkClickOutsideNotificationList(setNotificationListVisible);\r\n\r\n const [searchBoxVisible, setSearchBoxVisible] = useState(false);\r\n const [isExpandWidth, setIsExpandWidth] = useState(false);\r\n \r\n const markAllAsRead = async () => {\r\n let isUpdateSuccess = await markAllMessagesAsRead();\r\n if (isUpdateSuccess) {\r\n let newMessages = messages.map(i => ({ ...i, is_read: true }));\r\n setMessages(newMessages);\r\n setCountUnread(0);\r\n }\r\n }\r\n\r\n const onSearchText = searchText => {\r\n setSearchText(searchText);\r\n refreshUserNotification(readFilter, searchText, pagination.pageSize, 1);\r\n }\r\n\r\n /*const handleOnShowSizeChange = (current, pageSize) => {\r\n let newPagination = { ...pagination };\r\n newPagination.current = current;\r\n newPagination.pageSize = pageSize;\r\n setPagination(newPagination);\r\n refreshUserNotification(readFilter, searchText, pageSize, current);\r\n console.log(current, pageSize)\r\n }*/\r\n \r\n const handleOnPageChange = (page, pageSize) => {\r\n let newPagination = { ...pagination };\r\n newPagination.current = page;\r\n newPagination.pageSize = pageSize;\r\n setPagination(newPagination);\r\n refreshUserNotification(readFilter, searchText, pageSize, page);\r\n };\r\n\r\n const handleSwitchreadFilter = newreadFilter => {\r\n let newPagination = { ...pagination };\r\n newPagination.current = 1;\r\n setPagination(newPagination);\r\n setReadFilter(newreadFilter);\r\n refreshUserNotification(newreadFilter, searchText, newPagination.pageSize, 1);\r\n }\r\n\r\n const handleMenuClick = e => {\r\n switch (e.key) {\r\n case \"markAllAsRead\":\r\n console.log('click', e.item.props.children);\r\n markAllAsRead();\r\n break;\r\n case \"deleteAll\":\r\n console.log('click', e.item.props.children);\r\n confirm({\r\n className: 'notificationInsideElement',\r\n title: getText('notification.msgSureToDeleteAll'),\r\n centered: true,\r\n cancelText: getText('lblNo'),\r\n okText: getText('lblYes'),\r\n onOk: handleDeleteAllMessages,\r\n maskClosable: true\r\n });\r\n break;\r\n //case \"masterList\":\r\n //console.log('click', e.item.props.children);\r\n //history.push(`${process.env.PUBLIC_URL}/BMS/Notification/masterList`);\r\n //setNotificationListVisible(false);\r\n //break;\r\n case \"refreseh\":\r\n console.log('click', e.item.props.children);\r\n onSearchText(searchText);\r\n break;\r\n case \"userDefaultSetting\":\r\n console.log('click', e.item.props.children);\r\n history.push(`${process.env.PUBLIC_URL}/BMS/Notification/masterSetting`);\r\n setNotificationListVisible(false);\r\n break;\r\n default:\r\n console.log('click');\r\n }\r\n }\r\n\r\n const handleOnClickSearch = () => setSearchBoxVisible(true);\r\n\r\n const handleOnClickBack = () => { \r\n setSearchBoxVisible(false);\r\n if (searchText !== '') {\r\n onSearchText(\"\");\r\n }\r\n }\r\n \r\n const handleOnClickExpandWidth = () => setIsExpandWidth(!isExpandWidth);\r\n\r\n const handleDeleteAllMessages = async () => {\r\n let isUpdateSuccess = await deleteAllMessages();\r\n if (isUpdateSuccess) {\r\n setMessages([]);\r\n setCountUnread(0);\r\n }\r\n\r\n let newPagination = { ...pagination };\r\n newPagination.current = 1;\r\n newPagination.total = 0;\r\n setPagination(newPagination);\r\n };\r\n\r\n const menu = (\r\n \r\n \r\n  \r\n {getText('notification.lblNotificationListMenuOption1')}\r\n \r\n \r\n  \r\n {getText('notification.lblNotificationListMenuOption2')}\r\n \r\n \r\n  \r\n {getText('notification.lblNotificationListMenuOption3')}\r\n \r\n {/*\r\n \r\n  \r\n {getText('notification.lblNotificationListMenuOption4')}\r\n \r\n */}\r\n \r\n  \r\n {getText('notification.lblNotificationListMenuOption4')}\r\n \r\n \r\n );\r\n \r\n return (\r\n \r\n \r\n

\r\n {getText('notification.lblNotificationListTitle')}\r\n handleSwitchreadFilter(checked ? 'All' : 'Unread')}\r\n checked={readFilter === 'All'} \r\n />\r\n
\r\n {\r\n isExpandWidth ?\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n e.preventDefault()}>\r\n \r\n \r\n \r\n
\r\n

\r\n

\r\n \r\n \r\n
\r\n onSearchText(searchText)}\r\n onChange={setSearchText}\r\n onSelect={onSearchText}\r\n onBlur={onSearchText}\r\n />\r\n
\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n messages.map((msg, idx) => \r\n
\r\n \r\n {React.createElement(notificationListItem, { ...msg, messages, countUnread, readFilter, pagination, refreshUserNotification, updateReadStatus })} \r\n
\r\n )\r\n }\r\n {\r\n messages.length === 0 && \r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nconst notificationListItem = props => {\r\n\r\n const { messages, readFilter, pagination } = props;\r\n const { refreshUserNotification, updateReadStatus } = props;\r\n const { message_id, module, sub_module, doc_code, desc_key, desc_param, href, is_read, message_dt } = props;\r\n const [ showMore, setShowMore ] = useState(false);\r\n\r\n const removeMessage = async () => {\r\n let message = { ...messages.find(msg => msg.message_id === message_id), removed: true };\r\n let isUpdateSuccess = await upsertMessage(message);\r\n if (isUpdateSuccess) {\r\n let current = Math.ceil((pagination.total-1)/pagination.pageSize) >= pagination.current ? pagination.current : (pagination.current-1 > 0 ? pagination.current-1 : 1);\r\n refreshUserNotification(readFilter, \"\", pagination.pageSize, current);\r\n }\r\n }\r\n\r\n const unfollow = async () => {\r\n let isUpdateSuccess = await unfollowNotification(module, doc_code);\r\n if (isUpdateSuccess) {\r\n Message.success(getText('notification.msgUnfollowSuccess'));\r\n } else {\r\n Message.error(getText('notification.msgUnfollowFail'));\r\n }\r\n }\r\n\r\n const getModuleIcon = () => {\r\n if (module === 'invoice') {\r\n return ;\r\n } else if (module === 'booking' && sub_module === 'booking') {\r\n return ;\r\n } else if (module === 'booking' && sub_module === 'booking approval') {\r\n return ;\r\n } else if (module === 'consolidation') {\r\n return ;\r\n } else if (module === 'prs') {\r\n return ;\r\n } else if (module === 'sopms') {\r\n return ;\r\n }\r\n }\r\n\r\n const handleOnClickNotificationList = e => {\r\n history.push(`${process.env.PUBLIC_URL}${href}`);\r\n updateReadStatus(true, message_id);\r\n //setNotificationListVisible(false);\r\n }\r\n\r\n const handleMenuClick = e => {\r\n switch (e.key) {\r\n case \"1\":\r\n console.log('click', e.item.props.children);\r\n updateReadStatus(!is_read, message_id);\r\n break;\r\n case \"2\":\r\n console.log('click', e.item.props.children);\r\n removeMessage();\r\n break;\r\n case \"3\":\r\n console.log('click', e.item.props.children);\r\n unfollow();\r\n break;\r\n default:\r\n console.log('click');\r\n }\r\n }\r\n \r\n const handleOnClickRead = () => updateReadStatus(!is_read, message_id);\r\n\r\n const menu = (\r\n \r\n \r\n  \r\n {!is_read && getText('notification.lblNotificationListItemMenuOption1a')}\r\n {is_read && getText('notification.lblNotificationListItemMenuOption1b')}\r\n \r\n \r\n  \r\n {getText('notification.lblNotificationListItemMenuOption2')}\r\n \r\n \r\n  \r\n {module === \"booking\" && `${getText('notification.lblNotificationListItemMenuOption3a')}${doc_code}`}\r\n \r\n \r\n );\r\n \r\n let html_desc = \"\";\r\n if ([\"notification.msgBookingNewOperationRemark\", \"notification.msgBookingNewPricingRemark\",\r\n \"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"\r\n ].includes(desc_key))\r\n {\r\n html_desc = `
${getText(desc_key)}
`;\r\n for (const [key, value] of Object.entries(desc_param)) \r\n {\r\n html_desc = html_desc.replace(`{${key}}`, value);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {getModuleIcon()}\r\n \r\n \r\n \r\n {[\"notification.msgBookingNewOperationRemark\", \"notification.msgBookingNewPricingRemark\",\r\n \"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"\r\n ].includes(desc_key) ?\r\n
\r\n : multiLine(getText(desc_key, desc_param))\r\n }\r\n {\r\n showMore === true &&\r\n <>\r\n
\r\n {\r\n desc_key === \"notification.msgBookingUpdateSailingA2\" && Array.isArray(desc_param.updated_sailing_detail) && \r\n desc_param.updated_sailing_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgBookingUpdateSailingA2Detail\", d))}\r\n )\r\n }\r\n {\r\n desc_key === \"notification.msgBookingUpdateRouting\" && Array.isArray(desc_param.updated_routing_detail) && \r\n desc_param.updated_routing_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgBookingUpdateRoutingDetail\", d))}\r\n )\r\n }\r\n {\r\n desc_key === \"notification.msgConsolidationUpdateSailingA2\" && Array.isArray(desc_param.updated_sailing_detail) && \r\n desc_param.updated_sailing_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgConsolidationUpdateSailingA2Detail\", d))}\r\n )\r\n }\r\n {\r\n desc_key === \"notification.msgBookingUpdateTotalRate\" && (desc_param.contract_no??'') !== '' && \r\n <>{multiLine(desc_param.contract_no)}\r\n }\r\n {\r\n desc_key === \"notification.msgBookingUpdateTotalRate\" && Array.isArray(desc_param.updated_total_rate_detail) && \r\n desc_param.updated_total_rate_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgBookingUpdateTotalRateDetail\", d))}\r\n )\r\n }\r\n {\r\n desc_key === \"notification.msgConsolidationUpdateTotalRate\" && (desc_param.contract_no??'') !== '' && \r\n <>{multiLine(desc_param.contract_no)}\r\n }\r\n {\r\n desc_key === \"notification.msgConsolidationUpdateTotalRate\" && Array.isArray(desc_param.updated_total_rate_detail) && \r\n desc_param.updated_total_rate_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgConsolidationUpdateTotalRateDetail\", d))}\r\n )\r\n }\r\n {\r\n (\r\n (desc_key === \"notification.msgBookingUpdateSailingA2\" && Array.isArray(desc_param.updated_sailing_detail)) ||\r\n (desc_key === \"notification.msgBookingUpdateRouting\" && Array.isArray(desc_param.updated_routing_detail)) ||\r\n (desc_key === \"notification.msgConsolidationUpdateSailingA2\" && Array.isArray(desc_param.updated_sailing_detail)) ||\r\n (desc_key === \"notification.msgBookingUpdateTotalRate\" && ((desc_param.contract_no??'') !== '' || Array.isArray(desc_param.updated_total_rate_detail))) ||\r\n (desc_key === \"notification.msgConsolidationUpdateTotalRate\" && ((desc_param.contract_no??'') !== '' || Array.isArray(desc_param.updated_total_rate_detail)))\r\n ) &&\r\n { e.stopPropagation(); setShowMore(false); }}>Hide\r\n }\r\n \r\n }\r\n {\r\n showMore !== true &&\r\n (\r\n (desc_key === \"notification.msgBookingUpdateSailingA2\" && Array.isArray(desc_param.updated_sailing_detail)) ||\r\n (desc_key === \"notification.msgBookingUpdateRouting\" && Array.isArray(desc_param.updated_routing_detail)) ||\r\n (desc_key === \"notification.msgConsolidationUpdateSailingA2\" && Array.isArray(desc_param.updated_sailing_detail)) ||\r\n (desc_key === \"notification.msgBookingUpdateTotalRate\" && ((desc_param.contract_no??'') !== '' || Array.isArray(desc_param.updated_total_rate_detail))) ||\r\n (desc_key === \"notification.msgConsolidationUpdateTotalRate\" && ((desc_param.contract_no??'') !== '' || Array.isArray(desc_param.updated_total_rate_detail)))\r\n ) &&\r\n { e.stopPropagation(); setShowMore(true); }}>Show more\r\n }\r\n \r\n \r\n {getMessageDate(message_dt)}\r\n \r\n
\r\n \r\n \r\n \r\n e.preventDefault()}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nclass NotificationBellButtonGroup extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n token: null,\r\n profile_id: 0,\r\n messages: [],\r\n countUnread: 0,\r\n pagination: {\r\n current: 1,\r\n pageSize: 10,\r\n total: 100,\r\n showSizeChanger: true,\r\n size: \"\"\r\n },\r\n readFilter: \"All\",\r\n searchText: \"\",\r\n notificationListVisible: false,\r\n availableEventCodes: [],\r\n isLoadingRemarkImage: true,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n let { token, profile_id, readFilter, searchText, pagination } = this.state;\r\n if (profile_id !== Auth.getProfile().profile_id)\r\n {\r\n this.setAvailableEventCodes();\r\n this.setState({ profile_id: Auth.getProfile().profile_id });\r\n }\r\n\r\n if (token !== Auth.getToken() )\r\n {\r\n this.refreshUserNotification(readFilter, searchText, pagination.pageSize, pagination.current);\r\n subscribeUserNotification(this.refreshUserNotificationBySignalR);\r\n\r\n this.setState({ token: Auth.getToken() });\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n let { token, profile_id, readFilter, searchText, pagination } = this.state;\r\n if (profile_id !== Auth.getProfile().profile_id)\r\n {\r\n this.setAvailableEventCodes();\r\n this.setState({ profile_id: Auth.getProfile().profile_id });\r\n }\r\n\r\n if (token !== Auth.getToken())\r\n {\r\n stopSignalR().then( () => {\r\n this.refreshUserNotification(readFilter, searchText, pagination.pageSize, pagination.current);\r\n subscribeUserNotification(this.refreshUserNotificationBySignalR);\r\n });\r\n\r\n this.setState({ token: Auth.getToken() });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n stopSignalR();\r\n }\r\n\r\n updateReadStatus = async (newStatus, message_id) => {\r\n const { messages, countUnread } = this.state;\r\n let message = messages.find(msg => msg.message_id === message_id);\r\n if (message) \r\n {\r\n upsertMessage({ ...message, is_read: newStatus !== false });\r\n message.is_read = newStatus !== false;\r\n this.setState({ messages, countUnread: (newStatus !== false ? (countUnread-1 >= 0 ? countUnread-1 : 0) : countUnread+1) });\r\n }\r\n }\r\n\r\n refreshUserNotification = async (readFilter, searchText, pageSize, current) => {\r\n const { pagination } = this.state;\r\n\r\n getMessage(pageSize, current, readFilter, searchText).then(async res => {\r\n \r\n //let bookingDict = [];\r\n //let consolDict = [];\r\n //let messengerDict = [];\r\n for(var i=0; i -1)\r\n // {\r\n // src = src.substring(src.indexOf(\"src=\\\"cid:\")+9);\r\n // bookingDict.push({ idx: i, file_name: src.substring(0, src.indexOf('\\\"')) });\r\n // src = src.substring(src.indexOf('\\\"'));\r\n // }\r\n // } \r\n // else if ([\"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"].includes(res.messages[i].desc_key))\r\n // {\r\n // let src = res.messages[i].desc_param.remark;\r\n // while(src.indexOf(\"src=\\\"cid:\") > -1)\r\n // {\r\n // src = src.substring(src.indexOf(\"src=\\\"cid:\")+9);\r\n // consolDict.push({ idx: i, file_name: src.substring(0, src.indexOf('\\\"')) });\r\n // src = src.substring(src.indexOf('\\\"'));\r\n // }\r\n // }\r\n // else if (res.messages[i].desc_key === \"notification.msgMessengerMessage\")\r\n // {\r\n // let src = res.messages[i].desc_param.full_desc;\r\n // while(src.indexOf(\"src=\\\"cid:\") > -1)\r\n // {\r\n // src = src.substring(src.indexOf(\"src=\\\"cid:\")+9);\r\n // messengerDict.push({ idx: i, file_name: src.substring(0, src.indexOf('\\\"')) });\r\n // src = src.substring(src.indexOf('\\\"'));\r\n // }\r\n // }\r\n if ([\"notification.msgBookingNewOperationRemark\", \"notification.msgBookingNewPricingRemark\",\r\n \"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"\r\n ].includes(res.messages[i].desc_key))\r\n {\r\n while(res.messages[i].desc_param.remark && res.messages[i].desc_param.remark.indexOf(\" -1)\r\n {\r\n let src = res.messages[i].desc_param.remark;\r\n src = src.substring(src.indexOf(\"\")+1);\r\n res.messages[i].desc_param.remark = res.messages[i].desc_param.remark.replace(src, \"<image>\");\r\n }\r\n }\r\n }\r\n \r\n // const requests = [];\r\n \r\n // if (bookingDict.length > 0)\r\n // {\r\n // requests.push(loadBookingApprovalRemarkImage(res.messages, bookingDict));\r\n // }\r\n // if (consolDict.length > 0)\r\n // {\r\n // requests.push(loadConsolidationRemarkImage(res.messages, consolDict));\r\n // }\r\n // if (messengerDict.length > 0)\r\n // {\r\n // requests.push(loadMessengerFullDescImage(res.messages, messengerDict)); \r\n // }\r\n // if (requests.length > 0)\r\n // {\r\n // this.setState({ isLoadingRemarkImage: true });\r\n // await Promise.all(requests);\r\n // }\r\n\r\n this.setState({ \r\n pagination: { ...pagination, total: readFilter === 'All' ? res.total_count : res.unread_count , pageSize, current }, \r\n messages: res.messages, \r\n countUnread: res.unread_count,\r\n isLoadingRemarkImage: false\r\n });\r\n });\r\n }\r\n\r\n refreshUserNotificationBySignalR = msgData => {\r\n let { readFilter, searchText, pagination, countUnread, availableEventCodes } = this.state;\r\n let { pageSize, current } = pagination;\r\n let accessRight = false;\r\n\r\n if (Array.isArray(availableEventCodes))\r\n accessRight = availableEventCodes.some(c => c.module === msgData.module && c.sub_module === msgData.sub_module && c.key == msgData.event_code);\r\n\r\n accessRight && getMessage(pageSize, current, readFilter, \"\").then(async res => {\r\n let msg = res.messages.find(msg => msg.guid === msgData.guid);\r\n \r\n try { msg.desc_param = JSON.parse(msg.desc_param); } catch(e) { console.log(e); };\r\n \r\n let html_desc = \"\";\r\n if ([\"notification.msgBookingNewOperationRemark\", \"notification.msgBookingNewPricingRemark\",\r\n \"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"\r\n ].includes(msg.desc_key))\r\n {\r\n html_desc = `
${getText(msg.desc_key)}
`;\r\n for (const [key, value] of Object.entries(msg.desc_param)) \r\n {\r\n html_desc = html_desc.replace(`{${key}}`, value);\r\n }\r\n\r\n //let dict = [];\r\n // let src = html_desc;\r\n // while(src.indexOf(\"src=\\\"cid:\") > -1)\r\n // {\r\n // src = src.substring(src.indexOf(\"src=\\\"cid:\")+9);\r\n // dict.push({ file_name: src.substring(0, src.indexOf('\\\"')) });\r\n // src = src.substring(src.indexOf('\\\"'));\r\n // }\r\n // if (dict.length > 0)\r\n // {\r\n // if ([\"notification.msgBookingNewOperationRemark\", \"notification.msgBookingNewPricingRemark\"].includes(msg.desc_key))\r\n // html_desc = await loadBookingApprovalRemarkImage2(html_desc, msg, dict);\r\n // else if ([\"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"].includes(msg.desc_key))\r\n // html_desc = await loadConsolidationRemarkImage2(html_desc, msg, dict);\r\n // else if (msg.desc_key === \"notification.msgMessengerMessage\")\r\n // html_desc = await loadMessengerFullDescImage2(html_desc, msg, dic);\r\n //}\r\n while(html_desc.indexOf(\" -1)\r\n {\r\n let src = html_desc;\r\n src = src.substring(src.indexOf(\"\")+1);\r\n html_desc = html_desc.replace(src, \"<image>\");\r\n }\r\n }\r\n \r\n Notification.info({\r\n className: \"notificationInsideElement\",\r\n key: msg.guid,\r\n message: \"\",\r\n description: (\r\n
{\r\n history.push(`${process.env.PUBLIC_URL}${msg.href}`);\r\n this.updateReadStatus(true, msg.message_id);\r\n Notification.close(msg.guid);\r\n }}\r\n >\r\n {\r\n [\"notification.msgBookingNewOperationRemark\", \"notification.msgBookingNewPricingRemark\",\r\n \"notification.msgConsolidationNewOperationRemark\", \"notification.msgConsolidationNewPricingRemark\"\r\n ].includes(msg.desc_key) ?\r\n
\r\n : multiLine(getText(msg.desc_key, msg.desc_param))\r\n }\r\n {\r\n msg.desc_key === \"notification.msgBookingUpdateSailingA2\" && Array.isArray(msg.desc_param.updated_sailing_detail) && \r\n <>\r\n
\r\n {\r\n msg.desc_param.updated_sailing_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgBookingUpdateSailingA2Detail\", d))}\r\n )\r\n }\r\n \r\n }\r\n {\r\n msg.desc_key === \"notification.msgBookingUpdateRouting\" && Array.isArray(msg.desc_param.updated_routing_detail) && \r\n <>\r\n
\r\n {\r\n msg.desc_param.updated_routing_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgBookingUpdateRoutingDetail\", d))}\r\n )\r\n }\r\n \r\n }\r\n {\r\n msg.desc_key === \"notification.msgConsolidationUpdateSailingA2\" && Array.isArray(msg.desc_param.updated_sailing_detail) && \r\n <>\r\n
\r\n {\r\n msg.desc_param.updated_sailing_detail.map( d => \r\n <>{multiLine(getText(\"notification.msgConsolidationUpdateSailingA2Detail\", d))}\r\n )\r\n }\r\n \r\n }\r\n
\r\n ),\r\n placement: 'bottomRight',\r\n duration: 0\r\n });\r\n \r\n if (searchText === \"\")\r\n {\r\n this.setState({ \r\n pagination: { ...pagination, total: readFilter === 'All' ? res.total_count : res.unread_count , pageSize, current }, \r\n messages: res.messages, \r\n countUnread: res.unread_count \r\n });\r\n this.forceUpdate(); // force update to refresh total count of page\r\n }\r\n else\r\n this.setState({ countUnread: countUnread+1 });\r\n }).catch(e => {\r\n console.log(`Refresh user notification fail: `, e);\r\n });\r\n }\r\n\r\n setAvailableEventCodes = async () => {\r\n let result = await getUserProfileAvailableEventCodes();\r\n this.setState({ availableEventCodes: result });\r\n }\r\n\r\n render() {\r\n const { messages, countUnread, pagination, readFilter, searchText, notificationListVisible, isLoadingRemarkImage } = this.state;\r\n\r\n return (\r\n <>\r\n {\r\n this.setState({ notificationListVisible: val })}\r\n countUnread={countUnread}\r\n />\r\n }\r\n {\r\n this.setState({ notificationListVisible: val })}\r\n setMessages={val => this.setState({ messages: val })}\r\n setCountUnread={val => this.setState({ countUnread: val })}\r\n setReadFilter={val => this.setState({ readFilter: val })}\r\n setSearchText={val => this.setState({ searchText: val })}\r\n setPagination={val => this.setState({ pagination: val })}\r\n updateReadStatus={this.updateReadStatus}\r\n />\r\n }\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default withAuth(NotificationBellButtonGroup);","// ref: https://github.com/ReactTraining/react-router/blob/master/FAQ.md#how-do-i-access-the-history-object-outside-of-components\r\n\r\nimport { createBrowserHistory } from 'history';\r\nexport default createBrowserHistory();","import decode from 'jwt-decode';\r\nimport Ajax from './Ajax';\r\nimport { isArray } from 'util';\r\nimport { Notification, Modal, Message } from './base';\r\nimport React from 'react'\r\nimport moment from \"moment\";\r\nimport { getText } from '../i18n/i18next';\r\n\r\nconst loginUrl = `${process.env.PUBLIC_URL}/api/v1/Auth/login`;\r\nconst changeUserUrl = `${process.env.PUBLIC_URL}/api/v1/Auth/ChangeUser`;\r\nconst renewtokenUrl = `${process.env.PUBLIC_URL}/api/v1/Auth/renewtoken`;\r\nconst getCargosphereAccessTokenUrl = `${process.env.PUBLIC_URL}/api/v1/Auth/GetCargosphereAccessToken`;\r\nconst upsertPreferenceURL = `${process.env.PUBLIC_URL}/api/v1/users/UpsertUserPreferences`;\r\nconst upsertPreferenceWithTypeURL = `${process.env.PUBLIC_URL}/api/v1/users/UpsertUserPreferencesWithType`;\r\nconst getPreferenceListURL = `${process.env.PUBLIC_URL}/api/v1/users/GetUserPreferences`;\r\nconst deletePreferenceURL = `${process.env.PUBLIC_URL}/api/v1/users/DeleteUserPreferences`;\r\n\r\nlet refreshSailingFunc, refreshSailingFuncParam, refreshHBLSailingFunc, refreshHBLSailingFuncParam, refreshCargosphereAccessTokenStateFunc;\r\n\r\n/**\r\n * @component\r\n * for handle authorization\r\n */\r\nexport const processLogout = () => {\r\n // Clear user token and profile data from localStorage\r\n localStorage.removeItem('id_token');\r\n localStorage.removeItem('default_lang');\r\n localStorage.removeItem('default_page_size');\r\n localStorage.removeItem('user_profiles');\r\n localStorage.removeItem('uac');\r\n localStorage.removeItem('userStatus');\r\n localStorage.removeItem('table_layout_settings');\r\n localStorage.removeItem('sysNoticeList');\r\n localStorage.removeItem('sysAlertList');\r\n localStorage.removeItem('refreshSailing');\r\n localStorage.removeItem('refreshHBLSailing');\r\n localStorage.removeItem('updateSailingScheduleID');\r\n localStorage.removeItem('updateBookingDate');\r\n localStorage.removeItem('oiAPIToken');\r\n localStorage.removeItem('profileList');\r\n localStorage.removeItem('force_change_password');\r\n localStorage.removeItem('compsFilterSetting'); \r\n localStorage.removeItem('user_preferences');\r\n\r\n delete Ajax.defaults.headers.common[\"Authorization\"];\r\n}\r\n\r\nexport default class AuthService {\r\n // Initializing important variables\r\n constructor(domain) {\r\n this.domain = domain || ''; // API server domain\r\n\r\n Ajax.defaults.baseURL = this.domain;\r\n if (this.loggedIn())\r\n Ajax.defaults.headers.common['Authorization'] = `Bearer ${this.getToken()}`;\r\n }\r\n\r\n setAllLocalStorage = (dat) => {\r\n this.setToken(dat.token); // Setting the token in localStorage\r\n this.setDefaultLang(dat.default_lang);\r\n this.setDefaultPageSize(dat.default_page_size);\r\n this.setTableLayoutSettings(dat.table_layout_settings || '{}');\r\n this.setUserProfiles(dat.profiles);\r\n this.setUac(dat.uac);\r\n this.setUserStatus(dat.userStatus);\r\n this.setSysNoticeList(dat.sysNoticeList);\r\n this.setSysAlertList(dat.sysAlertList);\r\n this.setUserPreferences(dat.user_preferences);\r\n this.setForceChangePassword(dat.force_change_password);\r\n //this.setOIAPIToken(dat.oiAPIToken);\r\n }\r\n\r\n login = (username, password, language) => {\r\n // Get a token from api server using the fetch api\r\n return Ajax.post(`${this.domain}${loginUrl}`, { username, password, language })\r\n .then(res => {\r\n this.setAllLocalStorage(res.data);\r\n\r\n this.prompNoticeMsg();\r\n\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n changeUser = (login_id) => {\r\n // Get a token from api server using the fetch api\r\n return Ajax.post(`${this.domain}${changeUserUrl}/${login_id}`)\r\n .then(res => {\r\n this.setAllLocalStorage(res.data);\r\n\r\n this.prompNoticeMsg();\r\n\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n renewIfNeeded = (callback) => {\r\n if (this.needRenewToken(this.getToken())) {\r\n if (this.getProfile().profile) {\r\n return Ajax.post(`${this.domain}${renewtokenUrl}`)\r\n .then(res => {\r\n this.setToken(res.data.token); // Setting the token in localStorage\r\n this.setUserProfiles(res.data.profiles);\r\n this.setUac(res.data.uac);\r\n this.setUserStatus(res.data.userStatus);\r\n this.setUserPreferences(res.data.user_preferences);\r\n this.setSysAlertList(res.data.sysAlertList);\r\n\r\n callback && callback();\r\n\r\n return Promise.resolve(res);\r\n });\r\n } \r\n }\r\n }\r\n\r\n selectUserProfile = (profile) => {\r\n return Ajax.post(`${this.domain}${renewtokenUrl}/${profile}`)\r\n .then(res => {\r\n this.setToken(res.data.token); // Setting the token in localStorage\r\n this.setUserProfiles(res.data.profiles);\r\n this.setUac(res.data.uac);\r\n this.setUserStatus(res.data.userStatus);\r\n this.setUserPreferences(res.data.user_preferences);\r\n\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n needRenewPreferences = async (profile) => {\r\n try {\r\n //return Ajax.post(`${this.domain}${renewtokenUrl}/${profile}`)\r\n // .then(res => {\r\n // this.setUserPreferences(res.data.user_preferences);\r\n // });\r\n let res = await Ajax.post(`${this.domain}${renewtokenUrl}/${profile}`)\r\n\r\n this.setUserPreferences(res.data.user_preferences);\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n loggedIn = () => {\r\n // Checks if there is a saved token and it's still valid\r\n const token = this.getToken(); // GEtting token from localstorage\r\n return !!token && !this.isTokenExpired(token); // handwaiving here\r\n }\r\n\r\n needRenewToken = (token) => {\r\n try {\r\n const decoded = decode(token);\r\n return ((decoded.exp - 10 * 60) < Date.now() / 1000); // Checking if token need renew (10 mins before)\r\n }\r\n catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n isTokenExpired = (token) => {\r\n try {\r\n const decoded = decode(token);\r\n return (decoded.exp < Date.now() / 1000); // Checking if token is expired. N\r\n }\r\n catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n getTokenExpireTime = () => {\r\n try {\r\n const token = this.getToken();\r\n const decoded = decode(token);\r\n return (decoded.exp * 1000);\r\n }\r\n catch (err) {\r\n return (Date.now())\r\n }\r\n }\r\n\r\n setToken = (idToken) => {\r\n // Saves user token to localStorage\r\n localStorage.setItem('id_token', idToken);\r\n Ajax.defaults.headers.common['Authorization'] = `Bearer ${idToken}`;\r\n }\r\n\r\n getToken = () => {\r\n // Retrieves the user token from localStorage\r\n return localStorage.getItem('id_token');\r\n }\r\n\r\n setCargosphereAccessToken = (idToken) => {\r\n localStorage.setItem('cargosphere_access_token', idToken);\r\n }\r\n\r\n getCargosphereAccessToken = () => {\r\n return localStorage.getItem('cargosphere_access_token');\r\n }\r\n\r\n setDefaultLang = (default_lang) => {\r\n localStorage.setItem('default_lang', default_lang);\r\n }\r\n\r\n getDefaultLang = () => {\r\n return localStorage.getItem('default_lang');\r\n }\r\n\r\n setDefaultPageSize = (default_page_size) => {\r\n localStorage.setItem('default_page_size', default_page_size);\r\n }\r\n\r\n setTableLayoutSettings = (table_layout_settings) => {\r\n localStorage.setItem('table_layout_settings', table_layout_settings);\r\n }\r\n\r\n setSysNoticeList = (sysNoticeList) => {\r\n localStorage.setItem('sysNoticeList', sysNoticeList ? JSON.stringify(sysNoticeList) : '[]');\r\n }\r\n\r\n setSysAlertList = (sysAlertList) => {\r\n localStorage.setItem('sysAlertList', sysAlertList ? JSON.stringify(sysAlertList) : '[]');\r\n }\r\n\r\n getSysAlertList = () => {\r\n return localStorage.getItem('sysAlertList');\r\n }\r\n\r\n getSysNoticeList = () => {\r\n return localStorage.getItem('sysNoticeList');\r\n }\r\n\r\n getDefaultPageSize = () => {\r\n return localStorage.getItem('default_page_size');\r\n }\r\n\r\n getTableLayoutSettings = () => {\r\n return localStorage.getItem('table_layout_settings');\r\n }\r\n\r\n logout = () => processLogout();\r\n\r\n getProfile = () => {\r\n // Using jwt-decode npm package to decode the token\r\n try {\r\n return decode(this.getToken());\r\n }\r\n catch (err) {\r\n return {};\r\n }\r\n }\r\n\r\n setUserProfiles = (profiles) => {\r\n localStorage.setItem('user_profiles', profiles);\r\n }\r\n\r\n getUserProfiles = () => {\r\n return localStorage.getItem('user_profiles') && localStorage.getItem('user_profiles') !== '' ? localStorage.getItem('user_profiles').split(',') : [];\r\n }\r\n\r\n getPartyAccess = (party_type_id = null) => {\r\n const uac = this.getUac();\r\n if (uac && uac.party_accesses)\r\n return uac.party_accesses.filter(p => p.all_party || !party_type_id || p.party_type_id === party_type_id);\r\n return null;\r\n }\r\n\r\n getUserLevelId = () => {\r\n const uac = this.getUac();\r\n return uac && uac.user_level_id ? uac.user_level_id : null;\r\n }\r\n\r\n setUac = (uac) => {\r\n localStorage.setItem('uac', uac ? JSON.stringify(uac) : '{}');\r\n }\r\n\r\n getUac = () => {\r\n return JSON.parse(localStorage.getItem('uac'));\r\n }\r\n\r\n setUserStatus = (userStatus) => {\r\n localStorage.setItem('userStatus', userStatus);\r\n }\r\n\r\n getUserStatus = () => {\r\n return localStorage.getItem('userStatus');\r\n }\r\n\r\n setUserPreferences = (user_preferences) => {\r\n localStorage.setItem('user_preferences', user_preferences ? JSON.stringify(user_preferences) : '[]');\r\n }\r\n\r\n getUserPreferences = () => {\r\n return JSON.parse(localStorage.getItem('user_preferences'));\r\n }\r\n\r\n setForceChangePassword = (force_change_password) => {\r\n localStorage.setItem('force_change_password', force_change_password);\r\n }\r\n\r\n getForceChangePassword = () => {\r\n return localStorage.getItem('force_change_password') == 'true';\r\n }\r\n\r\n getUserFunctionAccess = (menu_id = null, func_id = null) => {\r\n const uac = this.getUac();\r\n if (uac && uac.menu_func_accesses)\r\n return uac.menu_func_accesses.filter(mf => (!menu_id || mf.menu_id === menu_id) && (!func_id || mf.func_id === func_id));\r\n return null;\r\n }\r\n\r\n setProfileList = (profileList) => {\r\n localStorage.setItem('profileList', profileList ? JSON.stringify(profileList) : '[]');\r\n }\r\n\r\n getProfileList = () => {\r\n return JSON.parse(localStorage.getItem('profileList'));\r\n }\r\n\r\n isAccessable = (menu_id = null, func_id = null) => {\r\n const uac = this.getUac();\r\n if (uac && uac.menu_func_accesses) {\r\n if (Array.isArray(func_id)) {\r\n return uac.menu_func_accesses.filter(mf => (!menu_id || mf.menu_id === menu_id) && (func_id.filter(f => (mf.func_id === f)).length > 0)).length > 0;\r\n }\r\n return uac.menu_func_accesses.filter(mf => (!menu_id || mf.menu_id === menu_id) && (!func_id || mf.func_id === func_id)).length > 0;\r\n }\r\n return false;\r\n }\r\n\r\n refreshCargosphereAccessToken = (callback, connection_test) => {\r\n return Ajax.post(`${this.domain}${getCargosphereAccessTokenUrl}`, connection_test || {})\r\n .then(res => {\r\n if (!connection_test) {\r\n this.setCargosphereAccessToken(res.data);\r\n }\r\n callback && callback(res.data);\r\n return Promise.resolve(res);\r\n });\r\n }\r\n\r\n setRefreshCargosphereAccessTokenState = (func) => {\r\n refreshCargosphereAccessTokenStateFunc = func;\r\n }\r\n\r\n getRefreshCargosphereAccessTokenState = () => refreshSailingFunc;\r\n\r\n refreshCargosphereAccessTokenState = (refreshCargosphereAccessTokenStateFuncParam) => {\r\n try {\r\n return refreshCargosphereAccessTokenStateFunc && refreshCargosphereAccessTokenStateFunc(refreshCargosphereAccessTokenStateFuncParam);\r\n }\r\n catch (err) {\r\n console.log('AuthService::refreshCargosphereAccessTokenState err', err)\r\n }\r\n }\r\n\r\n getPRSMappingTargetOffice = (office_code) => {\r\n \r\n switch (office_code) {\r\n case 'SCN':\r\n office_code = \"HKG\";\r\n break;\r\n case 'LCB':\r\n office_code = \"BKK\";\r\n break;\r\n case \"KUL\":\r\n office_code = \"JHB\";\r\n break;\r\n case \"SUB\":\r\n case \"BDO\":\r\n case \"SRG\":\r\n case \"SOL\":\r\n case \"DPS\":\r\n case \"CGK\":\r\n case \"MES\":\r\n office_code = \"JKK\";\r\n break;\r\n case \"HA9\":\r\n office_code = \"SGN\";\r\n }\r\n\r\n return office_code\r\n }\r\n\r\n prompNoticeMsg = () => {\r\n let msgList = this.getSysNoticeList();\r\n \r\n msgList = msgList && JSON.parse(msgList) ? JSON.parse(msgList) : [];\r\n \r\n if (msgList && isArray(msgList) && msgList.length > 0) {\r\n for (let i = 0; i < msgList.length; ++i) {\r\n let msg = msgList[i];\r\n\r\n let body = msg.notice_body.split('\\n').map((currValue, index) => {\r\n let now = moment();\r\n let nowUTC = now.subtract(now.utcOffset(), 'minute');\r\n let to = moment(msg.valid_to).subtract(480, 'minute');\r\n let remain = to.diff(nowUTC, 'minutes')\r\n\r\n currValue = currValue.replace(/{{REMAIN}}/g, remain)\r\n\r\n return
{currValue}
\r\n });\r\n\r\n if (msg.notice_type === 'NOTICE') {\r\n Notification.info({\r\n message: msg.notice_title,\r\n description:
{body}
,\r\n placement: 'bottomRight',\r\n duration: 0\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n prompAlertMsg = () => {\r\n let msgList = this.getSysAlertList();\r\n\r\n msgList = msgList && JSON.parse(msgList) ? JSON.parse(msgList) : [];\r\n\r\n if (msgList && isArray(msgList) && msgList.length > 0) {\r\n for (let i = 0; i < msgList.length; ++i) {\r\n let msg = msgList[i];\r\n\r\n let body = msg.notice_body.split('\\n').map((currValue, index) => {\r\n let now = moment();\r\n let nowUTC = now.subtract(now.utcOffset(), 'minute');\r\n let to = moment(msg.valid_to).subtract(480, 'minute');\r\n let remain = to.diff(nowUTC, 'minutes')\r\n\r\n currValue = currValue.replace(/{{REMAIN}}/g, remain)\r\n\r\n return
{currValue}
\r\n });\r\n let now = moment();\r\n let nowUTC = now.subtract(now.utcOffset(), 'minute');\r\n let from = moment(msg.valid_from).subtract(480, 'minute');\r\n let to = moment(msg.valid_to).subtract(480, 'minute');\r\n \r\n if (msg.notice_type === 'ALERT' && nowUTC.isBetween(from, to)) {\r\n Modal.warning({\r\n title: msg.notice_title,\r\n content:
{body}
\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n setRefreshSailing = (func, param) => {\r\n refreshSailingFunc = func;\r\n refreshSailingFuncParam = param;\r\n }\r\n\r\n getRefreshSailing = () => refreshSailingFunc;\r\n\r\n refreshSailing = (updateBookingDate) => {\r\n try {\r\n return refreshSailingFunc && refreshSailingFunc(refreshSailingFuncParam, updateBookingDate);\r\n }\r\n catch (err) {\r\n console.log('AuthService::refreshSailing err', err)\r\n }\r\n }\r\n\r\n setRefreshHBLSailing = (func, param) => {\r\n refreshHBLSailingFunc = func;\r\n refreshHBLSailingFuncParam = param;\r\n }\r\n\r\n getRefreshHBLSailing = () => refreshHBLSailingFunc;\r\n\r\n refreshHBLSailing = () => {\r\n try {\r\n console.log('refreshHBLSailing', refreshHBLSailingFunc, refreshHBLSailingFuncParam)\r\n return refreshHBLSailingFunc && refreshHBLSailingFunc(refreshHBLSailingFuncParam);\r\n }\r\n catch (err) {\r\n console.log('AuthService::refreshHBLSailing err', err)\r\n }\r\n }\r\n\r\n //setOIAPIToken = (token) => {\r\n // localStorage.setItem('oiAPIToken', token);\r\n //}\r\n\r\n //getOIAPIToken = () => {\r\n // return localStorage.getItem('oiAPIToken');\r\n //}\r\n\r\n UpsertUserPreferences = async (preference_name, perference, url, callback, preference_style = '', isFavourite = false) => {\r\n Message.loading(getText('msgSaving'), 0);\r\n\r\n const data = {\r\n preference: JSON.stringify(perference),\r\n url,\r\n preference_name,\r\n preference_style,\r\n isFavourite\r\n }\r\n\r\n try {\r\n await Ajax.post(`${upsertPreferenceURL}`, data);\r\n Message.destroy();\r\n Message.success(getText(\"msgSavedSuccess\"), 0);\r\n this.needRenewPreferences();\r\n callback && callback();\r\n } catch (error) {\r\n Message.destroy();\r\n Message.error(`${error}`);\r\n }\r\n }\r\n\r\n getUserPreferenceList = async (dat) => {\r\n const data = {\r\n dat\r\n }\r\n let url = new URL(`${getPreferenceListURL}`, window.location.href);\r\n url.searchParams.append('url', dat)\r\n try {\r\n let res = await Ajax.get(`${getPreferenceListURL}?url=${dat}`);\r\n return res;\r\n } catch (error) {\r\n Message.destroy();\r\n Message.error(`${error}`);\r\n }\r\n }\r\n\r\n \r\n UpsertUserPreferencesWithType = async (preference_id, preference_type, preference_name, perference, url, callback, preference_style = '', isFavourite = false) => {\r\n Message.loading(getText('msgSaving'), 0);\r\n\r\n const data = {\r\n preference_id,\r\n preference_type,\r\n preference: JSON.stringify(perference),\r\n url,\r\n preference_name,\r\n preference_style,\r\n isFavourite\r\n }\r\n\r\n try {\r\n await Ajax.post(`${upsertPreferenceWithTypeURL}`, data);\r\n Message.destroy();\r\n Message.success(getText(\"msgSavedSuccess\"), 5);\r\n await this.needRenewPreferences();\r\n callback && callback();\r\n } catch (error) {\r\n Message.destroy();\r\n Message.error(`${error}`);\r\n }\r\n }\r\n\r\n DeleteUserPreferencesWithType = async (preference_id, callback) => {\r\n Message.loading(getText('msgSaving'), 0);\r\n\r\n const data = {\r\n preference_id\r\n }\r\n\r\n try {\r\n await Ajax.post(`${deletePreferenceURL}`, data);\r\n Message.destroy();\r\n Message.success(getText(\"msgSavedSuccess\"), 5);\r\n await this.needRenewPreferences();\r\n callback && callback();\r\n } catch (error) {\r\n Message.destroy();\r\n Message.error(`${error}`);\r\n }\r\n }\r\n\r\n getCompsFilterSetting = () => {\r\n return localStorage.getItem('compsFilterSetting');\r\n }\r\n\r\n setCompsFilterSetting = (setting) => {\r\n localStorage.setItem('compsFilterSetting', setting ? JSON.stringify(setting) : '{}');\r\n }\r\n}\r\n","\r\nimport { useEffect, useRef } from 'react';\r\nimport Ajax from './../Ajax';\r\nimport SignalR from '../../components/SignalR';\r\nimport { Message } from '../../components/base';\r\nimport { DateTimeFormat2, GUID } from './../Common';\r\nimport moment from \"moment\";\r\n\r\nconst signalr = new SignalR('NotificationHub');\r\n\r\nconst baseUrl = `${process.env.PUBLIC_URL}/api/v1/Notification`;\r\nconst ShipmentBaseUrl = `${process.env.PUBLIC_URL}/api/v1/Shipment`;\r\nconst ConsolidationBaseUrl = `${process.env.PUBLIC_URL}/api/v1/Consolidation`;\r\nconst notificationReportApiUrl = `${process.env.REACT_APP_REPORT_WEB_API_URL}/notification`;\r\n\r\nexport const enableNotification = true;\r\n\r\nexport const subscribeUserNotification = async refreshMsg => {\r\n signalr.on('ReceiveNotification', msgData => refreshMsg(msgData) );\r\n}\r\n\r\nexport const stopSignalR = async () => {\r\n signalr.off();\r\n}\r\n\r\nexport const sendUserNotification = async ncData => {\r\n if (enableNotification) {\r\n try {\r\n const { module, sub_module, doc_code, event_code, desc_key, desc_param, href, email_subject_param, email_body_param } = ncData;\r\n const data = { module, sub_module, doc_code, event_code, desc_key, desc_param, href, guid: GUID(), email_subject_param, email_body_param, visible_to: \"All\" };\r\n\r\n await addNotification(data);\r\n //signalr.send('SendNotification', data); -- change to handle by mq \r\n } catch (errMsg) {\r\n console.log('error', errMsg);\r\n }\r\n }\r\n}\r\n\r\nexport const unfollowNotification = async (module, doc_code) => {\r\n try {\r\n let result = await Ajax.post(`${notificationReportApiUrl}/unfollowNotification`, { module, doc_code });\r\n if (result.data !== true)\r\n throw \"Fail to unfollow.\"\r\n\r\n return result.data;\r\n } catch (errMsg) {\r\n Message.destroy();\r\n Message.error(`${errMsg}`);\r\n console.log('error', errMsg);\r\n }\r\n}\r\n\r\nconst addNotification = async ncData => {\r\n let result = await Ajax.post(`${notificationReportApiUrl}/addNotification`, ncData);\r\n if (result.data !== true)\r\n throw \"Fail to send notification.\"\r\n}\r\n\r\nexport const markAllMessagesAsRead = async () => {\r\n try {\r\n let result = await Ajax.post(`${notificationReportApiUrl}/markAllNotificationMessagesAsRead`);\r\n if (result.data !== true)\r\n throw \"Fail to save.\"\r\n\r\n return result.data;\r\n } catch (errMsg) {\r\n Message.destroy();\r\n Message.error(`${errMsg}`);\r\n console.log('error', errMsg);\r\n }\r\n}\r\n\r\nexport const deleteAllMessages = async () => {\r\n try {\r\n let result = await Ajax.post(`${notificationReportApiUrl}/deleteAllNotificationMessages`);\r\n if (result.data !== true)\r\n throw \"Fail to delete.\"\r\n\r\n return result.data;\r\n } catch (errMsg) {\r\n Message.destroy();\r\n Message.error(`${errMsg}`);\r\n console.log('error', errMsg);\r\n }\r\n}\r\n\r\nexport const upsertMessage = async message => {\r\n try {\r\n let result = await Ajax.post(`${notificationReportApiUrl}/upsertNotificationMessage`, message);\r\n if (result.data !== true)\r\n throw \"Fail to save.\"\r\n\r\n return result.data;\r\n } catch (errMsg) {\r\n console.log('error', errMsg);\r\n }\r\n}\r\n\r\nexport const getSettingAndConfig = async (module, doc_code) => {\r\n try {\r\n const res = await Ajax.get(`${baseUrl}/GetNotificationSetting/${module || null}/${doc_code || null}`);\r\n return res.data;\r\n } catch (e) {\r\n console.log('error', e);\r\n }\r\n}\r\n\r\nexport const upsertConfig = async (module, doc_code, configs) => {\r\n try {\r\n if ((module || '') === '')\r\n throw \"Invalid module\";\r\n if (module !== 'All' && (doc_code || '') === '')\r\n throw \"Invalid doc_code\";\r\n\r\n let result = await Ajax.post(`${notificationReportApiUrl}/upsertNotificationConfigs`, configs);\r\n if (result.data !== true)\r\n throw \"Fail to save.\"\r\n\r\n return result.data;\r\n } catch (errMsg) {\r\n Message.destroy();\r\n Message.error(`${errMsg}`);\r\n console.log('error', errMsg);\r\n }\r\n}\r\n\r\nexport const getMessage = async ( page_size, page_number, read_filter, search_text) => {\r\n try {\r\n const res = await Ajax.post(`${baseUrl}/GetNotificationMessage`, { page_size, page_number, read_filter, search_text });\r\n return res.data;\r\n } catch (errMsg) {\r\n Message.destroy();\r\n Message.error(`${errMsg}`);\r\n console.log('error', errMsg);\r\n }\r\n}\r\n\r\nexport const getSystemDefaultEvent = (module, settings) => settings.filter(s => s.module === module && s.is_default).map(s => s.key);\r\n\r\nexport const getSystemDefaultConfig = (module, settings) => {\r\n return {\r\n module,\r\n doc_code: \"\",\r\n follow_setting: getSystemDefaultEvent(module, settings),\r\n in_app_note: true,\r\n email_note: false,\r\n email_address: \"\",\r\n is_follow: false,\r\n customized: false\r\n };\r\n}\r\n\r\nexport const usePrevious = value => {\r\n const ref = useRef();\r\n useEffect(() => {\r\n ref.current = value;\r\n });\r\n return ref.current;\r\n}\r\n\r\nexport const displayErrorMsg = (errorMsg = []) => {\r\n if (errorMsg.length > 0) {\r\n return (\r\n
\r\n
    \r\n {errorMsg.map((msg, index) =>
  • {msg}
  • )}\r\n
\r\n
\r\n );\r\n }\r\n else return '';\r\n}\r\n\r\nexport const getMessageDate = message_dt => {\r\n let result = \"\";\r\n try {\r\n let dt = new moment(message_dt);\r\n let now = new moment();\r\n let duration = moment.duration(now.diff(dt));\r\n let hours = duration.asHours();\r\n let mins = duration.asMinutes();\r\n let days = duration.asDays();\r\n let secs = duration.asSeconds();\r\n\r\n if (days >= 1) {\r\n result = new moment(message_dt).format(DateTimeFormat2);\r\n } else if (hours >= 1) {\r\n result = `${Math.floor(hours)} hours ago`;\r\n } else if (mins >= 1) {\r\n result = `${Math.floor(mins)} mins ago`;\r\n } else {\r\n result = `${secs < 0 ? 0 : Math.floor(secs)} seconds ago`;\r\n }\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport const getUserProfileAvailableEventCodes = async () => {\r\n let setting = [];\r\n try {\r\n let result = await Ajax.get(`${notificationReportApiUrl}/getUserProfileAvailableEventCodes`);\r\n \r\n if (!Array.isArray(result.data))\r\n throw \"Fail to load user profile available event codes.\"\r\n\r\n setting = result.data;\r\n } catch (errMsg) {\r\n Message.destroy();\r\n Message.error(`${errMsg}`);\r\n console.log('error', errMsg);\r\n }\r\n return setting;\r\n}\r\n\r\nexport const loadBookingApprovalRemarkImage = async (messages, dict) => {\r\n try\r\n {\r\n const requests = [];\r\n dict.forEach(d => { \r\n requests.push(Ajax.get(`${ShipmentBaseUrl}/GetBookingApprovalRemarkImage/${d.file_name}`));\r\n });\r\n\r\n const results = await Promise.allSettled(requests);\r\n results.filter(rs => rs.status !== 'rejected').forEach(rs => {\r\n let d = dict.find(d => d.file_name === rs.value.data.file_name);\r\n let file_type = d.file_name.substring(d.file_name.lastIndexOf(\".\")+1);\r\n messages[d.idx].desc_param.remark = messages[d.idx].desc_param.remark.replace(`cid:${d.file_name}`, `data:image/${file_type};base64,${ rs.value.data.file_base64}`);\r\n });\r\n } catch (error)\r\n {\r\n Message.destroy();\r\n Message.error(\"Load remark image fail.\");\r\n }\r\n}\r\n\r\nexport const loadBookingApprovalRemarkImage2 = async (html_desc, msg, dict) => {\r\n try\r\n {\r\n const requests = [];\r\n dict.forEach(d => { \r\n requests.push(Ajax.get(`${ShipmentBaseUrl}/GetConsolidationApprovalRemarkImage/${d.file_name}`));\r\n });\r\n\r\n const results = await Promise.allSettled(requests);\r\n results.filter(rs => rs.status !== 'rejected').forEach(rs => {\r\n let d = dict.find(d => d.file_name === rs.value.data.file_name);\r\n let file_type = d.file_name.substring(d.file_name.lastIndexOf(\".\")+1);\r\n html_desc = html_desc.replace(`cid:${d.file_name}`, `data:image/${file_type};base64,${rs.value.data.file_base64}`);\r\n msg.desc_param.remark = msg.desc_param.remark.replace(`cid:${d.file_name}`, `data:image/${file_type};base64,${rs.value.data.file_base64}`);\r\n });\r\n } catch (error)\r\n {\r\n Message.destroy();\r\n Message.error(\"Load remark image fail.\");\r\n }\r\n return html_desc;\r\n}\r\n\r\nexport const loadConsolidationRemarkImage = async (messages, dict) => {\r\n try\r\n {\r\n const requests = [];\r\n dict.forEach(d => { \r\n requests.push(Ajax.get(`${ConsolidationBaseUrl}/GetConsolidationApprovalRemarkImage/${d.file_name}`));\r\n });\r\n\r\n const results = await Promise.allSettled(requests);\r\n results.filter(rs => rs.status !== 'rejected').forEach(rs => {\r\n let d = dict.find(d => d.file_name === rs.value.data.file_name);\r\n let file_type = d.file_name.substring(d.file_name.lastIndexOf(\".\")+1);\r\n messages[d.idx].desc_param.remark = messages[d.idx].desc_param.remark.replace(`cid:${d.file_name}`, `data:image/${file_type};base64,${ rs.value.data.file_base64}`);\r\n });\r\n } catch (error)\r\n {\r\n Message.destroy();\r\n Message.error(\"Load remark image fail.\");\r\n }\r\n}\r\n\r\nexport const loadConsolidationRemarkImage2 = async (html_desc, msg, dict) => {\r\n try\r\n {\r\n const requests = [];\r\n dict.forEach(d => { \r\n requests.push(Ajax.get(`${ConsolidationBaseUrl}/GetConsolidationRemarkImage/${d.file_name}`));\r\n });\r\n\r\n const results = await Promise.allSettled(requests);\r\n results.filter(rs => rs.status !== 'rejected').forEach(rs => {\r\n let d = dict.find(d => d.file_name === rs.value.data.file_name);\r\n let file_type = d.file_name.substring(d.file_name.lastIndexOf(\".\")+1);\r\n html_desc = html_desc.replace(`cid:${d.file_name}`, `data:image/${file_type};base64,${rs.value.data.file_base64}`);\r\n msg.desc_param.remark = msg.desc_param.remark.replace(`cid:${d.file_name}`, `data:image/${file_type};base64,${rs.value.data.file_base64}`);\r\n });\r\n } catch (error)\r\n {\r\n Message.destroy();\r\n Message.error(\"Load remark image fail.\");\r\n }\r\n return html_desc;\r\n}\r\n","import React, { Component } from 'react';\r\nimport AuthService from './AuthService';\r\nimport TagManager from 'react-gtm-module'\r\n\r\nexport default function withTracker(WrappedComponent, options = {}) {\r\n const trackPage = (page) => {\r\n if (process.env.REACT_APP_GTM_CONTAINER_ID) {\r\n let user_id = 'anonymous';\r\n\r\n const userProfile = Auth.getProfile();\r\n const { sub } = userProfile;\r\n \r\n if (Auth.loggedIn()) {\r\n user_id = sub.toString();\r\n }\r\n\r\n TagManager.dataLayer({\r\n dataLayer: {\r\n event: 'user_id_event',\r\n user_id_event: user_id,\r\n user_id,\r\n userProject: 'BMS',\r\n page,\r\n ...options\r\n }\r\n });\r\n }\r\n };\r\n\r\n const Auth = new AuthService();\r\n\r\n class HOC extends Component {\r\n componentDidMount() {\r\n if (this.props.location) {\r\n trackPage(this.props.location.pathname);\r\n }\r\n //console.log('trackPage', this.props, this.props.location)\r\n }\r\n\r\n //UNSAFE_componentWillReceiveProps(nextProps) {\r\n // const currentPage = this.props.location.pathname;\r\n // const nextPage = nextProps.location.pathname;\r\n\r\n // if (currentPage !== nextPage) {\r\n // //console.log('componentWillReceiveProps', currentPage, nextPage)\r\n // trackPage(nextPage);\r\n // }\r\n //}\r\n\r\n //replace UNSAFE_componentWillReceiveProps\r\n componentDidUpdate(prevProps) {\r\n const currentPage = this.props.location.pathname;\r\n const prevPage = prevProps.location.pathname;\r\n\r\n if (currentPage !== prevPage) {\r\n //console.log('componentDidUpdate', currentPage, prevPage)\r\n trackPage(currentPage);\r\n }\r\n }\r\n //end replace UNSAFE_componentWillReceiveProps\r\n\r\n render() {\r\n return ;\r\n }\r\n };\r\n\r\n return HOC;\r\n}","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgMrSpedagLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 389.38 56.69\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1,.cls-2{fill:#1962ae;}.cls-2{fill-rule:evenodd;}\"))), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"m+r-spedag-logo\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ebene_2\",\n \"data-name\": \"Ebene 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ebene_1-2\",\n \"data-name\": \"Ebene 1\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-1\",\n points: \"59.47 28.13 64.03 28.13 68.43 8.29 68.5 8.29 70.42 28.13 75.02 28.13 85.87 8.29 85.94 8.29 81.41 28.13 86.49 28.13 91.6 4.17 83.6 4.17 74.16 21.44 74.09 21.44 72.48 4.17 64.55 4.17 59.47 28.13 59.47 28.13\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M115,28.13h4.81l2.09-10h1.82c2.61,0,2.47,1.79,3,4.33l1.17,5.63h5l-2.3-9.65a2.56,2.56,0,0,0-2.44-2.2v-.07c3.91-.07,7-2.27,7-6.39,0-5.73-5.12-5.66-9.54-5.66H120l-5,24Zm9.1-20.19h2c2,0,4.12,0,4.12,2.51,0,3.16-3.12,3.95-5.7,3.95h-1.75l1.34-6.45Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M300.14,5.1a22.65,22.65,0,0,0-8-1.34c-8.65,0-14.38,5.39-14.38,14.14,0,7.41,4.7,10.64,11.74,10.64a19.37,19.37,0,0,0,6.42-1.06l2.75-13.08H289l-.79,3.78h5.08l-1.34,6.35a6.31,6.31,0,0,1-2.37.24,6.66,6.66,0,0,1-6.76-7c0-5.67,3.67-10.23,9.51-10.23a12.12,12.12,0,0,1,6.66,1.72l1.2-4.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M299.86,28.13h4.81l2.09-10h1.82c2.61,0,2.47,1.79,3,4.33l1.17,5.63h5l-2.3-9.65a2.56,2.56,0,0,0-2.44-2.2v-.07c3.91-.07,7-2.27,7-6.39,0-5.73-5.12-5.66-9.54-5.66h-5.66l-5,24ZM309,7.95h2c2,0,4.12,0,4.12,2.51,0,3.16-3.12,3.95-5.7,3.95h-1.75L309,7.95Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M335.25,3.76a12.58,12.58,0,0,0-9.85,4.46,16,16,0,0,0-3.78,10.37c0,5.7,3.54,10,9.44,10,4,0,7.66-1.23,10.16-4a16,16,0,0,0,4-10.61c0-6.38-3.5-10.16-10-10.16Zm-.14,3.78c3.47,0,5.12,2.68,5.12,5.87,0,4.77-3.06,11.36-8.55,11.36-3.47,0-5-2.78-5-5.9,0-4.84,2.88-11.33,8.48-11.33Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M351.1,4.17l-2.75,13c-1.41,6.83.52,11.36,8.34,11.36,6.66,0,9.54-3.74,10.92-9.89l3.19-14.49h-4.74l-2.61,12.15c-.86,3.95-1.79,8.44-6.73,8.44-5.32,0-4.05-5.87-3.26-9.23l2.44-11.36Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M376.47,19h2.78c5.36,0,10.13-2.85,10.13-8.65,0-6-6.08-6.21-10.5-6.21h-4l-5.08,24h4.81l1.92-9.1Zm2.37-11.09h1.51c2.06,0,4,.52,4,3,0,3-2.71,4.36-5.36,4.36h-1.72l1.54-7.31Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-1\",\n points: \"114.58 17.22 104.83 17.22 102.46 28.11 99.63 28.11 101.97 17.22 91.06 17.22 91.71 14.23 102.64 14.23 104.79 4.15 107.65 4.15 105.47 14.23 115.26 14.23 114.58 17.22 114.58 17.22\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M49.52,17.38c-2.28,1.58-22,13.5-22,13.5A3.6,3.6,0,0,1,23,31C20.43,29.18,3.1,18.92,1,17.44S.9,14.35.9,14.35L23.22.6a3.6,3.6,0,0,1,4.15.13c2.24,1.55,22.19,13.67,22.19,13.67a1.65,1.65,0,0,1,0,3Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-1\",\n points: \"127.72 53.1 134.06 53.1 134.35 51.67 129.66 51.67 131.8 41.8 130.16 41.8 127.72 53.1 127.72 53.1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M136.36,49.62c0,2.45,1.49,3.67,3.76,3.67,3,0,4.61-2.23,4.61-5a3.37,3.37,0,0,0-3.66-3.61c-3,0-4.71,2.22-4.71,5Zm1.62.11c0-1.72,1-3.85,3-3.85a2.17,2.17,0,0,1,2.1,2.38c0,1.86-1.3,3.8-3,3.8A2.06,2.06,0,0,1,138,49.73Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M154,44.84l-.29,1.46h0a2.76,2.76,0,0,0-2.7-1.65c-2.38,0-4.16,2.1-4.16,5.15a3.14,3.14,0,0,0,3.08,3.3,2.81,2.81,0,0,0,2.46-.94h0l-.21.89a2.82,2.82,0,0,1-2.88,2.41,6,6,0,0,1-2.64-.73l-.34,1.36a7.34,7.34,0,0,0,2.77.6c2.54,0,4.08-1.36,4.43-3l1.89-8.85Zm-5.57,4.87c0-1.59.86-3.84,2.62-3.84a2.05,2.05,0,0,1,2.06,2.25c0,2.71-1.51,3.74-2.83,3.74a1.92,1.92,0,0,1-1.85-2.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M156.86,53.1h1.52l1.75-8.26H158.6l-1.75,8.26ZM161,41.28h-1.72L158.91,43h1.72l.36-1.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M167.39,45.1a5.81,5.81,0,0,0-2.15-.45c-1.36,0-3.11.68-3.11,2.43,0,2.09,2.82,2.3,2.82,3.71,0,.94-.91,1.28-1.73,1.28a5.11,5.11,0,0,1-1.89-.47L161,52.91a6.07,6.07,0,0,0,2.41.39c1.29,0,3.12-.65,3.12-2.64,0-2.3-2.82-2.36-2.82-3.77,0-.83.87-1,1.54-1a4.07,4.07,0,0,1,1.65.42l.45-1.2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M168.76,46.07h1.81l-.71,3.45a11.82,11.82,0,0,0-.29,1.94,1.78,1.78,0,0,0,2,1.83,5.39,5.39,0,0,0,1.49-.18l.23-1.26a3,3,0,0,1-1.07.21c-.78,0-1.1-.31-1.1-.89a12.28,12.28,0,0,1,.24-1.55l.76-3.54h2.28l.24-1.23h-2.27l.52-2.48-1.63.57-.4,1.91H169l-.23,1.23Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M175.16,53.1h1.52l1.75-8.26H176.9l-1.75,8.26Zm4.13-11.82h-1.72L177.21,43h1.72l.36-1.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M186.79,45a6.3,6.3,0,0,0-2.14-.32c-2.87,0-4.5,2.4-4.5,5.2,0,2.28,1.47,3.45,3.66,3.45a5.8,5.8,0,0,0,1.59-.19l.27-1.41a5,5,0,0,1-1.67.37c-1.46,0-2.23-.91-2.23-2.45,0-2,1.21-3.74,3.17-3.74a3.13,3.13,0,0,1,1.47.41l.37-1.31Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M193.28,45.1a5.81,5.81,0,0,0-2.15-.45c-1.36,0-3.11.68-3.11,2.43,0,2.09,2.82,2.3,2.82,3.71,0,.94-.91,1.28-1.73,1.28a5.11,5.11,0,0,1-1.89-.47l-.29,1.31a6.07,6.07,0,0,0,2.41.39c1.29,0,3.12-.65,3.12-2.64,0-2.3-2.82-2.36-2.82-3.77,0-.83.87-1,1.54-1a4.07,4.07,0,0,1,1.65.42l.45-1.2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M206,45a6.3,6.3,0,0,0-2.14-.32c-2.87,0-4.5,2.4-4.5,5.2,0,2.28,1.47,3.45,3.66,3.45a5.8,5.8,0,0,0,1.59-.19l.28-1.41a5,5,0,0,1-1.67.37c-1.46,0-2.23-.91-2.23-2.45,0-2,1.21-3.74,3.17-3.74a3.14,3.14,0,0,1,1.47.41L206,45Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M206.94,49.62c0,2.45,1.49,3.67,3.75,3.67,3,0,4.61-2.23,4.61-5a3.37,3.37,0,0,0-3.66-3.61c-3,0-4.71,2.22-4.71,5Zm1.62.11c0-1.72,1-3.85,3-3.85a2.17,2.17,0,0,1,2.11,2.38c0,1.86-1.3,3.8-3,3.8a2.06,2.06,0,0,1-2.12-2.33Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M217,53.1h1.52l.87-4.16c.21-1,1.13-3.06,3-3.06a1.43,1.43,0,0,1,1.5,1.51,5.26,5.26,0,0,1-.08.78l-1,4.94h1.52l.91-4.35a7.79,7.79,0,0,0,.19-1.51,2.45,2.45,0,0,0-2.75-2.59,3.17,3.17,0,0,0-2.82,1.51h0l.26-1.31H218.7c-.07.49-.16.92-.23,1.26l-1.44,7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M227.33,53.1h1.52l.87-4.16c.21-1,1.13-3.06,3-3.06a1.43,1.43,0,0,1,1.5,1.51,5.24,5.24,0,0,1-.08.78l-1,4.94h1.52l.91-4.35a7.78,7.78,0,0,0,.2-1.51A2.45,2.45,0,0,0,233,44.65a3.18,3.18,0,0,0-2.82,1.51h0l.26-1.31H229c-.06.49-.16.92-.23,1.26l-1.44,7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M239.65,48.18a2.84,2.84,0,0,1,2.53-2.3,1.58,1.58,0,0,1,1.75,1.67,4.52,4.52,0,0,1,0,.63Zm4.66,3.38a6.27,6.27,0,0,1-2.33.5c-1.47,0-2.54-.5-2.54-2.23a2.82,2.82,0,0,1,0-.52h5.81a8.89,8.89,0,0,0,.15-1.5,2.87,2.87,0,0,0-3.11-3.16c-2.91,0-4.52,2.64-4.52,4.92,0,2.91,1.8,3.72,3.8,3.72a10.4,10.4,0,0,0,2.45-.34l.24-1.39Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M253.86,45a6.3,6.3,0,0,0-2.14-.32c-2.87,0-4.5,2.4-4.5,5.2,0,2.28,1.47,3.45,3.66,3.45a5.8,5.8,0,0,0,1.59-.19l.28-1.41a5,5,0,0,1-1.67.37c-1.46,0-2.23-.91-2.23-2.45,0-2,1.21-3.74,3.17-3.74a3.14,3.14,0,0,1,1.47.41l.37-1.31Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M255,46.07h1.81l-.71,3.45a11.93,11.93,0,0,0-.29,1.94,1.78,1.78,0,0,0,2,1.83,5.4,5.4,0,0,0,1.49-.18l.23-1.26a3,3,0,0,1-1.07.21c-.78,0-1.1-.31-1.1-.89a12,12,0,0,1,.24-1.55l.76-3.54h2.28l.24-1.23h-2.27l.52-2.48-1.63.57-.4,1.91h-1.85L255,46.07Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M261.41,53.1h1.52l1.75-8.26h-1.52l-1.75,8.26Zm4.13-11.82h-1.72L263.47,43h1.72l.36-1.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M266.22,53.1h1.52l.87-4.16c.21-1,1.13-3.06,3-3.06a1.43,1.43,0,0,1,1.51,1.51,5.28,5.28,0,0,1-.08.78l-1,4.94h1.52l.91-4.35a7.79,7.79,0,0,0,.19-1.51,2.45,2.45,0,0,0-2.75-2.59,3.18,3.18,0,0,0-2.82,1.51h0l.26-1.31h-1.42c-.07.49-.16.92-.23,1.26l-1.44,7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M284,44.84l-.29,1.46h0a2.76,2.76,0,0,0-2.7-1.65c-2.38,0-4.16,2.1-4.16,5.15a3.14,3.14,0,0,0,3.08,3.3,2.8,2.8,0,0,0,2.46-.94h0l-.21.89a2.82,2.82,0,0,1-2.88,2.41,6,6,0,0,1-2.64-.73l-.34,1.36a7.34,7.34,0,0,0,2.77.6c2.54,0,4.08-1.36,4.44-3l1.89-8.85Zm-5.57,4.87c0-1.59.86-3.84,2.62-3.84a2.05,2.05,0,0,1,2.06,2.25c0,2.71-1.5,3.74-2.83,3.74a1.92,1.92,0,0,1-1.85-2.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M298.54,45a6.29,6.29,0,0,0-2.14-.32c-2.87,0-4.5,2.4-4.5,5.2,0,2.28,1.47,3.45,3.66,3.45a5.8,5.8,0,0,0,1.59-.19l.28-1.41a5,5,0,0,1-1.67.37c-1.46,0-2.23-.91-2.23-2.45,0-2,1.21-3.74,3.17-3.74a3.13,3.13,0,0,1,1.47.41l.37-1.31Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M299.49,49.62c0,2.45,1.49,3.67,3.76,3.67,3,0,4.61-2.23,4.61-5a3.37,3.37,0,0,0-3.66-3.61c-3,0-4.71,2.22-4.71,5Zm1.62.11c0-1.72,1-3.85,3-3.85a2.17,2.17,0,0,1,2.1,2.38c0,1.86-1.3,3.8-3,3.8a2.06,2.06,0,0,1-2.12-2.33Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M309.59,53.1h1.52l.87-4.16c.21-1,1.13-3.06,3-3.06a1.43,1.43,0,0,1,1.51,1.51,5.28,5.28,0,0,1-.08.78l-1,4.94h1.52l.91-4.35a7.79,7.79,0,0,0,.19-1.51,2.45,2.45,0,0,0-2.75-2.59,3.17,3.17,0,0,0-2.82,1.51h0l.26-1.31h-1.42c-.07.49-.16.92-.23,1.26l-1.44,7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M320.29,46.07h1.81l-.71,3.45a11.83,11.83,0,0,0-.29,1.94,1.78,1.78,0,0,0,2,1.83,5.4,5.4,0,0,0,1.49-.18l.23-1.26a3,3,0,0,1-1.07.21c-.78,0-1.1-.31-1.1-.89a12.37,12.37,0,0,1,.24-1.55l.76-3.54h2.28l.24-1.23h-2.27l.52-2.48-1.63.57-.4,1.91h-1.85l-.23,1.23Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M326.68,53.1h1.52L330,44.84h-1.52l-1.75,8.26Zm4.13-11.82H329.1L328.74,43h1.72l.36-1.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M331.49,53.1H333l.87-4.16c.21-1,1.13-3.06,3-3.06a1.43,1.43,0,0,1,1.5,1.51,5.27,5.27,0,0,1-.08.78l-1,4.94h1.52l.91-4.35a7.86,7.86,0,0,0,.19-1.51,2.45,2.45,0,0,0-2.75-2.59,3.17,3.17,0,0,0-2.82,1.51h0l.26-1.31h-1.42c-.06.49-.16.92-.23,1.26l-1.44,7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M343.81,48.18a2.84,2.84,0,0,1,2.52-2.3,1.58,1.58,0,0,1,1.75,1.67,4.83,4.83,0,0,1,0,.63Zm4.66,3.38a6.27,6.27,0,0,1-2.33.5c-1.47,0-2.54-.5-2.54-2.23a2.91,2.91,0,0,1,0-.52h5.81a8.79,8.79,0,0,0,.15-1.5,2.87,2.87,0,0,0-3.11-3.16c-2.91,0-4.52,2.64-4.52,4.92,0,2.91,1.8,3.72,3.8,3.72a10.39,10.39,0,0,0,2.44-.34l.24-1.39Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M351.19,53.1h1.52l.87-4.16c.21-1,1.13-3.06,3-3.06a1.43,1.43,0,0,1,1.51,1.51,5.39,5.39,0,0,1-.08.78l-1,4.94h1.52l.91-4.35a7.79,7.79,0,0,0,.19-1.51,2.45,2.45,0,0,0-2.75-2.59,3.18,3.18,0,0,0-2.82,1.51h0l.26-1.31h-1.42c-.06.49-.16.92-.23,1.26l-1.44,7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M361.89,46.07h1.81L363,49.52a12,12,0,0,0-.29,1.94,1.78,1.78,0,0,0,2,1.83,5.38,5.38,0,0,0,1.49-.18l.23-1.26a3,3,0,0,1-1.07.21c-.78,0-1.1-.31-1.1-.89a12.37,12.37,0,0,1,.24-1.55l.76-3.54h2.28l.24-1.23h-2.27l.52-2.48-1.64.57-.4,1.91h-1.85l-.23,1.23Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M373.91,45.1a5.81,5.81,0,0,0-2.15-.45c-1.36,0-3.11.68-3.11,2.43,0,2.09,2.82,2.3,2.82,3.71,0,.94-.91,1.28-1.73,1.28a5.11,5.11,0,0,1-1.89-.47l-.29,1.31a6.07,6.07,0,0,0,2.41.39c1.3,0,3.12-.65,3.12-2.64,0-2.3-2.82-2.36-2.82-3.77,0-.83.88-1,1.54-1a4.07,4.07,0,0,1,1.65.42l.45-1.2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M379.31,45.81a.89.89,0,0,1-.95.81,1.27,1.27,0,0,1-1.22-1.44c0-.78.41-1.38,1.2-1.38a.94.94,0,0,1,1,.76H380a1.59,1.59,0,0,0-1.66-1.42,1.88,1.88,0,0,0-1.91,2.06,1.93,1.93,0,0,0,1.94,2.08A1.63,1.63,0,0,0,380,45.81Zm-4.44-.6a3.41,3.41,0,1,0,3.41-3.41,3.42,3.42,0,0,0-3.41,3.41Zm.83,0A2.59,2.59,0,1,1,378.28,48a2.62,2.62,0,0,1-2.58-2.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M160.6,8.72a10.5,10.5,0,0,0-4.95-1.24,6.21,6.21,0,0,0-2.63.59,2.29,2.29,0,0,0-1.37,2.15,2.75,2.75,0,0,0,1.3,2.25,23.91,23.91,0,0,0,2.8,1.79,10.1,10.1,0,0,1,2.8,2.29,6,6,0,0,1,1.24,3.89q-.07,4.31-2.85,6.16a6.57,6.57,0,0,1-1.41.75,13.18,13.18,0,0,1-1.66.62,14.8,14.8,0,0,1-3.72.45,18.5,18.5,0,0,1-6.69-1.33l1.22-4a26.33,26.33,0,0,0,2.84,1.14,8.74,8.74,0,0,0,2.94.5,5.34,5.34,0,0,0,3.12-.92A3.23,3.23,0,0,0,155,21a3.34,3.34,0,0,0-.32-1.47,3.23,3.23,0,0,0-.92-1.05,19.47,19.47,0,0,0-2.8-1.72,11.9,11.9,0,0,1-1.5-1,8,8,0,0,1-1.3-1.17,5,5,0,0,1-1.3-3.59,6.24,6.24,0,0,1,2.7-5.51,10.7,10.7,0,0,1,6.07-1.7,16.73,16.73,0,0,1,6.08,1.06L160.6,8.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M166.61,28H162l4.9-23.82h3.91q1.68,0,3.44.1a11.45,11.45,0,0,1,3.23.72,5.53,5.53,0,0,1,2.49,1.83,6.14,6.14,0,0,1,1,3.51A7.73,7.73,0,0,1,178,16.8a11,11,0,0,1-6.84,2.15h-2.68L166.61,28Zm2.65-12.79h1.65a6.2,6.2,0,0,0,3.58-1.06,3.86,3.86,0,0,0,1.58-3.3,3.61,3.61,0,0,0-.29-1.54,2,2,0,0,0-.86-.89,6,6,0,0,0-2.72-.52h-1.46l-1.49,7.31Z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"cls-1\",\n points: \"185.28 4.19 198.85 4.19 198.16 7.92 189.14 7.92 187.94 13.84 196.01 13.84 195.29 17.56 187.19 17.56 185.83 24.28 194.96 24.28 194.16 28.01 180.41 28.01 185.28 4.19 185.28 4.19\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M203.45,4.19h6.95a17,17,0,0,1,3.66.4,9,9,0,0,1,3.31,1.57,7.71,7.71,0,0,1,2.44,3.09,13.57,13.57,0,0,1,.89,5.12,18.5,18.5,0,0,1-.58,4.43,12.87,12.87,0,0,1-2.2,4.43,11.34,11.34,0,0,1-4.36,3.42,16.61,16.61,0,0,1-7.2,1.37h-7.94l5-23.82ZM204,24.28h2.15q9.8-.18,9.73-10.61A5.29,5.29,0,0,0,214,9.35a8.17,8.17,0,0,0-5.07-1.44h-1.58L204,24.28Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M233.36,4.19h5.3L243,28h-4.79l-.82-5.46H227.26L224.21,28h-5.29L233.36,4.19Zm-4,14.64h7.37l-1.5-10.41h-.13l-5.74,10.41Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M264.71,9.46a11.39,11.39,0,0,0-6.2-1.67,8.18,8.18,0,0,0-6.46,2.85,10.63,10.63,0,0,0-2.39,7,6.77,6.77,0,0,0,1.75,4.75,5.74,5.74,0,0,0,4.54,2,6.41,6.41,0,0,0,2.2-.23L259.41,18h-4.73l.73-3.6h9.05L261.9,27a17.18,17.18,0,0,1-6,1A11.83,11.83,0,0,1,248,25.53q-3-2.45-3-7.75,0-6.41,3.7-10t9.68-3.62a21.13,21.13,0,0,1,7.44,1.28l-1.12,4Z\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMrSpedagLogo);\nexport default __webpack_public_path__ + \"static/media/mr_spedag_logo.a5b643d4.svg\";\nexport { ForwardRef as ReactComponent };","import { Affix } from 'antd';\r\n\r\nexport default Affix;\r\n","import { Alert } from 'antd';\r\n\r\nexport default Alert;\r\n","import { AutoComplete } from 'antd';\r\n\r\nexport default AutoComplete;\r\n","import { Badge } from 'antd';\r\n\r\nexport default Badge;\r\n","import { Breadcrumb } from 'antd';\r\n\r\nexport default Breadcrumb;\r\n","import { Button } from 'antd';\r\n\r\nexport default Button;\r\n","import { Card } from 'antd';\r\n\r\nexport default Card;\r\n","import { Cascader } from 'antd';\r\n\r\nexport default Cascader;","import { Checkbox } from 'antd';\r\n\r\nexport default Checkbox;\r\n","import { Col } from 'antd';\r\n\r\nexport default Col;\r\n","import { Collapse } from 'antd';\r\n\r\nexport default Collapse;\r\n","import { Collapse } from 'antd';\r\nimport { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass CollapseEnhanced extends PureComponent {\r\n\r\n constructor(props){\r\n super(props);\r\n this.onKeyUp = this.onKeyUp.bind(this);\r\n\r\n const { activeKey, defaultActiveKey } = props;\r\n \r\n this.state = {\r\n activeKey: Array.isArray(activeKey ?? defaultActiveKey) ? activeKey ?? defaultActiveKey : []\r\n }\r\n }\r\n\r\n onKeyUp(event)\r\n {\r\n if (event.ctrlKey === true && event.altKey === true) \r\n {\r\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key))\r\n {\r\n const { activeKey } = this.state;\r\n const { children, onChange } = this.props;\r\n const filteredChildren = Array.isArray(children) ? children.filter(child => child?.type?.displayName === \"PanelEnhanced\") : [];\r\n \r\n if (filteredChildren.length > 1)\r\n {\r\n // default -1, otherwise get frist matched item index\r\n let shortCutKeyIndex = activeKey.length > 0 ? filteredChildren.findIndex(child => activeKey.includes(child.key)) ?? -1 : -1;\r\n shortCutKeyIndex = (shortCutKeyIndex + (event.key === \"ArrowUp\" ? (filteredChildren.length - 1) : 1)) % filteredChildren.length;\r\n let newActiveKey = (shortCutKeyIndex > -1 && shortCutKeyIndex < filteredChildren.length) ? [filteredChildren[shortCutKeyIndex].key] : []\r\n\r\n this.setState({ activeKey: newActiveKey });\r\n onChange && onChange(newActiveKey);\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps)\r\n {\r\n const { activeKey, enableshortcutkey } = this.props;\r\n const { activeKey: prevActiveKey, enableshortcutkey: prevenableshortcutkey } = prevProps;\r\n \r\n if (activeKey !== prevActiveKey && activeKey !== this.state.activeKey)\r\n {\r\n this.setState({ activeKey });\r\n }\r\n if (enableshortcutkey !== prevenableshortcutkey)\r\n {\r\n if (enableshortcutkey)\r\n {\r\n document.addEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n else\r\n {\r\n document.removeEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n }\r\n }\r\n\r\n componentDidMount()\r\n {\r\n const { enableshortcutkey } = this.props;\r\n if (enableshortcutkey)\r\n {\r\n document.addEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n document.removeEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n \r\n render() {\r\n const { children, ...other } = this.props;\r\n const { activeKey } = this.state;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n\r\nCollapseEnhanced.propTypes = {\r\n enableshortcutkey: PropTypes.bool\r\n}\r\n\r\nconst Panel = Collapse.Panel;\r\nPanel.displayName = \"PanelEnhanced\";\r\n\r\nCollapseEnhanced.PanelEnhanced = Panel;\r\n\r\nexport default CollapseEnhanced;","import React from 'react';\r\nimport { DatePicker } from 'antd';\r\nimport moment from 'moment';\r\n\r\nclass DatePickerWrapper extends DatePicker {\r\n render() {\r\n let { defaultValue, defaultPickerValue, value, ...props } = this.props;\r\n defaultValue = defaultValue ? moment(defaultValue) : null;\r\n defaultPickerValue = defaultPickerValue ? moment(defaultPickerValue) : null;\r\n value = value ? moment(value) : null;\r\n return ;\r\n }\r\n}\r\n\r\nexport default DatePickerWrapper;\r\n","import { Divider } from 'antd';\r\n\r\nexport default Divider;\r\n","import { Drawer } from 'antd';\r\n\r\nexport default Drawer;\r\n","import { Dropdown } from 'antd';\r\n\r\nexport default Dropdown;\r\n","import { Empty } from 'antd'\r\n\r\nexport default Empty;\r\n","import { Form } from 'antd';\r\n\r\nexport default Form;\r\n","import { Input } from 'antd';\r\n\r\nexport default Input;\r\n","import { InputNumber } from 'antd';\r\n\r\nexport default InputNumber;\r\n","import { Input } from 'antd';\r\n\r\nexport default Input;\r\n","import { Layout } from 'antd';\r\n\r\nexport default Layout;\r\n","import { List } from 'antd';\r\n\r\nexport default List;\r\n","import { Menu } from 'antd';\r\n\r\nexport default Menu;\r\n","import { message } from 'antd';\r\n\r\nexport default message;\r\n","import { Modal } from 'antd';\r\n\r\nexport default Modal;\r\n","import { notification } from 'antd';\r\n\r\nexport default notification;\r\n","import { Popconfirm } from 'antd';\r\n\r\nexport default Popconfirm;\r\n","import { Popover } from 'antd';\r\n\r\nexport default Popover;\r\n","import { Progress } from 'antd';\r\n\r\nexport default Progress;\r\n","import { Radio } from 'antd';\r\n\r\nexport default Radio;\r\n","import { Result } from 'antd';\r\n\r\nexport default Result;\r\n","import { Row } from 'antd';\r\n\r\nexport default Row;\r\n","import { Select } from 'antd';\r\n\r\nexport default Select;\r\n","import React from 'react';\r\nimport Ajax from '../../components/Ajax';\r\nimport { Select, Spin } from 'antd';\r\nimport debounce from 'lodash/debounce';\r\nimport PropTypes from 'prop-types';\r\nimport './SelectEnhance.scss';\r\nimport { isArray } from 'util';\r\n\r\nconst Option = Select.Option;\r\nconst getInSelectionOptionsUrl = `${process.env.PUBLIC_URL}/api/v1/Master/GetInSelectionOptions`\r\n\r\nclass SelectEnhance extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n this.handleOnSearch = debounce(this.fetchOptions, 1500);\r\n this.state = {\r\n fetching: false,\r\n options: null,\r\n processdReload: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { value, children } = this.props;\r\n\r\n if (isArray(value) && value.length > 0) {\r\n this.fetchOptions(null, value.join(', '));\r\n }\r\n else if (value > 0 || (value || '').toString().length > 0) {\r\n //mingsing 20230519: add checking, if children already contains value, no need to call ajax to get the list again\r\n if (isArray(children) && children.length > 0) {\r\n let idx = -1;\r\n idx = children.findIndex(c => c.props && c.props.value === value);\r\n\r\n if (idx === -1) {\r\n this.fetchOptions(null, value);\r\n }\r\n }\r\n else {\r\n this.fetchOptions(null, value);\r\n }\r\n //end mingsing 20230519\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { value: prevValue, fetchOptionKey: prevFetchOptionKey } = prevProps\r\n const { value, fetchOptionKey, reloadSelectList } = this.props;\r\n const { options: preOptions } = prevState;\r\n const { options, processdReload } = this.state;\r\n \r\n if (!!reloadSelectList && value !== undefined && fetchOptionKey && !processdReload) {\r\n this.setState({ processdReload: true }, () => {\r\n this.fetchOptions(null, value.toString())\r\n });\r\n }\r\n else if (isArray(prevValue) && isArray(value) && prevValue.length !== value.length && !isArray(options) || prevFetchOptionKey !== fetchOptionKey) {\r\n this.fetchOptions(null, value.toString())\r\n }\r\n else if (prevValue !== value && prevValue === undefined && value !== undefined && fetchOptionKey) {\r\n this.fetchOptions(null, value.toString())\r\n }\r\n else if ((value !== undefined || (isArray(value) && value.length > 0)) && (!isArray(options) || (isArray(options) && options.length === 0)) && isArray(preOptions) && preOptions.length > 0 && fetchOptionKey) {\r\n this.fetchOptions(null, value.toString())\r\n }\r\n }\r\n\r\n fetchOptions = async (searchText, searchValue) => {\r\n const { fetchOptionCallBack, fetchOptionKey, skipDataAccessCheck } = this.props;\r\n this.setState({ fetching: true });\r\n let options = null;\r\n \r\n if (((searchText && searchText.length >= 2) || (searchValue && searchValue.toString().length >= 1)) && (fetchOptionKey||'') !== '') {\r\n let params = {\r\n fetchOptionKey: fetchOptionKey,\r\n searchText,\r\n searchValue,\r\n skipDataAccessCheck\r\n };\r\n\r\n let response = await Ajax.post(`${getInSelectionOptionsUrl}`, params);\r\n options = response.data;\r\n }\r\n\r\n this.setState({ options, fetching: false, processdReload: false }, fetchOptionCallBack && fetchOptionCallBack(options));\r\n }\r\n\r\n handleOnBlur = () => this.setState({ options: null });\r\n\r\n render() {\r\n const { fetching, options } = this.state;\r\n const { onSearch, fetchOptionKey, placeholder, filterOption, children, fetchOptionCallBack, reloadSelectList, skipDataAccessCheck, ...other } = this.props;\r\n \r\n return (\r\n : null}\r\n onSearch={this.handleOnSearch}\r\n onBlur={this.handleOnBlur}\r\n filterOption={filterOption == null ? ((input, option) => option.children == null || option.children.toLowerCase().indexOf(input.toLowerCase()) > -1) : filterOption}\r\n {...other}\r\n >\r\n {!(isArray(options) && options.length > 0) && children}\r\n {isArray(options) && options.map(option => ())}\r\n \r\n );\r\n }\r\n}\r\n\r\nSelectEnhance.propTypes = {\r\n fetchOptionKey: PropTypes.string,\r\n skipDataAccessCheck: PropTypes.bool\r\n}\r\n\r\nSelectEnhance.defaultProps = {\r\n skipDataAccessCheck: false\r\n}\r\n\r\nexport default SelectEnhance;","import { Skeleton } from 'antd';\r\n\r\nexport default Skeleton;\r\n","import { Slider } from 'antd';\r\n\r\nexport default Slider;\r\n","import React from 'react';\r\nimport { Slider } from 'antd';\r\nimport './SliderEnhance.scss';\r\n\r\nclass SliderEnhance extends React.PureComponent {\r\n\r\n render() {\r\n let { remainder, max, marks, disabled, ...other } = this.props;\r\n const originTrackFlex = (remainder || 0);\r\n const greenTrackFlex = (max || 0) - (remainder || 0);\r\n\r\n if (originTrackFlex > 0 && greenTrackFlex > 0)\r\n marks = { [remainder]: remainder, ...marks };\r\n \r\n return (\r\n
\r\n {\r\n originTrackFlex >= 0 &&\r\n \r\n }\r\n {\r\n greenTrackFlex >= 0 &&\r\n
\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SliderEnhance;","import { Spin } from 'antd';\r\n\r\nexport default Spin;\r\n","import { Statistic } from 'antd';\r\n\r\nexport default Statistic;\r\n","import { Steps } from 'antd';\r\n\r\nexport default Steps;\r\n","import { Switch } from 'antd';\r\n\r\nexport default Switch;\r\n","import React, { PureComponent, useState } from 'react';\r\nimport { Table } from 'antd';\r\nimport { Resizable } from 'react-resizable';\r\nimport ReactDragListView from 'react-drag-listview';\r\nimport { Popover } from '.';\r\nimport deepEqual from 'lodash.isequal';\r\n\r\nimport './Table.scss';\r\nimport { isArray } from 'util';\r\n\r\nconst calcScroll = (columns, defaultColWidth, maxHeight, scroll) => {\r\n if (!columns || columns.length === 0) return undefined;\r\n let x = columns.map(c => c.width || defaultColWidth).reduce((a, c) => a + c);\r\n\r\n return Object.assign({ x, y: maxHeight }, scroll);\r\n};\r\n\r\nconst getRowClassName = (rowClassName) => (\r\n (record, index) => {\r\n let className = index % 2 === 0 ? '' : 'altRow';\r\n if (rowClassName && typeof rowClassName === 'function') {\r\n className = ` ${rowClassName(record, index)}`;\r\n }\r\n return className;\r\n }\r\n);\r\n\r\nconst beforeValueStyle = {\r\n color: 'red',\r\n textDecoration: 'line-through'\r\n};\r\n\r\nconst afterValueWarningStyle = {\r\n color: 'orange'\r\n};\r\n\r\nconst afterValueErrorStyle = {\r\n color: 'red'\r\n};\r\n\r\nexport const pageSizeOptions = ['10', '20', '30', '40', '50', '100'];\r\n\r\nclass ListTable extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n columns: this.props.columns\r\n };\r\n }\r\n \r\n\r\n componentDidUpdate(prevProps) {\r\n //20191218 ms: to improve performance of rendering table\r\n //this.setState({ columns: this.props.columns });\r\n const { columns } = this.props;\r\n const { columns: prev_columns } = prevProps;\r\n\r\n if (!isArray(this.state.columns) || this.state.columns.length !== this.props.columns.length) {\r\n this.setState({ columns: this.props.columns });\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.state.columns.length; ++i) {\r\n if (this.state.columns[i].key !== this.props.columns[i].key) {\r\n this.setState({ columns: this.props.columns });\r\n return;\r\n }\r\n }\r\n\r\n if (!deepEqual(columns, prev_columns)) {\r\n this.setState({ columns: this.props.columns });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ columns: this.props.columns });\r\n }\r\n\r\n DragableBodyRow = props => {\r\n const { dragRowStartCallBack } = this.props;\r\n if (!dragRowStartCallBack) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n defaultColWidth = 100;\r\n size = \"middle\";\r\n maxHeight = 450;\r\n\r\n ResizeableTitle = props => {\r\n const { onResize, onClick, width, ...restProps } = props;\r\n const [allowClick, setAllowClick] = useState(true);\r\n if (!width) {\r\n return ;\r\n }\r\n\r\n return (\r\n setAllowClick(false)}\r\n onResizeStop={e => {\r\n this.props.resizeColCallback && this.props.resizeColCallback(this.state.columns);\r\n setTimeout(setAllowClick, 300, true);\r\n }}\r\n onClick={e => allowClick && onClick && onClick(e)}\r\n >\r\n \r\n \r\n );\r\n };\r\n\r\n components = {\r\n header: {\r\n cell: this.ResizeableTitle,\r\n },\r\n body: {\r\n row: this.DragableBodyRow,\r\n },\r\n };\r\n\r\n\r\n handleResize = index => (e, { size }) => {\r\n this.setState(({ columns }) => {\r\n const nextColumns = [...columns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n\r\n return { columns: nextColumns };\r\n });\r\n };\r\n\r\n onDragEnd = callback => (fromIndex, toIndex) => {\r\n this.setState(({ columns }) => {\r\n const { rowSelection } = this.props;\r\n const nextColumns = [...columns];\r\n\r\n if (rowSelection) {\r\n fromIndex = fromIndex - 1;\r\n toIndex = toIndex - 1;\r\n }\r\n\r\n const item = nextColumns.splice(fromIndex, 1)[0];\r\n nextColumns.splice(toIndex, 0, item);\r\n \r\n callback && callback(nextColumns)\r\n return { columns: nextColumns };\r\n });\r\n };\r\n\r\n _checkError = (checkError, col, rowKey, customFunction, text, record, rowIndex) => {\r\n if (checkError) {\r\n let errors = [];\r\n if (Array.isArray(col.dataIndex)) {\r\n col.dataIndex.forEach((data) => {\r\n errors.push(checkError.Func(record[rowKey], data));\r\n });\r\n }\r\n else {\r\n errors.push(checkError.Func(record[rowKey], col.dataIndex));\r\n }\r\n if (errors && errors.some(e => e && (e.target))) {\r\n return (\r\n \r\n
{\r\n (checkError.ErrorFieldSourceName || '') + ': ' +\r\n (customFunction ? customFunction(text, record, rowIndex, errors.map(e => e.source).join(\"\"), false) :\r\n errors.map(e => e.source).join(\"\"))\r\n }
\r\n
{\r\n (checkError.ErrorFieldTargetName || '') + ': ' +\r\n (customFunction ? customFunction(text, record, rowIndex, errors.map(e => e.target).join(\"\"), false) :\r\n errors.map(e => e.target).join(\"\"))\r\n }
\r\n }\r\n trigger=\"hover\"\r\n >\r\n
{\r\n customFunction ? customFunction(text, record, rowIndex, errors.map(e => e.target).join(\"\"), true) :\r\n errors.map(e => e.source).join(\"\")\r\n }
\r\n \r\n )\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n _checkAmended = (checkAmended, col, rowKey, customFunction, text, record, rowIndex) => {\r\n if (checkAmended) {\r\n let changes = [];\r\n if (Array.isArray(col.dataIndex)) {\r\n col.dataIndex.forEach((data) => {\r\n changes.push(checkAmended.Func(record[rowKey], data));\r\n });\r\n }\r\n else {\r\n changes.push(checkAmended.Func(record[rowKey], col.dataIndex));\r\n }\r\n if (changes.length > 0 && changes.some(c => c && c.every(m => m && m.afterValue))) {\r\n let beforeValues = changes.map(c => c.map(m => m ? m.beforeValue : null).toString());\r\n let afterValues = changes.map(c => c.map(m => m ? m.afterValue : null).toString());\r\n if (Array.isArray(col.dataIndex)) {\r\n changes.forEach((data,i) => {\r\n if (data[0] === undefined) {\r\n beforeValues[i] = record[col.dataIndex[i]];\r\n afterValues[i] = record[col.dataIndex[i]];\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n
{customFunction ? customFunction(text, record, rowIndex, beforeValues, false) : beforeValues.join(\"\")}
\r\n
{customFunction ? customFunction(text, record, rowIndex, afterValues, false) : afterValues.join(\"\")}
\r\n }\r\n trigger=\"hover\"\r\n >\r\n
{customFunction ? customFunction(text, record, rowIndex, afterValues, true) : afterValues.join(\"\")}
\r\n \r\n )\r\n }\r\n else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const { scroll, dataSource, pagination, isLoading, onChange, rowKey, size, rowClassName, error, rowSelection, className, dragColEndCallback, checkAmended, checkError, ...res } = this.props;\r\n //this.tempColumns = [...this.state.columns];\r\n const paginationWithDefaults = typeof pagination === 'boolean' ? pagination : Object.assign({ pageSizeOptions: pageSizeOptions, position: 'bottom' }, pagination);\r\n const getColumns = (columns) => {\r\n return columns.map((col, index) => {\r\n const customFunction = col.customRender;\r\n return ({\r\n ...col,\r\n render: col.render || (\r\n (text, record, rowIndex) => {\r\n let errorResult = this._checkError(checkError, col, rowKey, customFunction, text, record, rowIndex);\r\n if (errorResult) {\r\n return errorResult;\r\n }\r\n else {\r\n let amendedResult = this._checkAmended(checkAmended, col, rowKey, customFunction, text, record, rowIndex);\r\n if (amendedResult) {\r\n return amendedResult;\r\n }\r\n else {\r\n if (customFunction) {\r\n return customFunction(text, record, rowIndex, null, false);\r\n }\r\n return (
{text}
);\r\n }\r\n }\r\n }\r\n ),\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: this.handleResize(index)\r\n })\r\n })\r\n });\r\n };\r\n\r\n let errMsg = \"\";\r\n let msgType = \"info\";\r\n\r\n if (error) {\r\n errMsg = error;\r\n msgType = \"danger\";\r\n }\r\n\r\n if (errMsg && errMsg.length > 0 && !isLoading) {\r\n return (\r\n
\r\n {errMsg}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n 0 ? this.maxHeight : undefined, scroll)}\r\n pagination={paginationWithDefaults}\r\n loading={isLoading}\r\n onChange={onChange}\r\n size={size}\r\n rowClassName={getRowClassName(rowClassName)}\r\n rowSelection={rowSelection}\r\n className={className}\r\n />\r\n \r\n );\r\n }\r\n};\r\n\r\n//const ListTable = ({ columns, dataSource, error, pagination, onChange, isLoading, defaultColWidth, rowKey, size, rowClassName, maxHeight, scroll, resizeColCallback, rowSelection, className, ...props }) => {\r\n// console.log('ListTable')\r\n// if (columns.length > 0) {\r\n// const ResizeableTitle = (props) => {\r\n// const { onResize, onClick, width, ...restProps } = props;\r\n// const [allowClick, setAllowClick] = useState(true);\r\n// if (!width) {\r\n// return ;\r\n// }\r\n\r\n// return (\r\n// {\r\n// setAllowClick(true);\r\n// }}\r\n// onResizeStart={e => {\r\n// setAllowClick(false);\r\n// }}\r\n// onResizeStop={e => {\r\n// resizeColCallback && resizeColCallback(columns);\r\n// }}\r\n// onClick={e => allowClick && onClick(e)}\r\n\r\n// >\r\n// \r\n// \r\n// );\r\n// };\r\n\r\n// let resizeCol = columns;\r\n\r\n// const setColumns = (col) => {\r\n// resizeCol = col();\r\n// }\r\n\r\n// const getResizeCol = () => {\r\n// return resizeCol;\r\n// }\r\n\r\n// const components = {\r\n// header: {\r\n// cell: ResizeableTitle\r\n// }\r\n// };\r\n\r\n// const handleResize = (index, columns, callback) => {\r\n// return (e, { size }) => {\r\n// //to do\r\n\r\n// //callback && callback(nextColumns);\r\n// //this.setState(({ columns }) => {\r\n// setColumns(() => {\r\n// const nextColumns = [...columns];\r\n// nextColumns[index] = {\r\n// ...nextColumns[index],\r\n// width: size.width,\r\n// };\r\n// console.log('handleResize setColumns')\r\n// return nextColumns;\r\n// })\r\n// //callback && callback(() => {\r\n// // const nextColumns = [...columns];\r\n// // nextColumns[index] = {\r\n// // ...nextColumns[index],\r\n// // width: size.width,\r\n// // };\r\n\r\n// // //\r\n// // return nextColumns;\r\n// //});\r\n// console.log('handleResize')\r\n// callback && callback(getResizeCol());\r\n// }\r\n// //col(e, { size });\r\n// //return callback && callback(getResizeCol());\r\n// //});\r\n// }\r\n\r\n// const getColumns = (columns) => {\r\n// console.log('getColumns')\r\n// return columns.map((col, index) => ({\r\n// ...col,\r\n// onHeaderCell: column => ({\r\n// width: column.width,\r\n// onResize: handleResize(index, columns, resizeColCallback),\r\n// //onMouseUp: () => {\r\n// // onMouseUp();\r\n// //},\r\n// })\r\n// }));\r\n// };\r\n\r\n// const paginationWithDefaults = typeof pagination === 'boolean' ? pagination : Object.assign({ pageSizeOptions: pageSizeOptions }, pagination);\r\n\r\n// let errMsg = \"\";\r\n// let msgType = \"info\";\r\n\r\n// if (error) {\r\n// errMsg = error;\r\n// msgType = \"danger\";\r\n// }\r\n\r\n// if (errMsg && errMsg.length > 0 && !isLoading) {\r\n// return (\r\n//
\r\n// {errMsg}\r\n//
\r\n// );\r\n// }\r\n\r\n// return (\r\n// 0 ? maxHeight : undefined, scroll)}\r\n// pagination={paginationWithDefaults}\r\n// loading={isLoading}\r\n// onChange={onChange}\r\n// size={size}\r\n// rowClassName={getRowClassName(rowClassName)}\r\n// rowSelection={rowSelection}\r\n// className={className}\r\n// {...props}\r\n// //bordered\r\n// />\r\n// );\r\n// }\r\n// return null;\r\n//};\r\n\r\n//ListTable.defaultProps = {\r\n// defaultColWidth: 100,\r\n// size: \"middle\",\r\n// maxHeight: 450\r\n//};\r\n\r\nexport default ListTable;\r\n","import { Tabs } from 'antd';\r\n\r\nexport default Tabs;\r\n","import { Tabs } from 'antd';\r\nimport { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass TabsEnhanced extends PureComponent {\r\n\r\n constructor(props){\r\n super(props);\r\n this.onKeyUp = this.onKeyUp.bind(this);\r\n\r\n const { activeKey, defaultActiveKey } = props;\r\n \r\n this.state = {\r\n activeKey: activeKey ?? defaultActiveKey\r\n }\r\n }\r\n\r\n onKeyUp(event)\r\n {\r\n if (event.ctrlKey === true && event.altKey === true) \r\n {\r\n if ([\"ArrowLeft\", \"ArrowRight\"].includes(event.key))\r\n {\r\n const { activeKey } = this.state;\r\n const { children, onChange } = this.props; \r\n const filteredChildren = Array.isArray(children) ? children.filter(child => child?.type?.displayName === \"TabPaneEnhanced\") : [];\r\n\r\n if (filteredChildren.length > 1)\r\n {\r\n // default -1, otherwise get frist matched item index\r\n let shortCutKeyIndex = activeKey.length > 0 ? filteredChildren.findIndex(child => activeKey.includes(child.key)) ?? -1 : -1;\r\n shortCutKeyIndex = (shortCutKeyIndex + (event.key === \"ArrowLeft\" ? (filteredChildren.length - 1) : 1)) % filteredChildren.length;\r\n let newActiveKey = (shortCutKeyIndex > -1 && shortCutKeyIndex < filteredChildren.length) ? filteredChildren[shortCutKeyIndex].key : (filteredChildren.length > 0 ? filteredChildren[0].key : \"\")\r\n \r\n this.setState({ activeKey: newActiveKey });\r\n onChange && onChange(newActiveKey);\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps)\r\n {\r\n const { activeKey, enableshortcutkey } = this.props;\r\n const { activeKey: prevActiveKey, enableshortcutkey: prevenableshortcutkey } = prevProps;\r\n \r\n if (activeKey !== prevActiveKey && activeKey !== this.state.activeKey)\r\n {\r\n this.setState({ activeKey });\r\n }\r\n if (enableshortcutkey !== prevenableshortcutkey)\r\n {\r\n if (enableshortcutkey)\r\n {\r\n document.addEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n else\r\n {\r\n document.removeEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n }\r\n }\r\n\r\n componentDidMount()\r\n {\r\n const { enableshortcutkey } = this.props;\r\n if (enableshortcutkey)\r\n {\r\n document.addEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n document.removeEventListener(\"keyup\", this.onKeyUp, false);\r\n }\r\n \r\n render() {\r\n const { children, ...other } = this.props;\r\n const { activeKey } = this.state;\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n\r\nTabsEnhanced.propTypes = {\r\n enableshortcutkey: PropTypes.bool\r\n}\r\n\r\nconst TabPane = Tabs.TabPane;\r\nTabPane.displayName = \"TabPaneEnhanced\";\r\n\r\nTabsEnhanced.TabPaneEnhanced = TabPane;\r\n\r\nexport default TabsEnhanced;","import { Tag } from 'antd';\r\n\r\nexport default Tag;\r\n","import { Timeline } from 'antd';\r\n\r\nexport default Timeline;\r\n","import React, { PureComponent } from 'react';\r\nimport { TimePicker } from 'antd';\r\nimport moment from 'moment';\r\n\r\nclass TimePickerWrapper extends PureComponent {\r\n render() {\r\n let { defaultValue, /*defaultPickerValue,*/ value, ...props } = this.props;\r\n const format = 'HH:mm'\r\n defaultValue = defaultValue ? moment(defaultValue, format) : null;\r\n //defaultPickerValue = defaultPickerValue ? moment(defaultPickerValue) : null;\r\n value = value ? moment(value, format) : null;\r\n return ;\r\n }\r\n}\r\n\r\nexport default TimePickerWrapper;\r\n","import { Upload } from 'antd';\r\n\r\nexport default Upload;\r\n","import { Transfer } from 'antd';\r\n\r\nexport default Transfer;\r\n","import { Tree } from 'antd';\r\n\r\nexport default Tree;\r\n","import { Image } from 'antd';\r\n\r\nexport default Image;\r\n","import { Pagination } from 'antd';\r\n\r\nexport default Pagination;\r\n","import { Table } from 'antd';\r\n\r\nexport default Table;\r\n","import React, { Component } from 'react';\r\nimport AuthService from './AuthService';\r\nimport history from './history';\r\nimport moment from \"moment\";\r\n\r\nlet timeout = false;\r\nlet resetTimer;\r\nlet hasBLRenewToken = false;\r\nlet popupAlertTimeUTC = null;\r\n//let tokenTimeoutID = null;\r\n\r\nexport default function withAuth(AuthComponent) {\r\n const Auth = new AuthService();\r\n \r\n return class AuthWrapped extends Component {\r\n state = {\r\n user: null\r\n };\r\n\r\n //replace UNSAFE_componentWillMount\r\n //UNSAFE_componentWillMount() {\r\n componentDidMount() {\r\n const { location: { pathname, search, hash } } = history;\r\n let currUrl = `${pathname}${search}${hash}`;\r\n if (!Auth.loggedIn()) {\r\n timeout = true;\r\n this.toLoginPage(currUrl);\r\n }\r\n else {\r\n try {\r\n //console.log('componentDidMount')\r\n if (!hasBLRenewToken) {\r\n Auth.renewIfNeeded(resetTimer);\r\n //Auth.renewIfNeeded();\r\n }\r\n else {\r\n hasBLRenewToken = true;\r\n }\r\n \r\n const profile = Auth.getProfile();\r\n profile.userProfiles = Auth.getUserProfiles();\r\n profile.userPreferences = Auth.getUserPreferences();\r\n this.setState({\r\n user: profile\r\n });\r\n }\r\n catch (err) {\r\n timeout = true;\r\n Auth.logout();\r\n this.toLoginPage(currUrl);\r\n }\r\n }\r\n }\r\n\r\n //notify = () => {\r\n // if (!(\"Notification\" in window)) {\r\n // console.log(\"This browser does not support desktop notification\");\r\n // }\r\n // else {\r\n // console.log('support')\r\n // if (Notification.permission === \"granted\") {\r\n // // If it's okay let's create a notification\r\n // var notification = new Notification(\"Hi there!\");\r\n // console.log('granted')\r\n // }\r\n\r\n // // Otherwise, we need to ask the user for permission\r\n // else if (Notification.permission !== \"denied\") {\r\n // Notification.requestPermission().then(function (permission) {\r\n // console.log('denied')\r\n // // If the user accepts, let's create a notification\r\n // if (permission === \"granted\") {\r\n // var notification = new Notification(\"Hi there!\");\r\n // console.log('denied granted')\r\n // }\r\n // });\r\n // }\r\n // }\r\n //}\r\n\r\n componentDidUpdate() {\r\n const { location: { pathname, search, hash } } = history;\r\n let currUrl = `${pathname}${search}${hash}`;\r\n let loginUrl = `${process.env.PUBLIC_URL}/login`;\r\n\r\n //setInterval(this.notify, 5000);\r\n\r\n if (!Auth.loggedIn()) {\r\n if (!currUrl.includes(loginUrl)) {\r\n timeout = true;\r\n this.toLoginPage(currUrl);\r\n }\r\n }\r\n else {\r\n try {\r\n //console.log('withAuth shouldComponentUpdate ', (this.state !== nextState || this.props !== nextProps))\r\n //Auth.renewIfNeeded(() => { console.log('with auth shouldComponentUpdate'); resetTimer && resetTimer() });\r\n //Auth.renewIfNeeded();\r\n let nowUTC = moment.utc();\r\n \r\n if (!moment(popupAlertTimeUTC).isValid()) {\r\n popupAlertTimeUTC = nowUTC;\r\n Auth.prompAlertMsg();\r\n }\r\n else if (nowUTC.diff(popupAlertTimeUTC, 'seconds') >= 5) {\r\n popupAlertTimeUTC = nowUTC;\r\n Auth.prompAlertMsg();\r\n }\r\n\r\n if (!hasBLRenewToken) {\r\n Auth.renewIfNeeded(resetTimer);\r\n }\r\n else {\r\n hasBLRenewToken = true;\r\n }\r\n }\r\n catch (err) {\r\n timeout = true;\r\n Auth.logout();\r\n this.toLoginPage(currUrl);\r\n }\r\n }\r\n }\r\n\r\n toLoginPage = (currUrl) => {\r\n let loginUrl = `${process.env.PUBLIC_URL}/login`;\r\n if (currUrl) loginUrl += `?redir=${encodeURIComponent(currUrl)}`;\r\n history.replace(loginUrl);\r\n }\r\n\r\n render() {\r\n if (this.state.user) {\r\n return (\r\n \r\n );\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport const isTimeout = () => {\r\n return timeout;\r\n}\r\n\r\nexport function setIsTimeout(isTimeout) {\r\n timeout = isTimeout;\r\n}\r\n\r\nexport function setResetTimer(resetTimerFunc) {\r\n resetTimer = resetTimerFunc;\r\n}\r\n\r\nexport function getResetTimer() {\r\n return resetTimer && resetTimer();\r\n}\r\n\r\nexport function setHasBLRenewToken(renewToken) {\r\n hasBLRenewToken = renewToken;\r\n}","const en = {\r\n btnLogin: \"Log in\",\r\n btnChangeUser: \"Change User\",\r\n msgLoginTimeout: \"You have been logged off automatically after timeout.\",\r\n msgProfileNotFound: \"Profile not found\",\r\n msgLoginFail: \"Incorrect username or password, please try again.\",\r\n msgLockAccount: \"Account is locked, please reset your password to unlock it.\",\r\n msgUserNotActivate: \"User not activated\",\r\n msgChangeUserFail: \"Incorrect username or user is not activated\",\r\n msgChangeUserNoAccess: \"You do not have change user right\",\r\n lbRegister: \"Registration\",\r\n msgHaveSISAccount: \"Do you have a SIS Account?\",\r\n lbRegisterWithSIS: \"Yes\",\r\n lbRegisterWithoutSIS: \"No\",\r\n lbForgotPW: \"Forgot Password\",\r\n lbResetPW: \"Reset Password\",\r\n lbTermsOfUse: \"Terms of Use\",\r\n lbTermsOfUseContent: \"Legal Disclaimer: This system may not be used as the sole information tool by which future claims against any member of the M+R Spedag Group and its affiliates and/or agents services performance may be derived. Under no circumstances shall any member of the M+R Spedag Group and its affiliates and/or agents be liable for any damage including but not limited to special or consequential damages that result from the access or the use of, or the inability to access or use this system. The data contained in this system is provided without any warranty of any kind, either expressed or implied, as to their accuracy, reliability or completeness.\",\r\n lbSignUp: \"Sign Up\",\r\n privacyPolicy: {\r\n header: \"Privacy Policy\",\r\n privacyPolicy1: \"This privacy policy applies exclusively to the M+R Spedag Group website www.mrspedag.com.\",\r\n privacyPolicy2: \"Our goal is to ensure that your personal data is processed in compliance with the law. Our websites may contain links to external websites for which this data protection declaration is not valid.\",\r\n personalData: \"Personal data\",\r\n personalDataContent: \"We do not systematically collect personal data on our websites. It is possible that a visitor to our website transmits personal data to us, e.g. by using a contact form to contact us.\",\r\n useOfPersonalData: \"Use of personal data\",\r\n useOfPersonalDataContent: \"By submitting personal data via online forms, e-mail or similar, the user agrees to the processing of the data. This may be necessary to answer an enquiry or provide a service. If personal data is transmitted to us, it will only be used for internal processes and administered in compliance with legal requirements.\",\r\n deletionOfPersonalData: \"Deletion of personal data\",\r\n deletionOfPersonalDataContent: \"The data subject may request access to personal data and request any changes or deletion of personal data. The M+R Spedag Group will examine the request and implement it in accordance with legal requirements.\",\r\n contract: \"Contact\",\r\n contractContent: \"Information about your data can be sent to you via email: info@mrspedag.com\",\r\n passongOfPersonalData: \"Passing on of personal data\",\r\n passongOfPersonalDataContent: \"In principle, personal data will not be passed on to third parties. However, we reserve the right to take this step if this serves to comply with applicable laws and regulations and/or we consider this necessary to preserve our rights and/or to protect our property.\",\r\n cookies: \"Cookies\",\r\n cookiesContent: \"The full functionality of this website depends on the use of cookies. These are small files that are stored on the visitor’s PC. Cookies are used to store certain settings or preferences. These cookies do not pose any risk to the user’s computer.\",\r\n webAnalysisTools: \"Web Analysis Tools\",\r\n webAnalysisToolsContent: \"Our website uses Google Analytics, a web analysis service of Google Inc. Information about the use of the websites, including the IP addresses of visitors, is transmitted to a Google server (usually in the USA) and stored there. This service is used to evaluate the use of the websites. Google provides add-ons for the most common web browsers under the web link “https://tools.google.com/dlpage/gaoptout”, with which Google Analytics can be deactivated.\",\r\n },\r\n lbMR: \"M+R SPEDAG GROUP\",\r\n lblConfirm: \"Confirm\",\r\n lblCancel: \"Cancel\",\r\n lblOK: \"OK\",\r\n lblBack: \"Back\",\r\n lblEdit: \"Edit\",\r\n lblOMSPO: \"OMS PO\",\r\n lblNext: \"Next\",\r\n lblSubmit: \"Submit\",\r\n lblSearch: \"Search\",\r\n lblApply: \"Apply\",\r\n lblCreate: \"Create\",\r\n lblYes: \"Yes\",\r\n lblNo: \"No\",\r\n lbAcceptRejectAllText: \"Accept / Reject All Changes\",\r\n msgConfirmAcceptRejectAll: \"Please review all the changes before accepting or rejecting them\",\r\n lbShowLatestEBookingText: \"Show Latest E-Booking\",\r\n lbRejectAll: \"Reject All\",\r\n lbAcceptAll: 'Accept All',\r\n lblContinueSave: \"Continue Save\",\r\n lblResetAndSave: \"Reset and Save\",\r\n lblUserType: \"Role\",\r\n lblLocation: \"Location\",\r\n lblLocationToolTip: \"Location of Shipper\",\r\n lblReferred: \"Referred by\",\r\n lblReferredToolTip: \"Name of M+R Staff\",\r\n lblReferredOffice: \"Referred by Office\",\r\n lblReferredOfficeToolTip: \"Office of the above M+R Staff\",\r\n lbUserID: \"User ID\",\r\n lbLoinID: \"Login ID\",\r\n lbLoinIDToolTip: \"Please enter your email address as your Login ID\",\r\n msgLoinIDRequired: \"Please enter Login ID\",\r\n lbPassword: \"Password\",\r\n msgPasswordRequired: \"Please enter Password\",\r\n msgStrongPWRequired: \"The password must contain at least 8 characters, a number, an uppercase and a lowercase letter.\",\r\n msgPwNotMatch: \"Passwords do not match\",\r\n msgInvalidPassword: \"Invalid password\",\r\n msgInvalidCurrentPassword: \"Invalid Current Password\",\r\n msgRepeatPassword: \"Password has been used before, please use a new password.\",\r\n msgForceChangePassword: \"Your password is expired, please change your password now.\",\r\n msgActivateACSuccessfullly: \"Please login to start the new experience\",\r\n lbConfirmPassword: \"Confirm Password\",\r\n msgConfirmPasswordRequired: \"Please confirm your password\",\r\n msgPasswordInconsistent: \"Two passwords that you enter is inconsistent\",\r\n lbFamilyName: \"Family Name\",\r\n msgFamilyNameRequired: \"Please enter Family Name\",\r\n lbGivenName: \"Given Name\",\r\n msgGiveNameRequired: \"Please enter Given Name\",\r\n lbAddress: \"Address\",\r\n msgAddressRequired: \"Please enter Address\",\r\n lbZipPostal: \"Zip / Postal\",\r\n lbCountryCode: \"Country Code\",\r\n lbFDCountryCode: \"FD Country Code\",\r\n lbEmail: \"E-mail\",\r\n msgEmailRequired: \"Please enter E-mail\",\r\n msgEmailInvalid: \"The input is not valid E-mail\",\r\n lbPhoneNumber: \"Phone Number\",\r\n msgPhoneNumberRequired: \"Please enter Phone Number\",\r\n msgCompanyRequired: \"Please enter Company\",\r\n lbFax: \"Fax\",\r\n msgFaxRequired: \"Please enter Fax\",\r\n lbCompany: \"Company\",\r\n lbPosition: \"Position\",\r\n lbDepartment: \"Department\",\r\n lbSalesCode: \"Sales Code\",\r\n lbLanguage: \"Language\",\r\n msgLanguageRequired: \"Please enter Language\",\r\n lbProfile: \"Profile\",\r\n msgProfileRequired: \"Please select a Profile\",\r\n lbUserLevel: \"User Level\",\r\n lbRole: \"Role\",\r\n msgRoleRequired: \"Please enter Role\",\r\n lbPartyAccessType: \"Party Access Type\",\r\n msgPartyAccessTypeRequired: \"Please enter Party Access Type\",\r\n msgPartyGroupRequired: \"Please enter Party Group\",\r\n lbTradelane: \"Tradelane\",\r\n lbAccessibleSalesCode: \"Accessible Sales Code\",\r\n lbAccessibleSalesCode_Tooltips: \"Whenever there is a slash in front of a salesman's name, it means that salesman/ sales code is not active in the system. Please pay attention to adding an inactive sales code as Accessible Sales Code.\",\r\n msgLoginIdDuplicate: \"Login ID already exists\",\r\n msgEnterSISID: \"To sign up, please enter current SIS Login Name and Password\",\r\n msgSISIDVerified: \"SIS account has been verified. Enter details below to sign up your personal account.\",\r\n lbSISLoginID: \"SIS Login Name\",\r\n msgInvalidSISLoginID: \"The SIS Login Name or Password is invalid, please enter a valid Login Name and Password\",\r\n msgCannotMapUserProfiles: \"Cannot map user profile with SIS ID, please register a new account without SIS ID\",\r\n msgLoginIDAleadyRegistered: \"Login ID already registered\",\r\n msgSISLoginIDRequire: \"Please enter SIS Login ID\",\r\n lbPageSize: \"Page Size\",\r\n btnSave: \"Save\",\r\n btnRemindMeLater: \"Remind me later\",\r\n msgUpdatePassword: \"Please update your password\",\r\n msgPasswordExpireInDays: \"Your password will expire in {{password_expire_in_days}} days. Please change the password.\",\r\n msgPasswordExpireSoon: \"Passsword will expire soon\",\r\n msgPasswordExpired: \"Your password has expired. Please change the password\",\r\n btnCancel: \"Cancel\",\r\n btnOk: \"OK\",\r\n btnApply: \"Apply\",\r\n btnReset: \"Reset\",\r\n btnDelete: \"Delete\",\r\n btnClose: \"Close\",\r\n lbContainerSize: \"Container Size\",\r\n msgContainerSizeRequired: \"Please select a Container Size\",\r\n msgContainerQtyRequired: \"Please select a Container Qty\",\r\n lbQty: \"Qty\",\r\n lbCargoReadyDate: \"Cargo Ready Date\",\r\n lbDepartureDate: \"Departure Date\",\r\n lbArrivalDate: \"Arrival Date\",\r\n lbTransshipmentPort: \"Transshipment Port\",\r\n lbDepartureFrom: \"Departure From\",\r\n lbPOL: \"Port of Loading (POL)\",\r\n msgPOLRequired: \"Please select a Port of Loading (POL)\",\r\n msgPOLHBLRequired: \"Please enter Port of Loading (POL) in HBL\",\r\n lbETD: \"ETD\",\r\n msgETDRequired: \"Please enter ETD\",\r\n msgETDInvalid: \"Invalid ETD\",\r\n lbPOD: \"Port of Discharge (POD)\",\r\n msgPODRequired: \"Please select a Port of Discharge (POD)\",\r\n msgPODHBLRequired: \"Please enter Port of Discharge (POD) in HBL\",\r\n lbETA: \"ETA\",\r\n msgETARequired: \"Please enter ETA\",\r\n msgETAInvalid: \"Invalid ETA\",\r\n lbMotherVesselVoyage: \"Mother Vessel Voyage\",\r\n lbFeederVesselVoyage: \"Feeder Vessel Voyage\",\r\n msgPortRequired: \"Please select Transshipment Port\",\r\n lbCarrier: \"Carrier\",\r\n lbCopyFromSailingOption: \"Copy from Sailing Option\",\r\n lbCopyFromSailingOptionTooltip: \"Select and apply the Sailing from Sailing Option\",\r\n lbIsTBCSailing: 'Is TBC Sailing',\r\n lbType: 'Type',\r\n msgCarrierRequired: \"Please enter Carrier\",\r\n lbColoader: \"Co-loader\",\r\n msgColoaderRequired: \"Please enter Co-loader\",\r\n lbPLD: \"Place of Delivery (PLD)\",\r\n msgPLDRequired: \"Please select a Place of Delivery (PLD)\",\r\n msgPLDHBLRequired: \"Please enter Place of Delivery (PLD) in HBL\",\r\n msgShipModeRequired: \"Please select a Ship Mode\",\r\n lbFD: \"Final Destination (FD)\",\r\n msgFDRequired: \"Please select a Final Destination (FD)\",\r\n msgFDHBLRequired: \"Please enter Final Destination (FD) in HBL\",\r\n msgFDCountryRequired: \"Please select a Final Destination Country\",\r\n msgInvalidCountryCode: \"Invalid Country Code\",\r\n lbMainOffice: \"Main Office\",\r\n msgUpdatePOLFromSailing: \"You have selected sailing option with POL {{sailing_pol_name}}. The current booking POL is {{so_pol_name}}. Are you sure you want to select this {{sailing_pol_name}} sailing and update booking POL to {{sailing_pol_name}}? Please note that booking cannot be confirmed if sailing schedule's POL does not match booking's POL.\",\r\n msgUpdatePODFromSailing: \"You have selected sailing option with POD {{sailing_pod_name}}. The current booking POD is {{so_pod_name}}. Are you sure you want to select this {{sailing_pod_name}} sailing and update booking POD to {{sailing_pod_name}}? Please note that booking cannot be confirmed if sailing schedule's POD does not match booking's POD.\",\r\n lbLegETD: \"Leg {{leg}} ETD\",\r\n lbLegVessel: \"Leg {{leg}} Vessel Name\",\r\n lbLegVoyage: \"Leg {{leg}} Voyage Code\",\r\n lbLegServiceName: \"Leg {{leg}} Service Name\",\r\n lbLegServiceCode: \"Leg {{leg}} Service Code\",\r\n lbLegPort: \"Leg {{leg}} Port\",\r\n lbCFS: \"CFS (LCL)\",\r\n lbCY: \"CY\",\r\n lbCyClosingDate: \"CY Closing Date\",\r\n lbVGM: \"VGM\",\r\n lbVgmCutOffDate: \"VGM Cutoff Date\",\r\n lbSI: \"SI\",\r\n lbSiCutOffDate: \"SI Cutoff Date\",\r\n lbRoutes: \"Routes\",\r\n lbRoute: \"Route\",\r\n lbServiceName: \"Service Name\",\r\n lbServiceCode: \"Service Code\",\r\n lbMotherServiceName: \"Mother Service Name\",\r\n lbMotherServiceCode: \"Mother Service Code\",\r\n msgServiceCodeRequired: \"Please enter a service code\",\r\n lbVessel: \"Vessel\",\r\n lbVesselName: \"Vessel Name\",\r\n lbVesselIMONumber: \"Vessel IMO Number\",\r\n msgVesselNameRequired1: \"Please enter vessel\",\r\n msgVesselNameRequired2: \"Please select a mother vessel from transshipment\",\r\n lbVoyage: \"Voyage\",\r\n lbVoyageCode: \"Voyage Code\",\r\n msgVoyageCodeRequired1: \"Please enter voyage\",\r\n msgVoyageCodeRequired2: \"Please select a mother vessel from transshipment\",\r\n lbVesselImoNumber: \"IMO Number\",\r\n lbVesselOperator: \"Operator\",\r\n lbTransshipmentCode: \"Transshipment Port\",\r\n lbUserProfile: \"User Profile\",\r\n lbUserPassword: \"User Password\",\r\n lbNewPassword: \"New Password\",\r\n lbCurrentPassword: \"Current Password\",\r\n lbConfirmNewPassword: \"Confirm New Password\",\r\n lbContractType: \"Contract Type\",\r\n lbContractNo: \"Contract No.\",\r\n lbCarrierBookingNo: \"Carrier Booking No.\",\r\n lbCarrierBookingDate: \"Carrier Booking\",\r\n lbCarrierConfirmBookingDate: \"Carrier Confirm Booking\",\r\n lbSOReference: 'S/O Reference',\r\n lbSOReferenceTooltip: 'Reference no. of shipping order',\r\n lbSORefNil: 'S/O Reference Not Applicable',\r\n lbSORefNilTooltip: 'Tick this checkbox if required Reference no. is not applicable to this booking',\r\n msgUpdatePwSuccessfully: \"Updated password successfully\",\r\n msgUpdatePwFail: \"Fail to update password\",\r\n msgPwNotMatch: \"Password not match\",\r\n msgUpdatedUserProfileSuccessfully: \"Updated user profile successfully\",\r\n msgUpdatUserProfileFail: \"Fail to update user profile\",\r\n msgUserProfileNotUnique: \"Profile Type should be unique\",\r\n msgUserProfileNotAssignedFuncRole: \"Please assign at leaset 1 System Function Role for each profile\",\r\n msgVirusScanning: \"(Scanning Virus...) {{file_name}}\",\r\n msgLoading: \"Loading...\",\r\n msgSaving: \"Saving...\",\r\n errSaveUnknown: \"Unable to save with unknown reason.\",\r\n msgSureToDelete: \"Sure to delete?\",\r\n msgNoRecordFound: \"No record found\",\r\n msgNoRateRecordFound: \"No rate record found\",\r\n msgRateApiError: \"Rate search failure. Please try again. {{error_message}}\",\r\n msgNoDashboardItem: \"No dashboard item found.\",\r\n msgLoadAutoSave: \"An auto save record is found (saved at {{datetime}}), do you want to load it?\",\r\n msgAutoSaveLoaded: \"auto save loaded\",\r\n msgAutoSaveSaved: \"The booking has been auto-saved\",\r\n msgSureToLeave: \"Are you sure you want to leave?\",\r\n msgSureToReset: \"Sure to reset to default settings?\",\r\n lblSelectColumn: \"Please select a column\",\r\n lblColumnOption: \"Column Options\",\r\n lblColumn: \"Columns\",\r\n msgColumnOptions: \"Add or remove columns with maximum 30 columns to be shown. To change the column order, drag and drop a field.\",\r\n lblAddColumn: \"Add a Column\",\r\n errExportFailed: \"Unable to export file.\",\r\n lblFrom: \"From\",\r\n lblTo: \"To\",\r\n lblMotherVessel: \"Mother Vessel\",\r\n lblMotherVesselName: \"Mother Vessel Name\",\r\n lblMotherVesselIMONumber: \"Mother Vessel IMO Number\",\r\n lblMotherVoyageCode: \"Mother Voyage Code\",\r\n msgMotherVesselRequired1: \"Please enter Mother Vessel Voyage\",\r\n msgMotherVesselRequired2: \"Please select Mother Vessel Voyage\",\r\n lblTransshipmentCount: \"Transshipment Count\",\r\n lbMotherVesselLeg: \"Mother Vessel Leg\",\r\n colOffice: \"Office\",\r\n pnlRelatedSailingSchedule: \"Related Sailing Schedules\",\r\n pnlRelatedBookings: \"Related Bookings\",\r\n pnlRelatedConsol: \"Related Consol\",\r\n pnlSailingHistory: \"Sailing Schedule History\",\r\n msgChangeETDETAWarning: \"You are overriding the ETD / ETA and switching into a Manual sailing schedule. Any automatic update of this sailing from the data provider / carriers will also be disabled. Please make sure you are entering the correct information.\",\r\n colFeederVessel: \"Feeder Vessel\",\r\n colFeederVoyage: \"Feeder Voyage\",\r\n colPLD: \"Place of Delivery (PLD)\",\r\n colPLDEta: \"PLD ETA\",\r\n msgConfirmCreateSailingSchedule: \"Sailing schedule with the same carrier, vessel, voyage, POL or POD exists. Do you want to continue?\",\r\n msgConfirmRelatedSailingSchedule: \"The sailing schedule (including the Cut-off dates) of all related bookings will be updated. Are you sure to continue? Please consult the relevant operation teams if needed.\",\r\n msgConfirmRelatedShipmentsAndConsol: \"The sailing schedule (including the Cut-off dates) of all related bookings and consol will be updated. Are you sure to continue? Please consult the relevant operation teams if needed.\",\r\n colField: \"Field\",\r\n colValue: \"Value\",\r\n lblVesselVoyage: \"Vessel Voyage\",\r\n msgSubmitting: \"Submitting\",\r\n msgSubmitForgotPwSuccessfully: \"Submit successfully. An Email will be sent to reset password.\",\r\n msgSubmitForgotPwFail: \"No record found.\",\r\n msgResetPwSuccessfully: \"Reset successfully.\",\r\n msgResetPwFail: \"Fail to reset password.\",\r\n msgRecordNotLatest: \"This record is not updated. The record has been changed by another user.\",\r\n msgRecordNotLatestOrSOHandleByOPS: \"This shipment is updated by other ousers, or is cancelled, or already handled by OPS.\",\r\n msgSOHandleByOPS: \"This shipment is already handled by OPS.\",\r\n msgExceedMaxFileSize: \"The file exceeds the size limit ({{max_file_size}} MB) per file\",\r\n msgIncorrectInput: \"Incorrect Input\",\r\n msgSavedSuccess: \"Saved\",\r\n lblColumnOptions: \"Column Options\",\r\n lblRelatedSailingScheduleToolTip1: \"Sailings with same mother vessel and voyage, departing from different POLs but arriving at the same POD. E.g. Mother Vessel first loading at Yantian, then load at Xiamen and discharge at Long Beach.\",\r\n lblRelatedSailingScheduleToolTip2: \"Or sailing with same mother vessel and voyage, departing from the same POL but arriving at different PODs.E.g.Mother Vessel departing from Yantian, then first discharge at Long Beach and discharge at Vancouver.\",\r\n msgTBCSailingWarning: \"The ETD of TBC Sailing Schedule will be automatically updated on every 16th day of the month to the last day of next month.\",\r\n lblActive: 'Active',\r\n lblInactive: 'Inactive',\r\n msgVirusDetected: \"File upload failure - suspected virus detected\",\r\n lbSearchRate: \"Search Rate\",\r\n lbPortOrDoorRate: 'Port / Door Rate',\r\n lbPortOrDoorRateHover: 'Port-to-Port: search rate by origin = POL, destination = POD\\nPort-to-Door: search rate by origin = POL, destination = PLD\\nDoor-to-Port: search rate by origin = POR, destination = POD\\nDoor-to-Door: search rate by origin = POR, destination = PLD',\r\n lbContractInfo: 'Contract Info',\r\n lbRateSource: 'Rate Source',\r\n lbInfoForSearchRateOnly: \"Below information is required for searching rate only\",\r\n lbRateMapDate: 'Cargosphere Rate Date',\r\n lbRateMapDateHover: 'The Cargosphere Rate Date of \"N day(s) after sailing\\'s ETD\" is used to search for applicable Cargosphere rate.\\nOP can adjust Cargosphere Rate Date to be the estimated ATD/ ETB/ CY Gate-in Date according to carrier\\'s requirement.\\nFor US sailing, Cargosphere Rate Date cannot be amended after CY Gate-in Date is input and equals to the latest CY Gate-in Date of all containers.',\r\n lbPanelRateMapDateHover: 'The Cargosphere Rate Date is used to refresh applicable Cargosphere rate.\\nOP can adjust Cargosphere Rate Date to be the estimated ATD/ ETB/ CY Gate-in Date according to carrier\\'s requirement.\\nFor US sailing, Cargosphere Rate Date cannot be amended after CY Gate-in Date is input and equals to the latest CY Gate-in Date of all containers.',\r\n menu: {\r\n \"Home\": \"Home\",\r\n \"Dashboard\": \"Dashboard\",\r\n \"Booking\": \"Booking\",\r\n \"New e-Booking Pending\": \"New e-Booking Pending\",\r\n \"Cancel e-Booking Pending\": \"Cancel e-Booking Pending\",\r\n \"Amend e-Booking Pending\": \"Amend e-Booking Pending\",\r\n \"New Manual Booking Pending\": \"New Manual Booking Pending\",\r\n \"Booking Confirmed\": \"Booking Confirmed\",\r\n \"Booking Approval\": \"Booking Approval\",\r\n \"Request For Approval\": \"Request For Approval\",\r\n \"Pending For Customer Approval\": \"Pending For Customer Approval\",\r\n \"Booking Rejected\": \"Booking Rejected\",\r\n \"Booking Advice\": \"Booking Advice\",\r\n \"Setting\": \"Setting\",\r\n \"User Profile\": \"User Profile\",\r\n \"User Maintenance\": \"User Maintenance\",\r\n \"Change Password\": \"Change Password\",\r\n \"Admin\": \"Admin\",\r\n \"Party Maintenance\": \"Party Maintenance\",\r\n \"Party Group Maintenance\": \"Party Group Maintenance\",\r\n \"Sailing Schedule Maintenance\": \"Sailing Schedule Maintenance\",\r\n \"Sign Out\": \"Sign Out\",\r\n \"ChangeUser\": \"Change User\",\r\n \"TradeLane Maintenance\": \"TradeLane Maintenance\",\r\n\r\n \"AP Upload Document\": \"AP Upload Document\",\r\n \"AP Pending Creation\": \"AP Pending Creation\",\r\n \"AP Pending Approval\": \"AP Pending Approval\",\r\n \"AP Released\": \"AP Released\",\r\n \"AP Pending Posting\": \"AP Pending Posting\",\r\n \"AP Posted\": \"AP Posted\",\r\n \"AP Voided\": \"AP Voided\",\r\n \"AP Settled\": \"AP Settled\",\r\n \"Account Payable (AP)\": \"Account Payable (AP)\",\r\n \"AR Pending Creation\": \"AR Pending Creation\",\r\n \"AR Pending Printing\": \"AR Pending Printing\",\r\n \"AR Pending Posting\": \"AR Pending Posting\",\r\n \"AR Posted\": \"AR Posted\",\r\n \"AR Reversed\": \"AR Reversed\",\r\n \"AR Settled\": \"AR Settled\",\r\n \"Account Receivable (AR)\": \"Account Receivable (AR)\",\r\n \"Search Invoice\": \"Search Invoice\",\r\n \"Search AP\": \"Search AP\",\r\n \"Create New AP\": \"Create New AP\",\r\n \"AP Pending Preparation\": \"AP Pending Preparation\",\r\n \"AP Pending Approval (1st level)\": \"AP Pending Approval (1st level)\",\r\n \"AP Pending Approval (2nd level)\": \"AP Pending Approval (2nd level)\",\r\n \"AP Pending AP Ref to be entered\": \"AP Pending AP Ref to be entered\",\r\n \"AR / AP Pending Account Period Close\": \"AR / AP Pending Account Period Close\",\r\n \"AR / AP Pending Account Period New Close\": \"AR / AP Pending Account Period New Close\",\r\n \"AP Reversed\": \"AP Reversed\",\r\n \"AP Account Period Closed\": \"AP Account Period Closed\",\r\n \"AP Unsettled\": \"AP Unsettled\",\r\n \"Search AR\": \"Search AR\",\r\n \"Create New AR\": \"Create New AR\",\r\n \"AR Pending Preparation\": \"AR Pending Preparation\",\r\n \"AR Account Period Closed\": \"AR Account Period Closed\",\r\n \"AR Unsettled\": \"AR Unsettled\",\r\n \"Search AP / AR\": \"Search AP / AR\",\r\n\r\n \"Analytics\": \"Analytics\",\r\n \"Web Invoice GP\": \"Web Invoice GP\",\r\n\r\n \"Template Library\": \"Template Library\",\r\n },\r\n so: {\r\n msgMainHouseDocIcon: 'When Job# is assigned in OPMS, OPMS will send the shipment data to SIS (other applications/ EDI will make use of the data which received by SIS) based on the Main House Doc.\\nFor other created House Doc (if any), they will not be sent to SIS and used in any other applications or EDI.',\r\n msgPayableAtCountryCity: 'Only if the shipper specifically asks for showing a specific country/ region/ city (i.e. \"Switzerland\" or \"Basel\" etc.), otherwise, the Freight Payable At should remain as either \\'DESTINATION\\' or \\'ORIGIN\\'.',\r\n lbPayableAtCountryCity: 'A specific country/ region/ city',\r\n msgCannotRemoveJob: 'Can\\'t remove the Job#.Please ensure all issued invoices are deleted and/ or reversed and posted in Web Invoice.',\r\n lbMainHouseDoc: 'Main House Doc',\r\n lbAMSSCAC: 'AMS SCAC',\r\n lbAMSHBLNo: 'AMS HBL No.',\r\n lbManualSailing: 'Manual Sailing',\r\n lbTBCSailing: 'TBC Sailing',\r\n lblHeader: \"Header\",\r\n lblDetails: \"Details\",\r\n lblISF: \"ISF\",\r\n lblFiling: \"Filing\",\r\n lblDocumentUpload: \"Document Upload\",\r\n lblDocumentUploadHistory: \"Document Upload History\",\r\n lbVGMEDIHistory: 'VGM EDI History',\r\n lblSI: \"Shipping Instruction\",\r\n lblConfirmBooking: \"Confirm Booking\",\r\n lblCarrierBooking: 'Carrier Booking',\r\n lblShippingOrder: \"Shipping Order\",\r\n lblShipper: \"Shipper\",\r\n lblShipperToolTip: \"Shipper is the party which provides the written shipping order. It may not necessarily be the supplier of the cargo.\\n\\nIf company A provides a shipper order requesting to issue a BL showing company B as the shipper, written consent of company B must be provided. Or company A must prove that it is entitled by company B to ship cargo in the name of company A.\",\r\n lblShipperCityToolTip: 'Please enter the City to search for the appropriate City. In case no results found, please enter Country and Province, e.g. China Hebei, Viet Nam An Giang. Then, a list of cities will be available for you to choose.\\nThe selected City will be used for customs filing(if applicable) and wouldn\\'t be shown in HBL.',\r\n lblShipperRegionCountryCode: 'Country / Region',\r\n lblShipperPlaceHolder: \"Shipper (code)\",\r\n msgShipperRequired: \"Please select a Shipper\",\r\n msgShipperAddressRequired: 'Please input Shipper Address',\r\n msgShipperCityRequired: 'Please input Shipper City',\r\n msgPhoneRequired: 'Please input Phone',\r\n lbConsigneeNo: 'Consignee#',\r\n lbIORNo: 'IOR#',\r\n lblCustomer: \"Customer\",\r\n lblCustomerTooltip: \"Please select the Customer (e.g. Key Account) of this booking in this field. If it is not applicable, please input 'Other'.\",\r\n lblCustomerPlaceHolder: \"Customer (code)\",\r\n msgCustomerRequired: \"Please select a Customer\",\r\n lblConsignee: \"Consignee\",\r\n lblConsigneeToolTip: \"The consignee name and address as instructed by the shipper must be shown on the BL. The consignee may not necessarily be the recipient of the shipment. For instance, it is possible that a shipment is from point A to point B but the consignee on the BL is located at point C.\",\r\n lblConsigneePlaceHolder: \"Consignee (code)\",\r\n msgConsigneeRequired: \"Please select a Consignee\",\r\n msgConsigneeAddressRequired: 'Please input Consignee Address',\r\n msgConsigneeCityRequired: 'Please input Consignee City',\r\n lblMOT: \"Mode of Transportation\",\r\n msgMOTRequired: \"Please select the Mode of Transportation\",\r\n lblMOTSea: \"Sea\",\r\n lblMOTAir: \"Air\",\r\n lblMOTRail: \"Rail\",\r\n lblService: \"Service\",\r\n msgServiceRequired: \"Please select a Service\",\r\n lblServiceFCL: \"FCL\",\r\n lblServiceLCL: \"LCL\",\r\n lblServiceBulk: \"Bulk\",\r\n lblPODDelivery: \"Port / Door Delivery\",\r\n msgPODDeliveryRequired: \"Please select a Port / Door Delivery\",\r\n lblPODDeliveryP2p: \"Port-to-Port\",\r\n lblPODDeliveryP2d: \"Port-to-Door\",\r\n lblPODDeliveryD2p: \"Door-to-Port\",\r\n lblPODDeliveryD2d: \"Door-to-Door\",\r\n lblShipperReference: \"Shipper Reference\",\r\n lblShipperReferenceTooltip: \"Reference no. of Shipper\",\r\n lblShipperReferencePlaceHolder: \"Shipper Reference\",\r\n lblAgentReference: \"Agent Reference\",\r\n lblAgentReferenceTooltip: \"Reference no. of Agent\",\r\n lblAgentReferencePlaceHolder: \"Agent Reference\",\r\n lblConsigneeReference: \"Consignee Reference\",\r\n lblConsigneeReferenceTooltip: \"Reference no. of Consignee\",\r\n lblConsigneeReferencePlaceHolder: \"Consignee Reference\",\r\n lblMRReference: \"M+R Reference\",\r\n lblMRReferenceTooltip: \"Reference no. of M+R\",\r\n lblMRReferencePlaceHolder: \"M+R Reference\",\r\n lblBusinessType: \"Business Type\",\r\n msgBusinessTypeRequired: \"Please select a Business Type\",\r\n lblBusinessTypeNomination: \"Nomination\",\r\n lblBusinessTypeFreehand: \"Freehand\",\r\n lblNominationAgent: \"Nomination Agent\",\r\n msgNominationAgentRequired: \"Please select a Nomination Agent\",\r\n lblAgentPlaceHolder: \"Agent (code)\",\r\n lblReleaseAgent: \"Release Agent\",\r\n msgReleaseAgentRequired: \"Please select a Release Agent\",\r\n lblSalesman: \"Salesman\",\r\n msgSalesmanRequired: \"Please select a Salesman\",\r\n lbSOPInstruction: \"SOP instructions\",\r\n lbSOPInstructionContainerTitle: \"Container Usage\",\r\n lbSOPInstructionContainerContent: \"Use of 20' needs approval by customer........\",\r\n lbSOPInstructionRoutingTitle: \"Routing Instructions\",\r\n lbSOPInstructionRoutingContent: \"1st priority carrier is........\",\r\n msgFillInRequiredFields: \"Please fill in all required fields.\",\r\n errSONotFound: \"Shipping Order ({{sono}}) is not found.\",\r\n msgIncorrectCnsIORFormat: 'Please enter {{input_type}} with maximum length {{max_len}}',\r\n msgRateExternalContractTypeRequired: \"Please select an External Contract Type\",\r\n lblItemNo: \"Item#\",\r\n lblRemark: \"Remark\",\r\n lblItemQty: \"Item qty\",\r\n lblItemQtyUnit: \"Item qty unit\",\r\n lblPackageQty: \"Package qty\",\r\n lblPackageQtyUnit: \"Package qty unit\",\r\n lblGrossWeight: \"Gross weight\",\r\n lblNetWeight: \"Net weight\",\r\n lblCBM: \"CBM\",\r\n lblDocumentType: \"Document Type\",\r\n lblFile: \"File\",\r\n lblFileSource: \"File Source\",\r\n lblDragOrUpload: \"Select / Drag a file\",\r\n lblTiming: \"Timing as per customer's requirement\",\r\n lblSubmitBooking: \"Submit Booking\",\r\n msgISFMustComplete: \"ISF must be completed for USA shipment\\nENS must be completed for EU, Switzerland, Norway, Northern Ireland shipment\",\r\n lblSeller: \"Seller\",\r\n lblManufacturer: \"Manufacturer\",\r\n lblBuyer: \"Buyer\",\r\n lblShipTo: \"Ship To\",\r\n lblContainerStuffingLocation: \"Container Stuffing Location\",\r\n lblConsolidator: \"Consolidator\",\r\n lblISFCompanyName: \"Name\",\r\n msgSellerNameRequired: \"Please input Seller Name\",\r\n lblSellerPlaceHolder: \"Seller Name\",\r\n msgManufacturerNameRequired: \"Please input Manufacturer Name\",\r\n lblManufacturerNamePlaceHolder: \"Manufacturer Name\",\r\n msgBuyerNameRequired: \"Please input Buyer Name\",\r\n lblBuyerPlaceHolder: \"Buyer Name\",\r\n msgShipToNameRequired: \"Please input Ship To Name\",\r\n lblShipToPlaceHolder: \"Ship To Name\",\r\n msgContainerStuffingLocationNameRequired: \"Please input Container Stuffing Location Name\",\r\n lblContainerStuffingLocationPlaceHolder: \"Container Stuffing Location\",\r\n msglblConsolidatorNameRequired: \"Please input Consolidator Name\",\r\n lbllblConsolidatorPlaceHolder: \"Consolidator Name\",\r\n lblAddress1: \"Address 1\",\r\n msgAddress1Required: \"Please input Address 1\",\r\n lblAddress1PlaceHolder: \"Address 1\",\r\n lblAddress2: \"Address 2\",\r\n msgAddress2Required: \"Please input Address 2\",\r\n lblAddress2PlaceHolder: \"Address 2\",\r\n lbCityStateZip: 'City / State / Zip',\r\n lbCityStateZipTooltip: 'For STATE,\\nif Country = \"US\": Mandatory, size = 2\\nif Country = \"CA\": Mandatory, size = 2\\nothers: Optional\\n\\nFor ZIP (note: format: 9 is digit, A is letter)\\nif Country = \"US\": Mandatory, 2 formats - 5 digits \"99999\" e.g. 18235 or 5 digits + hyphen + 4 digits \"99999-9999\" e.g. 18235-2239\\nif Country = \"CA\": Mandatory, format \"A9A 9A9\" e.g.M4L 1V2\\nif Country = \"CN\": Mandatory, 6 digits \"999999\" e.g. 200070\\nif Country = \"JP\": Optional. If ZIP is entered, 3 digits+hyphen+4 digits \"999-9999\" e.g. 100-0005\\nothers: Optional, no validation',\r\n lblCity: \"City\",\r\n lblState: 'State',\r\n lblZip: 'Zip',\r\n lbEORINoTooltip: 'The EORI# is a code that is available to all \"Economic Operators\" that are based in the European Union.\\nThe EORI# is mandatory for Economic Operators that are filing customs entries for importation of goods into the EU, or are exporting from the EU.\\nEconomic Operators not based in the EU must also file for an EORI# if they are importing goods into the EU, or are exporting from the EU.\\nEconomic Operators not based in the EU must NOT file for an EORI# if their incoming goods are only transiting through the EU.\\nEconomic Operators that are not based in the EU but are selling goods to / exporting goods to the EU must NOT file for an EORI#.\\nThe format of an EORI# should be 2 letters followed by up to 15 alphanumeric characters(e.g.: DE123456789012345).\\nAs the EORI# is not applicable to Switzerland, Norway and Northern Ireland, please enter the identification number(like the local Tax ID) as the EORI#.',\r\n msgCityRequired: \"Please input City\",\r\n msgStateRequired: \"Please input State with length equal to 2\",\r\n msgIncorrectStateFormat: 'State format not correct',\r\n msgZipRequired: \"Please input Zip\",\r\n msgIncorrectZipFormat: 'Zip format not correct',\r\n lblCityPlaceHolder: \"City\",\r\n lblStatePlaceHolder: \"State\",\r\n lblZipPlaceHolder: \"Zip\",\r\n lblCountry: \"Country\",\r\n msgCountryRequired: \"Please input Country\",\r\n lblCountryPlaceHolder: \"Country\",\r\n lblCountryOfOrigin: \"Country of Origin\",\r\n msgCountryOfOriginRequired: \"Please input Country of Origin\",\r\n lblCountryOfOriginPlaceHolder: \"Country of Origin\",\r\n lblHTSCode: \"HTS Code\",\r\n msgHTSCodeRequired: \"Please input HTS Code\",\r\n lblHTSCodePlaceHolder: \"HTS Code\",\r\n lblAddISFCompany: \"Add a {{type}}\",\r\n lblRemoveISFCompany: \"Delete this {{type}}\",\r\n lbModeOfTransportation: 'Mode of Transportation',\r\n lbBookingPOL: 'Booking POL',\r\n lbBookingPOD: 'Booking POD',\r\n lbBookingFD: 'Booking FD',\r\n lbBookingDate: 'Booking Date',\r\n lbExpectedCargoReadyDate: 'Expected Cargo Ready Date',\r\n lbETD: 'ETD',\r\n lbPODETA: 'POD ETA',\r\n lbFilingType: 'Filing Type',\r\n lbFilingTypeTooltip: 'Tick below checkbox to select filing type require to send EDI to Tradetech and Customs. Please ensure Job No. is assisgned to trigger EDI',\r\n colSoNo: \"SO#\",\r\n colPoNo: \"PO#\",\r\n colModeOfTransport: \"Mode of Transport\",\r\n colBookingType: \"Booking Type\",\r\n colDocumentUploaded: \"Document Uploaded\",\r\n colHblNo: 'HBL#',\r\n colJobNo: 'Job#',\r\n colHandleBy: 'Handle by',\r\n colShipper: 'Shipper',\r\n colShipperMaster: 'Shipper (Master)',\r\n colConsignee: 'Consignee',\r\n colConsigneeMaster: 'Consignee (Master)',\r\n colConsigneeCode: 'Consignee Code',\r\n colReleaseAgent: 'Release Agent',\r\n colNominationAgent: 'Nomination Agent',\r\n colBookingDate: 'Booking Date',\r\n colExFactoryDate: 'Ex-factory Date',\r\n colEarliestShipDate: 'Earliest Ship Date',\r\n colLatestShipDate: 'Latest Ship Date',\r\n colPortOfDischargeETA: 'POD ETA',\r\n colBookingStatus: 'Booking Status',\r\n colBookingStatusDate: 'Booking Status Date',\r\n colStatusHistoryDate: 'Status History Date',\r\n colBookingApprovalStatus: 'Booking Approval Status',\r\n colBookingApprovalStatusDate: 'Booking Approval Status Date',\r\n colCargoReadyDate: 'Cargo Ready Date',\r\n colContainerNo: 'Container #',\r\n colContainerSize: 'Container Size',\r\n colContainerKgs: 'Container G.W. (KG)',\r\n colContainerCBM: 'Container CBM',\r\n colPOLineNo: 'Line#',\r\n colTransportModeCode: 'Mode of Transportation',\r\n colFD: 'FD',\r\n colFDCountry: 'FD Country',\r\n colFDETA: 'FD ETA',\r\n colEmptyPickupDate: 'Empty Pickup Date',\r\n colCFSReceivedDate: 'CFS Received Date',\r\n colGateInPOLDate: 'Gate In (POL) Date',\r\n colLoadedPOLDate: 'Loaded (POL) Date',\r\n colDepartedPOLDate: 'Departed (POL) Date',\r\n colDischargedPODDate: 'Discharged (POD) Date',\r\n colGateOutPODDate: 'Gate Out (POD) Date',\r\n colArrivedPODDate: 'Arrived (POD) Date',\r\n colEmptyReturnedDate: 'Empty Returned Date',\r\n colUpdatedETAPODDate: 'Updated ETA (POD) Date',\r\n colUpdatedETAFDDate: 'Updated ETA (FD) Date',\r\n colShipToName: 'Ship To',\r\n colDepartment: 'Department',\r\n colBuyerReference: 'Buyer Reference',\r\n colSupplierReference: 'Supplier Reference',\r\n colOtherReference: 'Other Reference',\r\n colBuyerContactEmail: 'Buyer Email',\r\n colFeederVessel: 'Feeder Vessel',\r\n colFeederVoyage: 'Feeder Voyage',\r\n colItemNo: 'Item #',\r\n colStyleDescription: 'Style Description',\r\n colItemQty: 'Item Qty',\r\n colOrderQty: 'Order Qty',\r\n colBalanceQty: 'Balance Qty',\r\n colGW: 'G.W. (KG)',\r\n colNAgentCode: 'Nomination Agent Code',\r\n colNotifyParty: 'Notify Party',\r\n colNotifyPartyMaster: 'Notify Party (Master)',\r\n colNotifyPartyCode: 'Notify Party Code',\r\n colHandlingOffice: 'Handling Office',\r\n colHandlingOfficeCode: 'Handling Office Code',\r\n colPld: 'PLD',\r\n colRAgentCode: 'Release Agent Code',\r\n colShipperCode: 'Shipper Code',\r\n colSalesmanCode: 'Salesman Code',\r\n colConsolidatable: 'Can be Consol',\r\n colConsolNo: 'Consol#',\r\n colCBM: 'CBM',\r\n colCartonDimemsion: 'Carton Dimension',\r\n colKG: 'KG',\r\n colPackageQty: 'Package Qty',\r\n colDangerousGoods: 'Dangerous Goods?',\r\n colPol: 'POL',\r\n colEtd: 'ETD',\r\n colPod: 'POD',\r\n colPodEta: 'POD ETA',\r\n colCustomer: 'Customer',\r\n colTradelane: 'Tradelane',\r\n colBookingCreatedBy: 'Booking Created By',\r\n colBookingUpdatedBy: 'Booking Updated By',\r\n colBookingLastUpdatedTime: 'Booking Last Updated Time',\r\n colBookingApprovalReason: 'Booking Approval Reason',\r\n colBookingApprovalRemarks: 'Booking Approval Remarks',\r\n colBookingApprovalUpdatedBy: 'Booking Approval Updated By',\r\n colProposedSailingOption: 'Proposed Sailing Option',\r\n colMotherVesselName: 'Vessel',\r\n colMotherVoyageCode: 'Voyage',\r\n colShipperReference: 'Shipper Reference',\r\n colConsigneeReference: 'Consignee Reference',\r\n colAgentReference: 'Agent Reference',\r\n colMRReference: 'M+R Reference',\r\n colLatestStatus: 'Latest Status',\r\n colStatusHistory: 'Status History',\r\n colCarrier: 'Carrier',\r\n colCarrierService: 'Carrier Service',\r\n colBookingApprovalUpdatedByProfile: 'Booking Approval Updated By Profile',\r\n colSpaceStatus: 'Space Status',\r\n colSailingDetails: 'Sailing Details',\r\n colSailingOptionNo: 'Sailing Option No.',\r\n colVessel: 'Vessel',\r\n colVoyage: 'Voyage',\r\n colContractType: 'Contract Type',\r\n colContractNo: 'Contract No.',\r\n colCarrierBookingStatus: 'Carrier Booking Status',\r\n colStatusDate: 'Status Date',\r\n colBookingCondition: 'Booking Condition',\r\n colUpdatedDatetime: 'Updated Datetime',\r\n colUpdatedBy: 'Updated By',\r\n miReactivateBooking: \"Recover Booking\",\r\n msgSureToReactivateBooking: \"Are you sure you want to recover the booking?\",\r\n miAcknowledgeCancelBooking: \"Acknowledge Cancel\",\r\n msgSureToAcknowledgeCancelBooking: \"Are you sure you want to acknowledge the cancellation request?\",\r\n miRejectCancelBooking: \"Reject Cancel\",\r\n msgSureToRejectCancelBooking: \"Are you sure you want to reject the cancellation request?\",\r\n miCancelBooking: \"Cancel Booking\",\r\n msgSureToCancelBooking: \"Are you sure you want to cancel the booking?\",\r\n miCancelSI: \"Reverse House SI\",\r\n msgSureToCancelSI: \"Are you sure you want to Reverse House SI?\",\r\n msgRemoveJobBeforeReverseSI: \"Please remove Job/Order/Container in OPS before Reverse House SI\",\r\n lblBookingApproval: \"Booking Approval\",\r\n lbHouseDoc: 'House Doc',\r\n msgSOAdviceError: 'Status \\'Booking Advice\\' is not applicable to the Booking as there is more than 1 proposed sailing. Please select \"Approved\" as the approval status and select one sailing option as the approved sailing.',\r\n colRemarks: \"Remarks\",\r\n colRemarkType: \"Remark Type\",\r\n colVisibleTo: \"Visible To\",\r\n colApprovalStatus: \"Approval Status\",\r\n lbApprovalStatus: \"Approval Status\",\r\n lbApprovalStatusTooltip: \"Request For Approval: M+R OP use it to request for approval by agent/ consignee\\nBooking Advice: No approval is required for the booking\\nPending Customer's Approval: Customer use it to indicate that approval is pending\\nApproved: Customer use it to indicate that approval is given\\nRejected: Customer use it to indicate that the request for approval is rejected\",\r\n lbNewRemarks: \"New Remarks\",\r\n lbVisibleTo: \"Visible To\",\r\n lbReasons: \"Reasons\",\r\n cbSendEmailNotifyTo: \"Send Email Notification To\",\r\n msgAddBookingApprovalSuccess: \"Add Booking Approval Successfully\",\r\n msgAddBookingApprovalFail: \"Fail to add Booking Approval\",\r\n lbSONo: \"SO#\",\r\n lbHBLNo: \"HBL#\",\r\n lbTrader: \"Trader\",\r\n lbNotifyParty: \"Notify Party\",\r\n lbNotifyPartyToolTip: \"The Notify Party will receive copies of the shipping advice and/or arrivel notice from the receiving cargo agent at the destination. Other than for informational purpose, the Notify Party does not have any rights to the shipment.\\n\\nIf there is no Notify Party specified, it is customary that \\\"SAME AS CONSIGNEE\\\" will be shown on the BL rather than leaving it blank.\",\r\n lbSameAsConsignee: \"Same as Consignee\",\r\n lbSameAsConsigneeToolTip: \"The Notify Party will receive copies of the shipping advice and/or arrivel notice from the receiving cargo agent at the destination. Other than for informational purpose, the Notify Party does not have any rights to the shipment.\\n\\nIf there is no Notify Party specified, it is customary that \\\"SAME AS CONSIGNEE\\\" will be shown on the BL rather than leaving it blank.\",\r\n msgToOrderWarning: \"Warning: Having \\\"To Order [blank]\\\" as the consignee on the BL is highly not recommended given the inherent risk in the case of any loss of \\\"originals\\\" in the document delivery. Please consult the shipper to avoid having this instruction.\",\r\n lbHandlingOffice: \"Handling Office\",\r\n msgHandlingOfficeRequired: \"Please select a Handling Office\",\r\n lbContact: \"Contact\",\r\n lbContactPhone: \"Phone\",\r\n lbPOR: \"POR\",\r\n lbPOL: \"POL\",\r\n lbPOD: \"POD\",\r\n lbPLD: \"PLD\",\r\n lbPOLEtd: \"POL ETD\",\r\n lbPLDEta: \"PLD ETA\",\r\n lbShipMode: 'Ship Mode',\r\n lbShipModeTooltip: 'The ship mode used from Port of Discharge (POD) to Place of Delivery (PLD)',\r\n lbFD: \"FD\",\r\n lbFDEta: \"FD ETA\",\r\n lbPOAllowableETDrange: 'PO Allowable ETD range',\r\n lbSpaceStatus: 'Space Status',\r\n msgSpaceStatusRequired: 'Please select Space Status',\r\n msgSpaceStatusSORelease: 'The Space Status must be Released SO in order to perform \"House SI Submitted\"',\r\n msgSelectCarrierBookingRequired: 'Please select a Carrier Booking',\r\n msgSelectNonTBCSailing: 'Please select a non-TBC Sailing when the Space Status is Released SO',\r\n msgSelectCarrierBooking: 'Please fill in the Selected Record when the Space Status is Released SO',\r\n msgCarrierSOReleaseDateRequired: 'Carrier SO Release Date required',\r\n msgRejectReasonRequired: 'Reject Reason required',\r\n msgCancelReasonRequired: 'Cancel Reason required',\r\n msgContractTypeRequired: 'Please select a contract type',\r\n lbSelectedSailingOption: 'Selected Sailing Option',\r\n msgSailingOptionRequired: 'Please select Sailing Option',\r\n lbSelectedRecord: 'Selected Record',\r\n lbCargoReadyDate: \"Cargo Ready Date\",\r\n lbContractType: \"Contract Type\",\r\n lbContractNo: \"Contract No.\",\r\n msgInvalidEmail: \"Invalid email\",\r\n msgEmptyRemark: \"Please enter remark details or close the remark\",\r\n msgFillRequire: \"Please fill in the required column(s)\",\r\n msgEmptyRemarkType: \"Please enter New Remarks for {{i}} remark\",\r\n msgUserContactEmailSuccess: \"{{email}} is deleted successfully\",\r\n msgUserContactEmailFail: \"Fail to delete {{email}}\",\r\n lbWarehouse: \"Warehouse (LCL)\",\r\n lbWarehouseSONo: \"Warehouse SO No.\",\r\n msgWarningEditBookingApproval: \"Please save the existing booking or cancel edit before performing Booking Approval\",\r\n msgWarningEditHouseDoc: \"Please save the existing booking or cancel edit before performing House Doc\",\r\n msgDeleteISFProfileSuccess: \"Deleted successfully\",\r\n msgDeleteISFProfileFail: \"Delete fail\",\r\n msgFillInRequiredTabFields: \"Please revise highlighted tab(s)\",\r\n msgConfirmAcceptChangeMsg: 'Accept changes will replace all containers, and all allocation between PO and containers will be deleted. Are you sure to continue?',\r\n colDefaultAgentCode: 'Code',\r\n colDefaultAgentName: 'Name',\r\n colDefaultAgentIsAutoFill: 'Default',\r\n colDefaultAgentDescription: 'Description',\r\n lblDefaultAgentConsigneeCode: 'Consignee Code',\r\n lblDefaultAgentCustomer: 'Customer',\r\n lblDefaultNominationAgentCode: 'Related Nomination Agent Codes',\r\n lblDefaultReleaseAgentCode: 'Related Release Agent Codes',\r\n polCfsClosingRequired: 'Please input CFS',\r\n polCyClosingRequired: 'Please input CY',\r\n polVgmClosingRequired: 'Please input VGM',\r\n polSiClosingRequired: 'Please input SI',\r\n msgSendEmailPopup: \"Booking Number {{so_no}} will be saved. Do you want to send a BMS booking email notification to shipper, booking cc email and M+R OP?\",\r\n msgSendCancelEmailPopup: \"Booking Number(s) {{so_no}} have been confirmed before and will be cancelled. Do you want to send a BMS booking email notification to shipper, booking cc email and M+R OP?\",\r\n lbConfirmSendEmail: \"Yes & Save the Change\",\r\n lbConfirmNotSendEmail: \"No & Save the Change\",\r\n lbConfirmSendCancelEmail: \"Yes & Cancel the Bookings\",\r\n lbConfirmNotSendCancelEmail: \"No & Cancel the Bookings\",\r\n lblSOStatus: \"Status\",\r\n pnlStatusHistory: \"Status History\",\r\n colSOStatus: \"Status\",\r\n colSOStatusAction: \"Action\",\r\n colSOStatusRemark: \"Remark\",\r\n colSOStatusUser: \"User\",\r\n colSOStatusUpdatedTime: \"Updated Time\",\r\n msgIncorrectExFactoryDate: \"The Ex-Factory Date of Container# {{container_no}} must NOT be earlier than Cargo Ready Date ({{cargo_ready_date}})\",\r\n msgMissingExFactoryDate: \"Please enter the Ex-Factory Date for Container# {{container_no}}\",\r\n msgMissingSealNO: \"Please enter the Seal# for Container# {{container_no}}\",\r\n msgMissingCarrierSONO: \"Please enter the Carrier Booking# for Container# {{container_no}}\",\r\n msgMissingPackageQTY: \"Please enter the Package QTY for Container# {{container_no}}\",\r\n msgExceedsGW: \"Container #{{container_no}}: The difference between allocated GW ({{allocatedGW}}) and entered in container GW ({{containerGW}}) cannot exceeds 1\",\r\n msgExceedsCBM: \"Container #{{container_no}}: The difference between allocated CBM ({{allocatedCBM}}) and entered in container CBM ({{containerCBM}}) cannot exceeds 1\",\r\n msgPOAlloExceedsQty: \"PO#{{po_no}} Item#{{item_no}} {{field_name}} has {{allocated_qty}}{{unit}} in Container Details but only {{qty}}{{unit}} in PO Details.\",\r\n msgResendEmailSuccess: \"Resend S/O Sheet by email successfully\",\r\n lbCopyToMenufacturer: \"Copy to Manufacturer\",\r\n lbCopyToContainerStuffingLocation: \"Copy to Container Stuffing Location\",\r\n lbCopyToShipTo: \"Copy to Ship To\",\r\n lbCopyFromConsignee: \"Copy from Consignee\",\r\n lbCopyToConsolidator: \"Copy to Consolidator\",\r\n lbShowFullHDOffice: \"Show Full List Handling Office\",\r\n msgLCLContainerAmountNotPass: \"The 'Package Qty', 'G.W. (KG)' and 'CBM' of Container Line [#] should not be zero at the same time. If these 3 fields are zero, please delete this Container Line in order to save the change.\",\r\n msgETDLaterThanCargoReadyDate: \"ETD should be later than the Cargo Ready Date. Please check and amend the ETD and/ or the Cargo Ready Date\",\r\n msgCYGateInDateEarlierThanPOL: 'CY Gate-in Date must be equal to/ eariler than ETD.',\r\n msgCFSRecvDateEarlierThanPOL: 'CFS Recevied Date must be equal to/ eariler than ETD.',\r\n msgCYGateInDateEarlierThanCFSRecvDate: 'CFS Recevied Date must be equal to/ eariler than CY Gate-in Date (within the same container).',\r\n msgETDMoreThan14Days: \"ETD is more than 14 days after Cargo Ready Date. Please check the ETD and the Cargo Ready Date. Click \\\"OK\\\" to continue\",\r\n msgContactPersonRequired: \"Please input the Contact Person\",\r\n msgContactEmailRequired: \"Please input Contact Email\",\r\n msgNotifyPartyRequired: \"Please select a Notify Party\",\r\n msgNotifyPartyAddressRequired: \"Please input Notify Party Address\",\r\n msgNotifyPartyCityRequired: \"Please input Notify Party City\",\r\n msgPORRequired: \"Please select a Port of Receipt at origin\",\r\n msgPORHBLRequired: \"Please enter Port of Receipt at origin in HBL\",\r\n msgTotalPkgQtyRequired: \"Please enter Total Package Qty\",\r\n msgPkgUnitRequired: \"Please enter Package Qty Unit\",\r\n msgTotalCBMRequired: \"Please enter Total CBM\",\r\n msgTotalKGRequired: \"Please enter Total KG\",\r\n msgMarksAndNoRequired: \"Please enter Marks & No\",\r\n msgGoodsDescRequired: \"Please enter Goods Description\",\r\n msgCommodityRequired: \"Please select a Commodity\",\r\n msgDangerousGoodsRequired: \"Please choose if it contains Dangerous Goods\",\r\n msgUNNoRequired: \"Please input UN Number\",\r\n msgOtherCommodityRequired: 'Please specify Other Commodity',\r\n msgCargoReadyDateRequired: \"Please select the Cargo Ready Date\",\r\n msgIncotermsRequired: \"Please select Incoterms\",\r\n msgIncotermsLocaionRequired: \"Please enter Incoterms Location\",\r\n msgIncotermsLocaionNotAlign: 'The Incoterms Location does not seem to be aligned with the routing locations.',\r\n msgFreightRequired: \"Please choose Collect or Prepaid\",\r\n msgPrepaidUptoRequired: \"Please enter Prepaid Upto\",\r\n lbNoOfOriginal: 'No. of Original',\r\n lbTransportDoc: 'Transport Document',\r\n lbTransportDocTooltip: 'When the Main House Doc is assigned in the \"House Doc\" workspace, this field refers to the Main House Doc\\'s type.\\nTo update the Transport Document, please update the Main House Doc\\'s type.',\r\n msgTransDocRequired: \"Please select a Transport Document\",\r\n msgNoOfOriginalRequired: \"Please input the No of Original\",\r\n msgHBLOfficeRequired: \"Please select a HBL Issued Office\",\r\n lblConsolidatable: \"Can be Consol\",\r\n msgConsolidatableRequired: \"Please select whether this shipment can be consol\",\r\n lblConsolidatableTooltip: \"Yes - plan to build a consol\\nNo - will not be consol\",\r\n lbAllowSwitchHouseDoc: \"Allow Switch House Doc\",\r\n msgNotAllowLCLContainer: \"Please remove Container Size 'LCL' from Container Cargo section in the Details tab because the Service is not LCL\",\r\n msgBookingActionSuccess: \"Booking Number {{sono}} is {{action}} successfully. {{send_email}}\",\r\n msgHBLDrafted: 'HBL drafted',\r\n msgHBLPrinted: 'HBL printed',\r\n msgSendEmailSuccess: \"Email notification has been sent to shipper, booking cc email address and OP successfully.\",\r\n autoUpdateTooltip: \"To auto recalculate and update the Cut-off dates (For Shipper) when there is any change to the Cut-off dates (From Carrier) to this sailing.\",\r\n msgTransDocNoOfOriginalNotMatch: \"Transport Document and No. of Original not match. Please edit either one field.\",\r\n autoUpdatePLDFDTooltip: \"To auto recalculate and update PLD ETA and FD ETA when there is any change in POD ETA of this sailing.\",\r\n lbToOrder: \"To Order Of\",\r\n lbToOrderToolTip: \"If the BL is consigned \\\"TO ORDER OF [consignee name]\\\", the consignee can endorse the BL and transfer the rights to the goods represented by the BL to someone else, effectively showing a new consignee. This is typically used if a shipment is covered by a Letter of Credit which requires the BL to be issued \\\"TO ORDER OF [BANK XYZ]\\\".\\n\\nHaving “To Order [blank]” as the consignee on the BL is highly not recommended given the inherent risk in the case of any loss of “originals” in the document delivery.\",\r\n msgMissingTypeOfEntry: 'Please select a {{type}} Type Of Entry',\r\n msgSelectSailingSchedule: 'Please select from \"Proposed Sailing for Booking\"',\r\n msgSelectRate: 'Please select a rate to approve. If there is any question, please contact BMS support.',\r\n msgMissingLCLContainer: \"There should be at least 1 LCL Container Size for LCL service\",\r\n msgMissingField: \"Please enter the following field(s)\",\r\n msgPLDETARequired: \"Please select the PLD ETA\",\r\n msgInvalidPLDETA: 'PLD ETA should be later than or equal to POD ETA, and earlier than or equal to FD ETA',\r\n msgInvalidRateContainerHeader: 'The container size of the selected rate option is different with the booking details. Please revise the container size in booking details or select another rate for this container size.',\r\n msgInvalidRateContainerContent: '{{type}}: {{container_sizes_content}}',\r\n msgInvalidRateContainerContent2: 'Rate {{rate_container_sizes_content}}',\r\n msgInvalidRate: 'Invalid rate in selected sailing option. Please refresh or remove the rate and try again.',\r\n msgMissingRateContainerSelect: 'Please add rates for at least one container size.',\r\n msgFDETARequired: \"Please select the FD ETA\",\r\n msgInvalidFDETA: 'FD ETA should be later than or equal to both POD ETA and PLD ETA',\r\n msgMobileSiteNotFound: \"Please set the Mobile Site in configuration\",\r\n msgInvalidUser: \"Invalid User. Please login again and try again.\",\r\n msgAddTokenFail: \"Add Token failed. Please try again.\",\r\n viewShipmentStatus: \"Click to view shipment status.\",\r\n viewSailingScheduleDetails: \"Click to view sailing schedule details.\",\r\n msgSONotExistsInMobile: \"Shipment status not yet available\",\r\n lbCopyFromConsignee: \"Copy from Consignee\",\r\n lbIncludeFullHistory: \"Include Full History\",\r\n lbIncludeVessel: \"Include Vessel\",\r\n lbIncludePricing: \"Include Pricing\",\r\n lbIncludeRates: \"Include Rates\",\r\n lbSendEmailToTooltip: \"By default, the system automatically sends a daily summary of all relevant communications to the recipient based on the recipient's own preference. By clicking this option, the system will send an additional instant email to specially alert the recipient of this communication. Please only select this option if special attention is needed!\",\r\n lbIncludeFullHistoryTooltip: \"Check to include the full approval communication history in this instant email notification. Please also check and select the correct Visible To.\",\r\n lbIncludePricingTooltip: \"Check to include \\\"Pricing\\\" remarks in this instant email notification. Please take extra precaution when selecting this option to avoid disclosing confidential information undesirably!\",\r\n lbVisibleToConfigTooltip: 'Check to include the remarks to be included in this instant email notification. Please take extra precaution when selecting this option to avoid disclosing confidential information undesirably.',\r\n lbIncludeVesselTooltip: \"Check to include the vessel in this instant email notification. Vessel is excluded if \\\"Include Vessel\\\" is not checked.\",\r\n lbIncludeRatesTooltip: \"Check to include total rate per container in this instant email notification. Please take extra precaution when selecting this option to avoid disclosing confidential information undesirably!\",\r\n msgDelContainerInSI: \"Please delete container in Shipment Instruction.\",\r\n smartSearchTooltip: \"Enter SO#, PO#, Consignee or HBL# to search. Click the Customized Filter for advance searching.\\n\\nOnce you entered the keyword in this field, you could click 'Tab' and then press 'Enter' to perform searching.\",\r\n lbTEU: \"TEU\",\r\n lbSailingSelectedInBookings: \"Sailing selected in bookings\",\r\n lbSailingSelectedInBookingsHover: 'Turn on this option to limit the search only for sailings which are used in other booking.', \r\n msgRestorePrevSearchCriteria: \"The previous search criteria has been restored.\",\r\n msgEmptyPartyCode: \"{{party_type}} code is empty, please enter {{party_type}} code before confirming booking or submitting SI\",\r\n msgPartyStatusNotActive: \"{{party_type}} status is not active, please active {{party_type}} status before confirming booking or submitting SI\",\r\n msgWarnTBCContainers: \"{{container_no}} temporary Container#, please update the Container# in BMS when available.\",\r\n lbToBeTelexRelease: \"To-be telex release\",\r\n lbMasterFreight: \"Master Freight\",\r\n lbMasterFreightTooltip: \"Carrier / Co-loader Freight\",\r\n msgMasterFreightRequired: \"Please select a master freight\",\r\n lbMasterFreightPlaceholder: \"Select Master Freight\",\r\n lbCarrierMBLNo: \"Carrier MBL No.\",\r\n lbCarrierMBLNoPlaceholder: \"Enter Carrier MBL No.\",\r\n msgCarrierMBLNoRequired: \"Please enter Carrier MBL No.\",\r\n lbOceanFreightRemarks: 'Ocean Freight Remarks',\r\n lbColoaderBLNo: \"Co-loader BL No.\",\r\n lbColoaderBLNoPlaceholder: \"Enter Co-loader BL No.\",\r\n msgMissingPONO: \"Please enter PO#\",\r\n lbSearchSailing: 'Search Sailing',\r\n lbCreateSailing: 'Create Manual Sailing',\r\n lbExternalContractType: 'External Contract Type',\r\n lbExternalContractNo: 'External Contract No',\r\n lbInternalContractType: 'Internal Contract Type',\r\n lbInternalContractNo: 'Internal Contract No',\r\n lbInternalContract: 'Internal Contract',\r\n lbInternalContractTooltip: 'Switch it on when our internal contract type that we sign with carrier is not the same as the external contract type that the we informed agent/agent informed consignee. The \"Internal Contract Type/ No.\" are visible to M+R internal users only',\r\n msgWarningHBLNameNotAlign: 'Name in HBL ({{hbl_name}}) doesn\\'t align with the selected {{party_type}} code. Please make sure to select a correct {{party_type}} code.',\r\n lbDisposalOfCns: 'at the disposal of the consignee',\r\n lbForwardToCns: 'to be forwarded to the consignee',\r\n lbPrecarriageBy: 'Precarriage by',\r\n lbOceanVessel: 'Ocean Vessel',\r\n lbPlaceOfReceipt: 'Place of Receipt',\r\n lbPortOfLoading: 'Port of Loading',\r\n lbPortOfDischarge: 'Port of Discharge',\r\n lbPlaceOfDelivery: 'Place of Delivery',\r\n lbFreightPayableAt: 'Freight payable at',\r\n lbNoOfOriginalBL: 'No. of original Bs/L',\r\n lbMarksAndNo: 'Marks and nos.',\r\n lbNoAndKindOfPackages: 'No.and kind of packages',\r\n lbGoodsDescription: 'Description of goods',\r\n lbVolume: 'Volume / Measurements',\r\n lbUpto: 'UP TO',\r\n lbShippedOnBoard: 'SHIPPED ON BOARD',\r\n lbCargoReceived: 'CARGO RECEIVED',\r\n lbIntendedVesselRouting: 'INTENDED VESSEL & ROUTING',\r\n msgWarningRemarkExceedMaxImageSize: 'Image size cannot exceed {{maxImageSize}} MB.',\r\n msgWarningRemarkExceedMaxHTMLTextSize: 'Total size cannot exceed {{maxHTMLTextSize}} MB.',\r\n msgFinalWarningRemarkExceedMaxHTMLTextSize: 'Total Remark size (current: {{currentHTMLTextSize}}MB) cannot exceed {{maxHTMLTextSize}} MB. Please remove image(s).',\r\n msgRemarkExceedMaxTextLength: 'Total Remark length (current: {{currentTextLength}} characters) cannot exceed {{maxTextLength}} characters.',\r\n phRemarkbraftEditor: 'Please type your remarks or paste your screenshot here.',\r\n msgMissingENSBuyerName: 'Missing ENS Buyer Name',\r\n msgMissingENSBuyerAddress1: 'Missing ENS Buyer Address 1',\r\n msgMissingENSBuyerCity: 'Missing ENS Buyer City',\r\n msgMissingENSBuyerCountry: 'Missing ENS Buyer Country / Region',\r\n msgMissingENSBuyerPhone: 'Missing ENS Buyer Phone',\r\n msgMissingENSBuyerEmail: 'Missing ENS Buyer E-mail',\r\n msgMissingENSBuyerEORINo: 'Missing ENS Buyer EORI No',\r\n msgMissingENSSellerName: 'Missing ENS Seller Name',\r\n msgMissingENSSellerAddress1: 'Missing ENS Seller Address 1',\r\n msgMissingENSSellerCity: 'Missing ENS Seller City',\r\n msgMissingENSSellerCountry: 'Missing ENS Seller Country / Region',\r\n msgMissingENSSellerPhone: 'Missing ENS Seller Phone',\r\n msgMissingENSSellerEmail: 'Missing ENS Seller E-mail',\r\n msgMissingENSSellerEORINo: 'Missing ENS Seller EORI No',\r\n msgConfirmHideAddress: 'By default, the House Doc should always include the \\'Shipper Address\\' and \\'Consignee Address\\'.\\n\\nIf the shipper strongly refuses to have the \\'Shipper Address\\' and / or \\'Consignee Address\\' on the House Doc, M+ R should request the shipper to sign a Letter of Indemnity(LOI) in which they must provide their full company name and address.The decision to accept the shipper\\'s request should be made by the M+R Manager.\\n\\nPlease click \\'OK\\' to acknowledge this warning.To apply this change, you will need to print a new Draft / Official House Doc in order to remove the \\'Address\\' from the House Doc printout.',\r\n lblBookingConditionToolTip: \"Protected: Space secured, not likely to roll.\\nNormal: Carrier does not specify whether the space is subject to roll or protected.\\nSubject to Roll: If rollover happens, OP should select \\\"Subject to Roll\\\" in the carrier booking of the original sailing and carry forward the carrier booking to the new sailing.\",\r\n lblCopyFromSONo: \"Copy from SO#\",\r\n msgCopyFromSONoRequired: \"Please enter SO# to search Carrier Booking\",\r\n lblCopyFromConsol: \"Copy from Consol#\",\r\n msgCopyFromConsolRequired: \"Please enter Consol# to search Carrier Booking\",\r\n lblCopyCarrierBookingRecord: \"Copy Carrier Booking\",\r\n msgInvalidBuyerEORI: \"Incorrect Buyer EORI No. format\",\r\n msgInvalidSellerEORI: \"Incorrect Seller EORI No. format\",\r\n msgInvalidConsigneeEORI: \"Incorrect Consignee EORI No. format\",\r\n msgInvalidPhone: \"{{party_name}} Phone number for ENS submission - Please include Country Code starts with \\\"+\\\" without space and symbol. e.g. +861234567890 for a China (+86) Phone number.\",\r\n lbProjectedETD: 'Projected ETD',\r\n msgProjectedETD: 'You can assign a Job#/HBL# for a TBC Sailing Schedule shipment if there is an urgent need (e.g.: you must issue an invoice immediately). The \"Projected ETD\" will be used to determine the Job Month on the Job# and the running sequence on the HBL#.',\r\n msgProjectedETD2: 'Enter a Projected ETD for TBC Sailing Schedule to overwrite the ETD of TBC Sailing Schedule (last day of next month)',\r\n msgInvalidTickFilingType: 'Please assign a Job# in the House Doc workspace / Consol Plan first',\r\n megErrorMCLM:'When \"AMS handled by third party\" is ticked, the \"AMS SCAC\" could not be MCLM.',\r\n },\r\n lbSOColorDesc: {\r\n newEBookgingRed: \"Pending for confirmation more than 18 hours\",\r\n newEBookgingYellow: \"Pending for confirmation more than 8 hours\",\r\n newEBookgingGreen: \"Pending for confirmation\",\r\n amendEBookgingRed: \"Pending for confirmation more than 18 hours\",\r\n amendEBookgingYellow: \"Pending for confirmation more than 8 hours\",\r\n amendEBookgingGreen: \"Pending for confirmation\",\r\n cancelEBookgingRed: \"Pending for acknowledgement more than 18 hours\",\r\n cancelEBookgingYellow: \"Pending for acknowledgement more than 8 hours\",\r\n cancelEBookgingGreen: \"Pending for acknowledgement\",\r\n newManualBookgingRed: \"Pending for acknowledgement more than 18 hours\",\r\n newManualBookgingYellow: \"Pending for acknowledgement more than 8 hours\",\r\n newManualBookgingGreen: \"Pending for acknowledgement\",\r\n confirmBookingRed: \"Confirmed Booking pending for booking approval for more than 2 days\",\r\n confirmBookingYellow: \"Confirmed Booking pending for booking approval for more than 1 day\",\r\n confirmBookingGreen: \"Confirmed Booking pending for booking approval\",\r\n pendingSIRed: \"Pending for submit SI more than 7 days\",\r\n pendingSIYellow: \"Pending for submit SI more than 5 days\",\r\n pendingSIGreen: \"Pending for submit SI\",\r\n requestForApprovalRed: \"Pending on requesting for approval more than 2 days\",\r\n requestForApprovalYellow: \"Pending on requesting for approval more than 1 day\",\r\n requestForApprovalGreen: \"Pending on requesting for approval\",\r\n pendingForCustomerApprovalRed: \"Pending on getting customer approval more than 2 days\",\r\n pendingForCustomerApprovalYellow: \"Pending on getting customer approval more than 1 days\",\r\n pendingForCustomerApprovalGreen: \"Pending on getting customer approval\",\r\n bookingRejectedRed: \"Booking was rejected more than 1 day\",\r\n bookingRejectedYellow: \"Booking was rejected\",\r\n bookingApprovedGreen: \"Booking was approved\",\r\n },\r\n lbConsolColorDesc: {\r\n newConsolidationRed: \"Pending for confirmation more than 18 hours\",\r\n newConsolidationYellow: \"Pending for confirmation more than 8 hours\",\r\n newConsolidationGreen: \"Pending for confirmation\",\r\n amendConsolidationRed: \"Pending for confirmation more than 18 hours\",\r\n amendConsolidationYellow: \"Pending for confirmation more than 8 hours\",\r\n amendConsolidationGreen: \"Pending for confirmation\",\r\n cancelConsolidationRed: \"Pending for acknowledgement more than 18 hours\",\r\n cancelConsolidationYellow: \"Pending for acknowledgement more than 8 hours\",\r\n cancelConsolidationGreen: \"Pending for acknowledgement\",\r\n newManualConsolidationRed: \"Pending for acknowledgement more than 18 hours\",\r\n newManualConsolidationYellow: \"Pending for acknowledgement more than 8 hours\",\r\n newManualConsolidationGreen: \"Pending for acknowledgement\",\r\n confirmConsolidationRed: \"Confirmed consolidation pending for consol approval for more than 2 days\",\r\n confirmConsolidationYellow: \"Confirmed consolidation pending for consol approval for more than 1 day\",\r\n confirmConsolidationGreen: \"Confirmed consolidation pending for consol approval\",\r\n requestForApprovalRed: \"Pending on requesting for approval more than 2 days\",\r\n requestForApprovalYellow: \"Pending on requesting for approval more than 1 day\",\r\n requestForApprovalGreen: \"Pending on requesting for approval\",\r\n pendingForCustomerApprovalRed: \"Pending on getting customer approval more than 2 days\",\r\n pendingForCustomerApprovalYellow: \"Pending on getting customer approval more than 1 days\",\r\n pendingForCustomerApprovalGreen: \"Pending on getting customer approval\",\r\n consolidationRejectedRed: \"Consolidation was rejected more than 1 day\",\r\n consolidationRejectedYellow: \"Consolidation was rejected\",\r\n amendedBookingPendingRed: \"Amended booking pending for more than 2 days\",\r\n amendedBookingPendingYellow: \"Amended booking pending for more than 1 days\",\r\n amendedBookingPendingGreen: \"Amended booking pending\",\r\n loadPlanPendingAllocationRed: \"Pending for allocation less than 3 days before ETD\",\r\n loadPlanPendingAllocationYellow: \"Pending for allocation less than 7 days before ETD\",\r\n loadPlanPendingAllocationGreen: \"Pending for allocation\",\r\n consolidationApprovedGreen: \"Consolidation was approved\"\r\n },\r\n lbParty: \"Party\",\r\n lbPartyID: \"Party ID\",\r\n lbPartyCode: \"Party Code\",\r\n lbOtherCode: \"Other Code\",\r\n lbPartyType: \"Party Type\",\r\n lbPartyTypeRequired: \"Please select a Party Type\",\r\n lbPartyRequired: \"Please enter a Party\",\r\n lbContactPerson: \"Contact Person\",\r\n lbCity: \"City\",\r\n lbState: \"State\",\r\n lbShortName: \"Short Name\",\r\n lbFullName: \"Full Name\",\r\n lbStatus: \"Status\",\r\n msgStatusRequired: \"Please select a Status\",\r\n msgCostCenterCodeRequired: \"Please enter Cost Center Code\",\r\n msgUpdatePartySuccess: \"Updated party successfully\",\r\n msgUpdatePartyFail: \"Fail to update party\",\r\n lbTradeLaneID: \"TradeLane ID\",\r\n lbTradeLaneName: \"TradeLane Name\",\r\n lbTradeLaneType: \"TradeLane Type\",\r\n lbCountryUnlocode: \"POD Country/POL Country\",\r\n lbOfficeCode: \"Office Code\",\r\n lbAccountCode: \"Account Code\",\r\n lbEffectiveDate: \"Effective Date\",\r\n lbTradeLane: \"TradeLane\",\r\n lbCustomerTypeID: \"Customer Type ID\",\r\n lbCustomerCode: \"Customer Code\",\r\n warehouse: {\r\n lblWarehouseCode: \"Warehouse Code\",\r\n msgWarehouseRequired: \"Please select a Warehouse\",\r\n lblFullName: \"Name\",\r\n lblOffice: \"Office\",\r\n lblAddress1En: \"English Address 1\",\r\n lblAddress2En: \"English Address 2\",\r\n lblAddress3En: \"English Address 3\",\r\n lblAddress4En: \"English Address 4\",\r\n lblFullNameLocal: \"Local Name\",\r\n lblAddress1Local: \"Local Address 1\",\r\n lblAddress2Local: \"Local Address 2\",\r\n lblAddress3Local: \"Local Address 3\",\r\n lblAddress4Local: \"Local Address 4\",\r\n lblTel: \"Tel\",\r\n lblContactPerson: \"Contact Person\",\r\n lblContactEmail: \"Contact Email\",\r\n lblRemark: \"Remarks\",\r\n lblAttachment: \"Attachment\",\r\n lblStatus: \"Status\",\r\n msgFullNameRequired: \"Please input name\",\r\n msgAddress1Required: \"Please input address 1\",\r\n msgAddress2Required: \"Please input address 2\",\r\n msgDuplicate: \"Warehouse already exists\"\r\n },\r\n accountGroupCode: {\r\n msgDuplicate: \"Account Group Code already exists\"\r\n },\r\n sysNotice: {\r\n lbNoticeType: \"Notice Type\",\r\n lbNoticeTitle: \"Notice Title\",\r\n lbNoticeBody: \"Notice Body\",\r\n lbMod: \"Affected System\",\r\n lbValidDate: \"Valid Date\",\r\n lbRemarks: \"Remarks\",\r\n lbCreatedBy: \"Created By\",\r\n lbCreatedDate: \"Create Date\",\r\n lbUpdatedBy: \"Updated By\",\r\n lbUpdatedDate: \"Updated Date\",\r\n msgUpdatedSysNoticeSuccessfully: \"Updated System Notice Successfully\",\r\n msgUpdateSysNoticeFail: \"Fail to update System Notice\",\r\n msgConfirmDelete: \"Are you sure to delete this system notice?\",\r\n lbDelete: \"Delete\",\r\n lbCopy: \"Copy\"\r\n },\r\n notificationCenter: {\r\n colModule: \"Module\",\r\n colNotificationName: \"Notification\",\r\n colDescription: \"Description\",\r\n colCreationParty: \"Creation Party\",\r\n colSubject: \"Subject\",\r\n colParameter: \"Parameter\",\r\n colSendTo: \"Send To\",\r\n colModuleId: \"Schedule ID\",\r\n colRecurrence: \"Recurrence\",\r\n colStartDate: \"Start Date\",\r\n colEndTime: \"End Time\",\r\n colCc: \"Cc\",\r\n lbNotification: \"Notification\",\r\n lbModule: \"Module\",\r\n msgModuleRequired: \"Please enter Module\",\r\n msgNameRequired: \"Please select a Name\",\r\n msgSendAtRequired: \"Please enter Send At\",\r\n msgRecurrenceRequired: \"Please select a Recurrence\",\r\n msgTimeRangeRequired: \"Please enter Time Range\",\r\n msgSubjectRequired: \"Please enter Subject\",\r\n lbNotificationName: \"Notification\",\r\n lbDescription: \"Description\",\r\n lbNotificationSetting: \"Notification Setting\",\r\n lbOwnershipSetting: \"Ownership Setting\",\r\n lbParameter: \"Parameter\",\r\n lbDistributionSetting: \"Distribution Setting\",\r\n lbNotificationSubject: \"Notification Subject\",\r\n lbTo: \"To\",\r\n msgToRequired: \"Please enter To\",\r\n lbCc: \"Cc\",\r\n lbBcc: \"Bcc\",\r\n lbStartDate: \"Start Date\",\r\n msgStartDateRequired: \"Please enter Start Date\",\r\n lbEndDate: \"End Date\",\r\n lbRecurrence: \"Recurrence\",\r\n lbRecurrenceToolTip: \"Daily: the notification will be sent out daily\\nWeekly: the notification will be sent out on the selected weekday.For example, the notification will be sent out every Monday when the notification is set to send out on Monday on a weekly basis\",\r\n DaysOfWeek: \"Days of week\",\r\n lbSendTime: \"Send Time\",\r\n lbCustimizedSetting: \"Notification Customized Setting\",\r\n lbRemarkType: \"Remark Type\",\r\n lbVisibleTo: \"Visible To\",\r\n lbTimeRange: \"Time Range\",\r\n lbIncludeRates: \"Include Rates In Email\",\r\n msgDeleteSuccess: 'Deleted Successfully',\r\n msgGetError: \"Error occured, please refresh the page.\",\r\n msgRecvTypeRequired: \"Please select a Recvive Type\",\r\n msgPartyTypeRequired: \"Please select a Party Type\",\r\n msgPartyIDRequired: \"Please select a Party\",\r\n msgRoleRequired: \"Please select a Role\"\r\n },\r\n routingTemplate: {\r\n msgDeleteSuccess: 'Deleted Successfully',\r\n lbRoutingTemplateName: 'Routing Template Name',\r\n msgRoutingTemplateNameRequired: 'Please enter Routing Template Name',\r\n lbCustomer: 'Customer',\r\n lbConsignee: 'Consignee',\r\n lbPOD: \"Port of Discharge (POD)\",\r\n lbEffectiveFrom: \"Effective From\",\r\n lbEffectiveTo: \"Effective To\",\r\n lbCanBeOverWritten: \"Can Be Overwritten\",\r\n msgConsigneeRequired: \"Please enter Consignee\",\r\n msgPODPLDFDRequire: \"Please enter either POD, PLD or FD\",\r\n msgUpdateRoutingTemplateSuccess: \"Updated Routing Template successfully\",\r\n msgCreateRoutingTemplateSuccess: \"Create Routing Template successfully\",\r\n lbRemarks: \"Remarks\",\r\n lbRoutingTemplateNameTip: \"Please name the routing template in simple words and understandable to OP\",\r\n lbCustomerTip: \"Enter a Customer (Key Account) of the routing template for the purpose of easier management on the BMS-Routing Tempalte Maintenance screen\",\r\n autoUpdatePLDTooltip: \"Switch on this button if there is a validation on the day difference between POD ETA and PLD ETA could be defined\",\r\n autoUpdateFDTooltip: \"Switch on this button if there is a validation on the day difference between POD ETA and FD ETA could be defined\",\r\n lbPLDETAValidation: \"PLD ETA Validation\",\r\n lbFDETAValidation: \"FD ETA Validation\",\r\n msgEffectiveFromRequired: \"Please enter Effective From\",\r\n lbEffectiveFromTip: \"Define an effective date of this routing template\",\r\n lbEffectiveToTip: \"Leave the effective to as empty if there is no end date\",\r\n lbCanBeOverWrittenTip: \"Switch on this button if OP is allowed to override the default values (e.g.: defined POD/ PLD/ FD) and PLD/ FD ETA validations\"\r\n },\r\n msgUpdateTradeLaneSuccess: \"Updated TradeLane successfully\",\r\n msgUpdateTradeLaneFail: \"Fail to update TradeLane\",\r\n msgConfirmDeleteTradeLane: \"Are you sure want to delete TradeLane [{{tradelane_name}}]?\",\r\n msgDeleteTradeLaneSuccess: \"Deleted TradeLane successfully\",\r\n msgDeleteTradeLaneFail: \"Fail to delete TradeLane\",\r\n lbTradelaneCountryRequired: \"Please select a Country\",\r\n lbTradelaneUnlocodeRequired: \"Please select a POL\",\r\n lbTradelanePOLCountryRequired: \"Please select a POL Country\",\r\n msgUpdateSettingSuccess: \"Updated Setting successfully\",\r\n msgCreateSettingSuccess: \"Create Setting successfully\",\r\n\r\n lbPartyGroup: \"Party Group\",\r\n lbPartyGroupID: \"Party Group ID\",\r\n lbGroupName: \"Group Name\",\r\n lbGroupType: \"Group Type\",\r\n lbSubGroup: \"Sub Group\",\r\n lbPartyGroupParty: \"Party\",\r\n msgUpdatePartyGroupSuccess: \"Update party group successfully\",\r\n msgUpdatePartyGroupFail: \"Fail to update party group\",\r\n msgPartyGroupMissingField: \"Please fill in the missing fields\",\r\n msgPartyGroupDuplicate: \"Group Name must be unique.\",\r\n msgPartyGroupPartyAlreadyAssigned: \"Consignee Code: {party_codes} already exist in Key Account: {existing_party_group_name}.\",\r\n\r\n colCreatedBy: \"Created By\",\r\n colCreatedDate: \"Created Date\",\r\n colUpdatedBy: \"Updated By\",\r\n colUpdatedDate: \"Updated Date\",\r\n\r\n /* Web Invoice Label*/\r\n lbNotSearchedYet: 'Please either apply a \\'Customized Filter\\' or click \\'Search\\' to perform searching',\r\n\r\n lbUpdatedBy: \"Updated By\",\r\n lbUpdatedDtTm: \"Updated Date / Time\",\r\n lbWithoutSave: \"Are you sure to quit without save?\",\r\n lbInvModal_APRef: {\r\n lbTitle: \"Batch update AP Ref.\",\r\n lbAPRef: \"AP Ref.\",\r\n lbWay1: \"Way 1 - Please enter the AP Ref. in the following textbox. The entered AP Ref. will be applied to all selected invoices (listed above) after clicking the 'OK' button.\",\r\n lbWay2: \"Way 2 - Upload an excel file for batch updating the AP Ref. The system will capture the Invoice# and AP Ref. from the excel file, and then display the change preview below. Click the 'OK' button to apply the change.\",\r\n lbFile_Tooltip: \"The system will read the excel file to capture the Invoice# and AP Ref. for batch updating the AP Ref.. Please make sure the file contains the word of Invoice# and AP Ref. on the first row in two different columns\",\r\n },\r\n lbInvModal_SubTypeTaxRate: {\r\n lbTitle: \"Update 'Invoice Sub - type' and 'Tax Rate Code'\",\r\n lbInvoiceSubtype: \"Invoice Sub-type\",\r\n lbTaxRate: \"Tax Rate Code\",\r\n },\r\n lbInvModal_UploadDoc: {\r\n \r\n lbDocTypeContent_SupportingDoc: 'Supporting Document',\r\n lbDocTypeContent_IncomingInvoice: 'Incoming Invoice',\r\n lbDocTypeContent_Statement: 'Statement(结算单)',\r\n lbDocTypeContent_FpFzInvoice: 'Fully Digitized E-Invoice (全电发票)',\r\n lbTitle: \"Batch Upload Document\",\r\n lbDocument: \"File\",\r\n lbRemark: \"Remarks\",\r\n\r\n lbDocTypeDesc_FpFzInvoice:'Web Invoice will read and capture the AP Ref. from this uploaded document.\\nYou will be notified once completed. ',\r\n },\r\n lbInvModal_CRSummary: {\r\n lbTitle: \"Print CR summary\",\r\n lbSearchPlaceHolder: \"Fill in the Invoice#\",\r\n },\r\n lbInvModal_StatusUpdate: {\r\n msgSureToChangeState: \"Are you sure the following records change status to @action?\",\r\n lbRemark: \"Remarks\",\r\n lbPrintingFormat: \"Print Format\",\r\n lbWay1: \"Way 1 - All selected invoices (listed above) will be posted after clicking the 'OK' button.\",\r\n lbWay2: \"Way 2 - Upload an excel file for batch posting. The system will capture the Invoice# from the excel file, and then display the Invoice# below for preview. Click the 'OK' button to post the invoices (mentioned on the excel file).\",\r\n lbFile_Tooltip: \"The system will read the excel file to capture the Invoice# for batch posting. Please make sure the file contains the word of Invoice# on the first row.\",\r\n },\r\n lbInvModal_PrintOption: {\r\n lbTitle: \"Print Options\",\r\n lbDescription: \"This setting will be reset after refresh. \",\r\n lbSea: \"Sea\",\r\n lbAir: \"Air\",\r\n },\r\n lbInvModal_Email: {\r\n CONFIRMATION_DOCUMENT: 'Confirmation',\r\n REAL_DOCUMENT: 'Real'\r\n },\r\n lbInvModal_GroupPanel: {\r\n lbSearchPlaceHolder: \"Fill in the Group#\",\r\n },\r\n lbInvModal_QuickCreate: {\r\n lbTitle_BlankInv: \"Quick Create Invoice\",\r\n lbTitle_ReferenceInv: \"Copy Invoice To\",\r\n lbSearchPlaceHolder: \"Fill in the Job#\",\r\n\r\n lbPasteSearchCurrentJob: \"Paste and search Job# from the selected invoice\",\r\n\r\n\r\n lbRefInvoice_Tooltips: \"Fill in an existing invoice number in order to copy its header information and charge information to the newly created invoice.\",\r\n lbRefInvoice: \"Reference Invoice#:\",\r\n\r\n lbErrorMessageTitle: \"Unable to create/ copy invoice\",\r\n\r\n //lbDescription: \"This setting will be reset after refresh. \",\r\n //lbSea: \"Sea\",\r\n //lbAir: \"Air\",\r\n },\r\n lbInvModal_PrintHistory: {\r\n lbTitle: \"Merge Printouts\",\r\n lbType: \"Document Type\",\r\n lbAutoMerge: \"Auto Merge PDF\",\r\n lbNextNumber: \"Next Print#\",\r\n\r\n lbDocType999: 'Invoice',\r\n lbDocType9: '7026 Tax Invoice',\r\n lbDoc_Type999_PrintParams1_Label: 'Job#',\r\n lbDoc_Type9_PrintParams1_Label: 'Invoice# / Government Invoice#',\r\n\r\n lbJob_Tooltip: 'To search for multiple Job#, please enter multiple Job# separated by comma (,) e.g. (0001,0002).',\r\n },\r\n lbInvErr: {\r\n lbNoPermission: \"You have no permission\",\r\n lbPleaseSelect: \"Please Select\",\r\n lbPleaseInput: \"Please Input\",\r\n //lbNoZero: \"Cannot be 0\",\r\n //lbMaxValueErr: \"Please input value less than (maxNum)\",\r\n //lbMinValueErr: \"Please input value greater than (minNum)\",\r\n lbOutOfRangeErr: \"Please input value between (minNum) and (maxNum) (default: (default_value))\",\r\n lbJobNoNotFound: \"This job no. cannot be found.\",\r\n\r\n lbMissingExchangeRate: \"Cannot found exchange rate for ledger (ledger). \",\r\n\r\n /*API Error*/\r\n lbJobDataNotExist: \"This Job No. cannot get enough data.\",\r\n lbAccountCodeNotFound: \"'Account Code' and/ or 'Job Office' cannot get from the selected Job. \", //--Please select it manually.\r\n\r\n /*Invoice */\r\n lbMissingAPReference: 'Please fill in AP Ref. before posting.',\r\n lbMissingAPReference2: 'Please fill in AP Ref.', //Batch update AP Ref Modal\r\n lbMissingJobNo: 'Please input at least 1 Job#.',\r\n lbMissingHBLNoInJob: 'Missing HBL#. Please ensure HBL# is entered in the Job#(jobNo).',\r\n lbUnexpectedJob: 'Unexpected Job#(jobNo) content mixed in this invoice.',\r\n lbMissingIssueForm: 'Please input Issue Party.',\r\n lbMissingSO: 'Please input at least 1 SO#.',\r\n lbMissingCurrency: 'Please input invoice currency. ',\r\n lbCannotUseTempCode: 'Temp Consigee Code should not be used. Please update Consignee Code.',\r\n lbDNResultInDR: 'DN & IDN should have DR result. ',\r\n lbCNResultInCR: 'CN & ICN should have CR result. ',\r\n lbMissPLRecord: 'Please input at least 1 P&L Charge Item.',\r\n lbMissGCRecord: 'Please input at least 1 General Charge Item.',\r\n lbMissCRRecord: 'Please input at least 1 Cheque Request Item.',\r\n lbMissingGovInvoiceNo: 'Please fill in Government Invoice#.',\r\n lbMissingInvoiceDate: 'Please fill in Invoice Date.',\r\n\r\n lbMissingHeader: 'Please fill in all the required fields in Header.', //Server side check (low error rate)\r\n lbMissingPLDetails: 'Please fill in all the required fields in P & L Charge Details.',\r\n lbMissingGCDetails: 'Please fill in all the required fields in General Charge Details.',\r\n lbMissingCRDetails: 'Please fill in all the required fields in Cheque Request Details.',\r\n\r\n lbCheckPLDetails: 'Please check and resave P & L Charge. ',\r\n lbCheckGCDetails: 'Please check and resave General Charge. ',\r\n lbCheckCRDetails: 'Please check and resave Cheque Request. ',\r\n\r\n lbMissingDocUpload: 'Please select / drag a file for Document Upload.',\r\n lbARChargeCodeError: 'Please ensure Charge Code & DR/CR are selected correctly in General Charge tab. AR charge code should have DR result while AP charge code should have CR result.',\r\n lbAPChargeCodeError: 'Please ensure Charge Code & DR/CR are selected correctly in General Charge tab. AR charge code should have CR result while AP charge code should have DR result.',\r\n lbMixedJob_SeaAir: 'The mode of transportation should be the same among all selected jobs.',\r\n lbMixedJob_HdOff: 'The job office should be the same among all selected jobs.',\r\n lbMixedJob_JobPeriod: 'The job period should be the same among all selected jobs.',\r\n lbMixedJob_JobType: 'The inbound/outbound should be the same among all selected jobs.',\r\n lbWaitForContainerDetailsLoad: 'Job\\'s container information is being downloaded to Web Invoice. Please click the \\'Save\\' button after few seconds.',\r\n lbLogisticJobNoPL: 'Logistic Job cannot create Profit Share Invoice',\r\n\r\n //Mismatch Charge Item\r\n lbMismatchGCItem: 'Total General Charge Amount does not match General Charge Details Amount.',\r\n lbMismatchPLItem: 'Total PL Amount doest not match PL Details Amount.',\r\n lbMismatchCRItem: 'Total CR Amount doest not match CR Details Amount.',\r\n\r\n lbJobNoEditLock: 'Job# (jobNo) cannot be changed.',\r\n\r\n /*Cross check error*/\r\n lbJobRelatedSO: 'Job No. (jobNo): Related SO No [(soNo)] exists. Please remove the SO first before changing the Job#. ',\r\n\r\n lbJobRelatedPLHBL: 'Job No. (jobNo): Related PL HBL Line[Line (lineNo)] exists. ',\r\n lbJobRelatedPLHBL_reverse: 'Please remove Job No. (jobNo) relationship in this row. ',\r\n\r\n lbPostChectError: 'Cannot post the record(s) due to missing data.',\r\n\r\n //GC\r\n lbMissingJobData: 'Job data is missing.',\r\n\r\n //Not in selection list\r\n lbNotInSelectionList: 'The selected value is invalid and not exist in the selection list. Please select the value from the selection list.',\r\n\r\n\r\n //Template library\r\n lbAdoptTmplib_GC: '\"(template_name)\" is applied. Charge Item#(fromRow) - (toRow) are added into the General Charges Details table.',\r\n lbAdoptTmplib_GC_Nothing: '\"(template_name)\" is applied. Nothing is added into the General Charges Details table.',\r\n lbUndoTmplib_GC: '(counter) Charge Items are removed from the General Charges Details table.',\r\n lbAdoptTmplib_CR: '\"(template_name)\" is applied. Charge Item#(fromRow) - (toRow) are added into the Cheque Request Details table.',\r\n lbAdoptTmplib_CR_Nothing: '\"(template_name)\" is applied. Nothing is added into the Cheque Request Details table.',\r\n lbUndoTmplib_CR: '(counter) Charge Items are removed from the Cheque Request Details table.',\r\n\r\n //Status\r\n lbStatusUpdateTimeLag: 'Status cannot updated. Please try again.',\r\n lbStatusUpdateAccountLock: 'This account is locked(Closing process is running). Please try again after fews minutes.',\r\n lbAccountCodeNotForPost: \"Account code[(account_code)] is not supported for posting. Invoice ID[(invoice_id)] cannot post. Please contact administrator.\",\r\n\r\n //Success Message\r\n lbSaveSuccess: 'Invoice saved successfully.',\r\n lbSaveError: 'Change hasn\\'t been saved because system found this invoice is being concurrently updated by other user/ session. Please try again.',\r\n lbStatusSuccess: 'Status updated successfully.',\r\n\r\n //SOPMS error\r\n lbSOPMS_ChargeCodeNotFound: \"Ruleset (template_section_id) Setting charge code has conflict. \",\r\n lbSOPMS_MinChargeConflict: \"Ruleset (template_section_id) Setting Min charge code has conflict. \",\r\n lbSOPMS_MaxChargeConflict: \"Ruleset (template_section_id) Setting Max charge code has conflict. \",\r\n\r\n ActionItem_RedoGCChargeCode: \"Cannot found valid charge code information.\",\r\n\r\n //Export Excel\r\n lbExportExcelOver: \"Cannot export all records, you can export a maximum of 10,000 records at a time. Please narrow down your search.\",\r\n\r\n //Exchange Rate Bug Warning\r\n lbSameCurrencyExchangeRate1: \"Exchange Rate in General Charge should be 1 if the Currency in General Charge record is the same as Invoice Currency in Header.\",\r\n\r\n //Reload Filter\r\n lbLastestFilterSettingAdopt: \"The previous search criteria has been restored. Click 'Search' to refresh/ load the search result.\",\r\n\r\n //Printing Error Message\r\n lbPrintingInfoLoading: \"Printing Information is still on loading. Please wait. \",\r\n lbPrintingInfoLoadFailure: \"Cannot get Printing Information. Please try again. \",\r\n\r\n //RT Issue\r\n lbPLRTChanged: \"The quantity of Line #(LineNo) in \\\"P & L Charge At HBL Level\\\" is updated as the UOM was changed\",\r\n lbGCCRRTChanged: \"The quantity of Charge Item Line #(LineNo) is updated as the UOM was changed\",\r\n\r\n\r\n lbInvoiceTotalAmountErr: \"The Total Invoice Amount Tax Inclusive should not exceed CNY (maxNum) (or its equivalent in any other currency).\",\r\n lbCheckCurrentGroupError: 'Please check error of current group.',\r\n lbMixSubtypeError: 'Export FP/FZ cannot mix with others invoice sub-type',\r\n\r\n\r\n lbExchangeRateUpdated: \"Exchange Rate is updated to default. \",\r\n\r\n\r\n /***20200720 Local Invoice***/\r\n lbPrintDescriptionErr: \"Print Description is not match.\",\r\n lbMissingTaxCode: 'Please fill in Tax Rate Code.',\r\n lbMissingInvoiceSubType: 'Please fill in Invoice Sub-type.',\r\n\r\n lbFutureJobPeriod: 'Job month is in the future. Please check carefully before export.',\r\n\r\n lbQuickPreviewSwitchTab: 'Please either save or cancel the change before switching to another invoice.',\r\n lbQuickPreviewClosePanel: 'To close the \\'Quick Preview\\' panel, please either save or cancel the change first',\r\n\r\n lbCRSummaryMixAccountCode: 'CR Summary cannot not print across account code. ',\r\n lbPrintMixAccountCode: 'Cannot not print across account code. ',\r\n lbPrintMixARAP: 'Cannot not print across AR & AP. ',\r\n lbNoInvoiceAccountingPrint: 'Please select the invoice to batch accounting print/release/void.',\r\n\r\n lbNoSign: 'At least 1 user who prepared or approved this invoice does not have an e-signature.',\r\n\r\n\r\n lbSelectAccountCode: 'Please select account code.'\r\n\r\n },\r\n lbInvLoadingMsg: {\r\n lbLoading: \"Loading...\",\r\n lbServerValidation: \"Server Validation...\",\r\n lbSaving: \"Saving...\",\r\n\r\n //Posting\r\n lbServerValidation1: \"Loading...Server Validation (1) Complete\",\r\n lbServerValidation2: \"Loading...Server Validation (2) Complete\",\r\n lbCheckAccountLock: \"Loading...Account is ready for posting\",\r\n //lbPostComplete: \"Posting Completed\",\r\n lbPrinting: \"Loading...Printing Invoice#(invoice_no)\",\r\n lbSignPrinting: \"Loading...Sign on Invoice#(invoice_no)\",\r\n },\r\n lbInvMenu: {\r\n lbSearchAR: \"Search Account Receivable\",\r\n lbCreateAR: \"Create Account Receivable\",\r\n lbViewAR: \"View Account Receivable\",\r\n lbAmendAR: \"Amend Account Receivable\",\r\n\r\n lbSearchAP: \"Search Account Payable\",\r\n lbCreateAP: \"Create Account Payable\",\r\n lbViewAP: \"View Account Payable\",\r\n lbAmendAP: \"Amend Account Payable\"\r\n },\r\n lbInvARAP: {\r\n lbAGENT: 'Agent',\r\n lbCNS: 'Consignee',\r\n lbSHIPPER: 'Shipper',\r\n lbCARRIER: 'Carrier',\r\n lbSUPPLIER: 'Supplier',\r\n\r\n\r\n lbInvoice: \"Invoice#\",\r\n\r\n lbPreviewInvoice: \"Preview Invoice\",\r\n lbPrintOption: \"Invoice Printing Option Setting\",\r\n lbPreviewPLSheet: \"Preview PL Sheet\",\r\n lbPrint703XDNCN: \"Print 703X DN/CN\",\r\n lbPrintReverseInvoice: \"Print Reversal Invoice\",\r\n lbPrint7028IDNICN: \"Print 7028 IDN/ICN\",\r\n lbPrintDNCN: \"Print DN/CN\",\r\n lbPrintIDNICN: \"Print IDN/ICN\",\r\n lbDebitNote: \"Debit Note\",\r\n lbCreditNote: \"Credit Note\",\r\n lbConfirmDoc: \"发票确认件\",\r\n lbInvoiceAttachment: \"发票附件\",\r\n lbPrintInvoice: \"Printouts\",\r\n lbTaxInvoice: \"Tax Invoice\",\r\n lbPreviewTaxInvoice: \"Preview 7026 Tax Invoice\",\r\n lbReceipt: \"Receipt\",\r\n lbPreviewReceipt: \"Preview 7026 Receipt\",\r\n\r\n lbMore: \"More\",\r\n\r\n lbCopyInvoice: \"Duplicate Invoice\",\r\n lbAutoInvoice: \"Create DN to charge M+R HKG handling fee\",\r\n lbInvoiceTnx2: \"Generate the Inter-account Transaction Invoice\",\r\n\r\n\r\n lbStatusControlPanel: \"Status Update\",\r\n lbUpdateFromWebInvoiceCore: \"Update from Web Invoice Core\",\r\n lbUpdateFromOPS: \"Update from OPS\",\r\n\r\n lbHeader: \"Header\",\r\n lbOffice: \"Office\",\r\n lbPreviewExcel: \"Preview Excel\",\r\n lbInvoiceIssuingOffice: \"Invoice Issuing Office\",\r\n lbAccountCode: \"Account Code\",\r\n lbAPRef: \"AP Ref.\",\r\n lbARType: \"AR Type\",\r\n lbAPType: \"AP Type\",\r\n lbJob: \"Job#\",\r\n lbIssueTo: \"Issued To\",\r\n lbIssueFrom: \"Issued From\",\r\n lbOverseas: \"Overseas / Local\",\r\n lbSo: \"SO#\",\r\n lbNominationAgent: \"Nomination Agent\",\r\n lbReleaseAgent: \"Release Agent\",\r\n lbConsignee: \"Consignee\",\r\n lbNotifyParty: \"Notify Party\",\r\n lbShipper: \"Shipper\",\r\n lbModeofTransport: \"Mode of Transport\",\r\n lbJobType: 'Job Type',\r\n lbService: \"Service\",\r\n lbInvoiceCurrency: \"Invoice Currency\",\r\n lbExchangeRate: \"Exchange Rate\",\r\n lbRemarks: \"Remarks\",\r\n\r\n lbDocUpload: \"Document Upload\",\r\n lbDocType: \"Document Type\",\r\n lbFile: \"File\",\r\n lbTimingAsPerRequirement: 'Timing as per Requirement',\r\n\r\n\r\n lbPL: \"P&L\",\r\n\r\n lbGeneralCharge: \"General Charge\",\r\n\r\n lbChequeRequest: \"Cheque Request\",\r\n\r\n lbStatus: \"Status\",\r\n lbLatestStatus: \"Latest Status\",\r\n\r\n lbGP: \"GP\",\r\n\r\n lbAccountPeriod: \"Account Period\",\r\n lbAccountLock: \"Account Lock\",\r\n lbLocked: \"Locked\",\r\n lbPreviewClose: \"Preview / Run Closing\",\r\n lbPreview: \"Preview\",\r\n lbRunClosing: \"Run Closing\",\r\n lbClosedPeriod: \"Closed Period\",\r\n lbRunClosingBy: \"Run Closing By\",\r\n lbRunClosingDate: \"Run Closing Date\",\r\n lbRunClosingExcel: \"Run Closing Excel\",\r\n lbDownload: \"Download\",\r\n\r\n\r\n lbNewRowHotkey: \"New Row (Alt+N)\",\r\n\r\n //20200421 Local Invoice\r\n lbTaxRate: \"Tax Rate Code\",\r\n lbSendTaxInvoiceTo: \"Send Tax Invoice To\",\r\n lbSendTaxInvoiceTo_Tooltip: \"Send Tax Invoice To' blank / enter up to 3 email addresses.\",\r\n lbRemarkOption: \"备注格式\",\r\n lbRemarkOption_Tooltip: \"请选择合适的备注格式,该备注格式将用于税务发票上\",\r\n lbRemarkOption1: \"默认款\",\r\n lbRemarkOption1_Remark: \"\",\r\n lbRemarkOption2: \"默认款-简洁版\",\r\n lbRemarkOption2_Remark: \"简洁版不包含运输信息及不适用于月结发票。\",\r\n lbRemarkOption3: \"货物运输服务款\",\r\n lbRemarkOption3_Remark: \"请在Reference 1填写车牌,Reference 2填写运输货物名称。\\n如需在發票上使用指定的起運地和到达地, 請在Reference输入“DEP@XXX”(例如:DEP@NINGBO -- 将起运地修改为NINGBO) 和/或 “ARR@XXX”, \\n否則一律使用Job/ SO數據來默認起運地和到达地\",\r\n lbRemarkOption4: \"货物运输服务款-简洁版\",\r\n lbRemarkOption4_Remark: \"简洁版不包含运输信息及不适用于月结发票。请在Reference 1填写车牌,Reference 2填写运输货物名称。\\n如需在發票上使用指定的起運地和到达地, 請在Reference输入“DEP@XXX”(例如:DEP@NINGBO -- 将起运地修改为NINGBO) 和/或 “ARR@XXX”, \\n否則一律使用Job/ SO數據來默認起運地和到达地\",\r\n\r\n lbGovernmentInvoiceNo: \"Government Invoice#\",\r\n lbInvoiceDate: \"Invoice Date\",\r\n lbTaxInvoicePrintDate: \"Tax Invoice Printed Date\",\r\n lbInvoiceSubtype: \"Invoice Sub-type\",\r\n lbInterTranscation: \"Inter-account Transaction\",\r\n lbPaymentRef: \"Payment Ref.\",\r\n lbPaymentRef_placeholder: \"Fill in the Payment Ref. Leave it as blank if the Payment Ref. is not received\",\r\n lbPaymentRef_infoTooltip: \"Please tick this button if the Issued Party will issue/ had issued a Payment Ref. to us.\",\r\n\r\n lbLocalName: \"Name (Local)\",\r\n lbENName: \"Name (English)\",\r\n lbRole: \"Role\",\r\n lbTaxID: \"Company ID / Tax ID\",\r\n lbCompanyPhone: \"Company Phone\",\r\n lbVATAddress: \"VAT Address\",\r\n lbVATAddressEN: \"VAT Address (English)\",\r\n lbLocalMainAddress: \"Main Address (Local)\",\r\n lbENMainAddress: \"Main Address (English)\",\r\n lbBankDetails: \"Bank Details\",\r\n lbSunAccountCode: \"Sun Account Code\",\r\n lbSunAccountCode4: \"Sun 4 A/C Code\",\r\n lbSunAccountCode6: \"Sun 6 A/C Code\",\r\n lbNotAssigned: \"The (content_name) is not assigned. Please contact the relevant party to create it.\",\r\n\r\n lbUpdateExchangeRate: \"Update to default exchange rate\",\r\n\r\n lbInterAccountTransaction: \"Switch on the button: if it is required that when this invoice is being posted, system will auto-create an Incoming Debit Note (if this invoice is a Debit Note)/ Incoming Credit Note (if this invoice is a Credit Note) in the specified Account (e.g. 7021).\\n\\nSwitch off the button: if the above is not applied.\",\r\n\r\n lbSetDefaultExchangeRateTooltip: 'The Exchange Rate is incorrect as it is not within the acceptable range.Click the \\'Update to default exchange rate\\' button to update the Exchange Rate to default.',\r\n\r\n lbReference: 'Reference',\r\n lbReferenceTooltip: 'You could fill in the reference of this invoice in this field for future reference. It will not be used and shown on the printouts and reporting.',\r\n\r\n //20211123 TW Invoice\r\n lbSEQRelease: 'Release',\r\n lbSEQVoid: 'Void',\r\n lbSEQReassign: 'Reassign',\r\n lbSEQTransfer: 'Reuse',\r\n lbCRSummaryHistory: 'CR Summary History',\r\n\r\n\r\n lbSnapshotStatus_no_history: 'No Snapshot',\r\n lbSnapshotStatus_data_processing: 'Processing',\r\n lbSnapshotStatus_generate_excel: 'Snapshot Created',\r\n lbSnapshotStatus_completed: 'Snapshot with Excel Created',\r\n lbSnapshotStatus_generate_excel_old_download_file: 'Snapshot Created',\r\n\r\n lbOptimizeOptions_refresh: 'Refresh Snapshot',\r\n lbOptimizeOptions_bestOptimize: 'Use Last Snapshot',\r\n },\r\n lbInvPL: {\r\n\r\n lbContainerLv: \"P & L Charge At Container Level\",\r\n lbHBLLv: \"P & L Charge At (HBL_HAWB) Level\",\r\n\r\n lbHBL: \"HBL\",\r\n lbHAWB: \"HAWB\",\r\n lbContainerSize: \"Container / Size\",\r\n //lbChargeCode: \"Charge Code\",\r\n lbChargeDesc: \"Charge\",\r\n lbPrintDesc: \"Print Description\",\r\n lbPL: \"Profit / Loss\",\r\n lbPLAgentPerc: \"Agent %\",\r\n lbPLTotal: \"Total\",\r\n lbPLAgent: \"Agent\",\r\n lbPLMR: \"M + R\",\r\n lbAgentCollect: \"Agent\",\r\n lbMRPrepaid: \"M+R\",\r\n lbBuyCost: \"Buying (Cost)\",\r\n lbSellingIncome: \"Selling (Income)\",\r\n lbTotal: \"Total\",\r\n lbAmountDR: \"Amount (DR)\",\r\n lbAmountCR: \"Amount (CR)\",\r\n lbLedgerAmountDR: \"Amount (DR)\\n(Base Currency)\",\r\n lbLedgerAmountCR: \"Amount (CR)\\n(Base Currency)\",\r\n\r\n lbCBM: \"CBM\",\r\n lbUOM: \"UOM\",\r\n lbCW: \"C.W\",\r\n\r\n lbTotal_Sym: \"Total :\",\r\n\r\n lbTotalInvAmt: \"Total Invoice Amount Tax Exclusive: \",\r\n lbTotalInvTaxAmount: \"Total Invoice Tax Amount: \",\r\n lbTotalInvAmtTax: \"Total Invoice Amount Tax Inclusive: \",\r\n\r\n\r\n },\r\n lbInvGC: {\r\n lbGeneralChargesDetails: \"General Charges Details\",\r\n lbLine: \"#\",\r\n lbRefSB: \"Reference\",\r\n //lbChargeCode: \"Charge Code\",\r\n lbDRCR: \"DR/ CR\",\r\n lbChargeDesc: \"Charge\",\r\n lbPrintDesc: \"Print Description\",\r\n lbCurrency: \"Currency\",\r\n lbUnitPrice: \"Unit Price\",\r\n lbExchangeRate: \"Exchange Rate\",\r\n lbQty: \"QTY\",\r\n lbUOM: \"UOM\",\r\n lbAmountDR: \"Amount (DR)\",\r\n lbAmountCR: \"Amount (CR)\",\r\n lbLedgerAmountDR: \"Amount (DR)\\n(Base Currency)\",\r\n lbLedgerAmountCR: \"Amount (CR)\\n(Base Currency)\",\r\n lbTotal: \"Total :\",\r\n lbTotalGeneralChargesExclusive: \"Total General Charges Tax Exclusive:\",\r\n lbTotalGeneralChargesTaxAmount: \"Total General Charges Tax Amount:\",\r\n lbTotalGeneralChargesInclusive: \"Total General Charges Tax Inclusive:\",\r\n\r\n lbJobNo: \"Job No.\",\r\n lbHbl: \"(hbl_hawb) No. / SO No. / (cbm_cw) / Package\",\r\n lbContainer: \"Container No. / Size ((hbl_hawb) No.)\",\r\n\r\n lbTaxCode: \"Tax Rate Code\",\r\n lbTaxRate: \"Tax Rate\",\r\n //lbUnitPriceTaxInclusive: \"Unit Price\\n(Tax Inclusive)\",\r\n //lbAmountDRTaxInclusive: \"Amount (DR)\\nTax Inclusive\",\r\n //lbAmountCRTaxInclusive: \"Amount (CR)\\nTax Inclusive\",\r\n lbTaxAmount: \"Tax Amount\",\r\n lbLedgerTaxAmount: \"Tax Amount\\n(Base Currency)\",\r\n\r\n lbAmount: \"Amount\",\r\n lbLedgerAmount: \"Amount\\n(Base Currency)\",\r\n\r\n lbAll: \"All\",\r\n lbTaxExclusive: \"Tax Exclusive\",\r\n lbTaxInclusive: \"Tax Inclusive\",\r\n\r\n lbInterTran: \"Inter-account Transaction\",\r\n\r\n lbPrintDescriptionTooltip: \"Print Description will be taken and printed on the invoice printout for each charge item (if applicable)\",\r\n lbCurrencyTooltip: \"Charge Item Line Currency\",\r\n lbUnitPriceTooltip: \"The tax exclusive unit price in the selected currency\",\r\n lbUnitPriceExchangedTooltip: \"The tax inclusive unit price in the 'Invoice Header Currency'\",\r\n lbAmountDebitTooltip: \"Tax Exclusive Amount = Tax Exclusive Unit Price x Exchange Rate x QTY\",\r\n lbAmountCreditTooltip: \"Tax Exclusive Amount = Tax Exclusive Unit Price x Exchange Rate x QTY\",\r\n lbTaxCodeTooltip: \"The appropriate tax code for each charge item line. The 'Tax Rate' will be refreshed according to the selected Tax Code.\",\r\n lbTaxRateTooltip: \"The tax rate according to the selected 'Tax Code'. (The system calculated actual tax rate according to the provided 'Tax Amount'.)\",\r\n lbUnitPriceTaxTooltip: \"The tax inclusive unit price under the invoice header currency\",\r\n lbAmountDebitTaxTooltip: \"Tax Inclusive Amount = Tax Exclusive Amount + Tax Amount\",\r\n lbAmountCreditTaxTooltip: \"Tax Inclusive Amount = Tax Exclusive Amount + Tax Amount\",\r\n lbAmountTaxTooltip: \"Tax Amount is either the system calculated Tax Amount of each charge item line according to the selected 'Tax Code' or the user specified Tax Amount.\\n\\nTax Amount(if calculate by system) = Tax Exclusive Amount x Tax Rate\",\r\n\r\n lbInterAccountTransactionTooltip: \"Switch on the button: if the charge item line is required to charge the specified Account. When this invoice is being approved (at the first time), system will auto-create a Debit Note in the same Account (e.g. 703X). Or you could trigger the auto-create process when this invoice is under 'Prepared' by clicking \\\"More Actions > Generate the Inter - account Transaction Invoice\\\".\\nNote: If the invoice involves multiple Jobs, this action can't perform.\\n\\nSwitch off the button: if the above is not applied.\",\r\n\r\n lbChargeDesc_View: \"Print Description [Code]\",\r\n lbViewModeTooltip: \"You could change to different View Modes to view different information in different formats for facilitating your works. \\n\\nAlt+ A : Hide the functional buttons on each charge item line when editing the invoice \\nAlt+ L : Display the detailed amounts in base currency\",\r\n lbViewMode: \"View Mode\",\r\n lbAlt_T: \"Alt+T switching unit price tax mode\",\r\n lbAlt_QW: \"Alt+Q : changes to previous View Mode\\nAlt+ W : changes to next View Mode\",\r\n\r\n lbPrediction_Info: \"Click the robot button to apply the 'Charge Details' prediction, which supports predicting the Reference, Charge Code, and Line Tax Rate Code.\",\r\n lbPrediction_All: \"Apply 'Charge Details' prediction\",\r\n lbPrediction_HighRate: \"Apply 'Charge Details' prediction for high-likelihood items only\",\r\n lbPrediction_Remove: \"Undo the 'Charge Details' prediction (if the charge line has not yet been edited by the OP)\",\r\n },\r\n lbInvCR: {\r\n\r\n lbCRDetails: \"Cheque Request Details\",\r\n lbCRChargeSummary: \"Quick Summary of Cheque Request\",\r\n lbCRDetailsItem: \"Cheque Request Charge Details\",\r\n\r\n\r\n lbAvailableDate: \"Available Date :\",\r\n lbFreeToCombine: \"Free to Combine\",\r\n lbFreeToCombineTooltips: \"Tick this checkbox to let Accounting know they can combine this cheque request with other cheque requests, \\nwhich are for the same Issued To and prepared by the same operator, to issue one cheque for payment.\",\r\n lbPaymentMarker: \"Payment Marker :\",\r\n lbForeignCurrency: \"Foreign Currency \",\r\n\r\n\r\n lbLine: \"#\",\r\n lbJob: \"Job#\",\r\n lbReference: \"Reference\",\r\n lbChargeCode: \"Charge Code\",\r\n lbChargeDesc: \"Charge Description\",\r\n lblRemarks: \"Remarks\",\r\n lbUnitPriceBaseCurrency: \"Unit Price\\n(Base Currency)\",\r\n lbUnitPriceForeignCurrency: \"Unit Price\\n(Foreign Currency)\",\r\n lbQuantity: \"QTY\",\r\n lbUOM: \"UOM\",\r\n lbAmtBaseCurrency: \"Amount\\n(Base Currency)\",\r\n lbAmtForeignCurrency: \"Amount\\n(Foreign Currency)\",\r\n lbChequeCurrency: \"Cheque Currency\",\r\n\r\n lbTotal: \"Total :\",\r\n\r\n lbExchangeRate: \"Exchange Rate to (base_currency)\",\r\n\r\n lbTaxAmountBaseCurrency: \"Tax Amount\\n(Base Currency)\",\r\n lbTaxAmountForeignCurrency: \"Tax Amount\\n(Foreign Currency)\",\r\n\r\n lbLedgerTotalAmountBaseCurrency: \"Amount\\n(Converted to Base Currency)\",\r\n lbLedgerAmountTaxBaseCurrency: \"Tax Amount\\n(Converted to Base Currency)\",\r\n\r\n\r\n lbTotalAmount: \"Amount\",\r\n lbAmountTax: \"Tax Amount\",\r\n\r\n lbVatPeriod: \"VAT Period\",\r\n lbFormatTypeNo: \"格式代號\",\r\n lbCompanyID: \"Company ID\",\r\n lbTaxCreditNo: \"扣抵代號\",\r\n lbLocalInvoiceNo: \"Local Invoice#\",\r\n },\r\n lbInvARAPType: {\r\n lbPL: \"Profit Share Invoice\",\r\n lbDN: \"Debit Note\",\r\n lbCN: \"Credit Note\",\r\n lbIDN: \"Incoming Debit Note\",\r\n lbICN: \"Incoming Credit Note\",\r\n lbCR: \"Cheque Request\"\r\n },\r\n lbInvSubType: {\r\n lbP: \"普通发票或其它发票\",\r\n lbZ: \"增值税专用发票\",\r\n lbEP: \"电子普票\",\r\n lbEZ: \"电子专票\",\r\n lbFP: \"全电普票\",\r\n lbFZ: \"全电专票\",\r\n lbTY: \"統一發票\",\r\n lbR: \"收據\",\r\n lbTRANSFER: \"轉賬\",\r\n lbCHEQUE: \"支票\",\r\n lbTY31: \"三聯式\",\r\n lbTY32: \"二聯式\",\r\n lbDSDF: \"代收代付\",\r\n\r\n lbSTAMP: \"Stamp Duty\",\r\n lbNSD: \"No Stamp Duty\",\r\n\r\n lbWCT: \"With Credit Term\",\r\n lbNCT: \"No Credit Term\",\r\n },\r\n lbInvStatus: {\r\n lbAction: \"Action\",\r\n lbStatus: \"Status\",\r\n\r\n lbLine: \"#\",\r\n lbType: \"\",\r\n lbAccountCode: \"Account Code\",\r\n lbInvoice: \"Invoice#\",\r\n lbAPRef: \"AP Ref.\",\r\n lbLatestStatus: \"Latest Status\",\r\n lbStatusRemarks: \"Status Remarks\",\r\n lbInvoicceToFrom: \"Invoice To / From\",\r\n lbInvAmtInvCurrency: \"Invoice Amount\\n(Invoice Currency)\",\r\n lbExchangeRate: \"Exchange Rate\",\r\n lbInvAmtBaseCurrency: \"Invoice Amount\\n(Base Currency)\",\r\n lbIncomeBaseCurrency: `Income\\n(Base Currency)`,\r\n lbCostBaseCurrency: \"Cost\\n(Base Currency)\",\r\n lbSettledAmount: \"Settled Amount\\n(Invoice Currency)\",\r\n lbTotal: \"Total:\",\r\n lbGP_Title: \"GP\",\r\n lbGP: \"GP:\",\r\n lbGP_SO: \"GP by SO\",\r\n lbStatusHistory: \"Status History\",\r\n lbARAP: \"AR / AP#\",\r\n lbPosition: \"Position\",\r\n lbUser: \"User\",\r\n lbDateTime: \"Updated Time\",\r\n lbRemarks: \"Remarks\",\r\n\r\n\r\n NewInvoiceBtn: \"New\",\r\n ApprovedInvoiceBtn: \"Approve\",\r\n ClosedInvoiceBtn: \"Close\",\r\n ClosedReversedInvoiceBtn: \"Close\",\r\n DeletedInvoiceBtn: \"Delete\",\r\n //NewReversedInvoiceBtn: \"New Resersed\",\r\n PostedInvoiceBtn: \"Post\",\r\n PostReversedInvoiceBtn: \"Post\",\r\n PreparedInvoiceBtn: \"Prepare\",\r\n PrintedInvoiceBtn: \"Print\",\r\n RejectedInvoiceBtn: \"Reject\",\r\n ReleasedInvoiceBtn: \"Release\",\r\n ReversedInvoiceBtn: \"Reverse\",\r\n ExportedInvoiceBtn: \"Export\",\r\n ImportedInvoiceBtn: \"Import\",\r\n PendingExportAutoBtn: \"Pending Auto Export\",\r\n\r\n SupvApprovedInvoiceBtn: \"Approve (1st level)\",\r\n SupvRejectedInvoiceBtn: \"Reject (1st level)\",\r\n MgrApprovedInvoiceBtn: \"Approve (2nd level)\",\r\n MgrRejectedInvoiceBtn: \"Reject (2nd level)\",\r\n\r\n NewReversalGroupBtn: \"Approve (2nd level)\",\r\n ExportReversalGroupBtn: \"Export\",\r\n ImportReversalGroupBtn: \"Import\",\r\n PostReversalGroupBtn: \"Post\",\r\n\r\n ExportedAutoBtn: \"Exported (Auto)\",\r\n\r\n AccountingPrintedInvoiceBtn: \"Accounting Print\",\r\n\r\n\r\n lbInvoiceBtn: \"Invoice\",\r\n lbReSignInvoiceBtn: \"Sign on Invoice\",\r\n lbSignedInvoiceBtn: \"Invoice with e-Sign\",\r\n lbPLSheetBtn: \"PL Sheet\",\r\n lbExportFileBtn: \"Export File\",\r\n lbTaxInvoiceBtn: \"Tax Invoice\",\r\n lbReceiptBtn: \"Receipt\",\r\n\r\n //lbGP: \"GP\",\r\n lbGPAmount: \"GP Amount\",\r\n lbGPAmountTooltip: \"All - Both Tax Exclusive GP and Tax Inclusive GP will be shown\\nTax Exclusive - Only the Tax Exclusive GP will be shown\\nTax Inclusive - Only the Tax Inclusive GP will be shown\",\r\n\r\n lbExchangeRateUpdated: \"Exchange Rate is updated from (origin_exchange_rate) to (new_exchange_rate) by (updated_by_name). \",\r\n\r\n lbGrouped: \"Exported for Batch Payment(Group# (group_no))\",\r\n lbGroupedWithCount: \"Exported for Batch Payment(Group# (group_no)) (Number of invoice: (group_invoice_count))\",\r\n lbGroupedAuto: \"Group# (group_no) (Number of invoice: (group_invoice_count))\",\r\n\r\n lbInvoicceToFromLocal: \"Invoice To / From (Local Language)\",\r\n lbGovernmentInvoiceNo: \"Government Invoice #\",\r\n\r\n lbRollbackExport: \"Rollback from Exported\",\r\n lbRollbackImport: \"Rollback from Imported [Government Invoice#: (gov_invoice_no), Invoice Date: (invoice_dt) were reset as empty]\",\r\n lbRollbackAccountingPrinted: \"Rollback from (Accounting_Printed) [Government Invoice#: (gov_invoice_no), Invoice Date: (invoice_dt) were reset as empty]\",\r\n\r\n lbProcess_pending: 'Pending',\r\n lbProcess_empty: 'Not Applicable',\r\n lbProcess_fail: 'Failure',\r\n lbProcess_success: 'Success',\r\n\r\n\r\n lbSalesCode: \"Sales Code\",\r\n lbShipperName: \"Shipper Name\",\r\n lbSO: \"SO#\",\r\n },\r\n\r\n lbInvGPSummary: {\r\n lbSummaryTable: \"GP Quick Summary Of Job#:\",\r\n lbCurrency: \"Currency\",\r\n lbTotalIncome: \"Total Income\",\r\n lbTotalCost: \"Total Cost\",\r\n lbGP: \"GP\",\r\n lbGPPercent: \"GP%\"\r\n\r\n },\r\n\r\n lbInvColorDesc: {\r\n\r\n JobOutstandingPending1: \"Pending completed more than 2 job months\",\r\n JobOutstandingPending2: \"Pending completed within 1 job month\",\r\n JobOutstandingPending3: \"Pending completed less than 1 job month\",\r\n\r\n\r\n ARPendingCreation1: \"Pending creation more than 2 days after ETD\",\r\n ARPendingCreation2: \"Pending creation within 2 days after ETD\",\r\n ARPendingCreation3: \"Pending creation on or before ETD\",\r\n\r\n ARNewInvoice1: \"Pending preparation more than 2 days after ETD\",\r\n ARNewInvoice2: \"Pending preparation within 2 days after ETD\",\r\n ARNewInvoice3: \"Pending preparation on or before ETD\",\r\n\r\n\r\n ARPreparedInvoice1: \"Pending printing more than 3 days after ETD\",\r\n ARPreparedInvoice2: \"Pending printing within 3 days after ETD\",\r\n ARPreparedInvoice3: \"Pending printing on or before ETD\",\r\n ARReleasedInvoice1: \"AR Released\",\r\n //ARReleasedInvoice1: \"Pending printing more than 3 days after ETD\",\r\n //ARReleasedInvoice2: \"Pending printing within 3 days after ETD\",\r\n //ARReleasedInvoice3: \"Pending printing on or before ETD\",\r\n\r\n ARPrintedInvoice1: \"Pending posting more than 2 days after printing\",\r\n ARPrintedInvoice2: \"Pending posting within 2 days after printing\",\r\n ARPrintedInvoice3: \"Pending posting on date of printing\",\r\n ARNewReversedInvoice1: \"Pending posting more than 2 days after printing\",\r\n ARNewReversedInvoice2: \"Pending posting within 2 days after printing\",\r\n ARNewReversedInvoice3: \"Pending posting on date of printing\",\r\n\r\n ARPostedInvoice1: \"Pending period close 10 days after AR creation month\",\r\n ARPostedInvoice2: \"Pending period close within 10 days after AR creation month\",\r\n ARPostedInvoice3: \"Pending period close for AR created within same calendar month\",\r\n ARReversedInvoice1: \"Pending period close 10 days after AR creation month\",\r\n ARReversedInvoice2: \"Pending period close within 10 days after AR creation month\",\r\n ARReversedInvoice3: \"Pending period close for AR created within same calendar month\",\r\n ARPostReversedInvoice1: \"Pending period close 10 days after AR creation month\",\r\n ARPostReversedInvoice2: \"Pending period close within 10 days after AR creation month\",\r\n ARPostReversedInvoice3: \"Pending period close for AR created within same calendar month\",\r\n\r\n ARPendingApproval1: \"Pending approval more than 2 days after preparation\",\r\n ARPendingApproval2: \"Pending approval within 2 days after preparation\",\r\n ARPendingApproval3: \"Pending approval on date of preparation\",\r\n\r\n\r\n ARPendingExport3: \"Pending export\",\r\n\r\n ARPendingImport3: \"Pending import\",\r\n\r\n ARPostedFailure3: \"AR Posting to SUN Failed\",\r\n ARPostedSuccess3: \"AR Posted to SUN Success\",\r\n ARPostedPending3: \"AR Pending Ack. from SUN\",\r\n\r\n\r\n /*AP*/\r\n APPendingCreation1: \"Pending creation more than 5 days after ETD\",\r\n APPendingCreation2: \"Pending creation within 5 days after ETD\",\r\n APPendingCreation3: \"Pending creation on or before ETD\",\r\n\r\n APNewInvoice1: \"Pending preparation more than 30 days after ETD\",\r\n APNewInvoice2: \"Pending preparation within 30 days after ETD\",\r\n APNewInvoice3: \"Pending preparation on or before ETD\",\r\n\r\n UploadDocMissing1: \"Pending Upload Document more than 30 days after ETD\",\r\n UploadDocMissing2: \"Pending Upload Document within 30 days after ETD\",\r\n UploadDocMissing3: \"Pending Upload Document on or before ETD\",\r\n\r\n APRefMissing1: \"Pending AP Ref more than 30 days after ETD\",\r\n APRefMissing2: \"Pending AP Ref within 30 days after ETD\",\r\n APRefMissing3: \"Pending AP Ref on or before ETD\",\r\n\r\n APPreparedInvoice1: \"Pending 1st level approval more than 2 days\",\r\n APPreparedInvoice2: \"Pending 1st level approval within 2 days\",\r\n APPreparedInvoice3: \"Pending 1st level approval after prepared\",\r\n\r\n APSupvApprovedInvoice1: \"Pending 2nd level approval more than 2 days after 1st level approval\",\r\n APSupvApprovedInvoice2: \"Pending 2nd level approval within 2 days after 1st level approval\",\r\n APSupvApprovedInvoice3: \"Pending 2nd level approval on date of 1st level approval\",\r\n //APReleasedInvoice1: \"pending 1st level approval more than 2 days\",\r\n //APReleasedInvoice2: \"pending 1st level approval within 2 days\",\r\n //APReleasedInvoice3: \"pending 1st level approval after prepared\",\r\n APReleasedInvoice1: \"AP Released\",\r\n APSupvRejectedInvoice1: \"AP Rejected\",\r\n APMgrRejectedInvoice1: \"AP Rejected\",\r\n\r\n\r\n\r\n APMgrApprovedInvoice1: \"Pending posting more than 2 days after approval\",\r\n APMgrApprovedInvoice2: \"Pending posting within 2 days after approval\",\r\n APMgrApprovedInvoice3: \"Pending posting on date of approval\",\r\n APNewReversedInvoice1: \"Pending posting more than 2 days after approval\",\r\n APNewReversedInvoice2: \"Pending posting within 2 days after approval\",\r\n APNewReversedInvoice3: \"Pending posting on date of approval\",\r\n\r\n APPostedInvoice1: \"pending period close 10 days after AR creation month\",\r\n APPostedInvoice2: \"pending period close within 10 days after AR creation month\",\r\n APPostedInvoice3: \"pending period close for AR created within same calendar month\",\r\n APReversedInvoice1: \"pending period close 10 days after AR creation month\",\r\n APReversedInvoice2: \"pending period close within 10 days after AR creation month\",\r\n APReversedInvoice3: \"pending period close for AR created within same calendar month\",\r\n APPostReversedInvoice1: \"pending period close 10 days after AR creation month\",\r\n APPostReversedInvoice2: \"pending period close within 10 days after AR creation month\",\r\n APPostReversedInvoice3: \"pending period close for AR created within same calendar month\",\r\n\r\n tooltips998: \"Not Applicable\",\r\n tooltips999: \"Colour cannot be show due to missing data\",\r\n\r\n APPostedFailure3: \"AP Posting to SUN Failed\",\r\n APPostedSuccess3: \"AP Posted to SUN Success\",\r\n APPostedPending3: \"AP Pending Ack. from SUN\",\r\n\r\n },\r\n lbInvSearch: {\r\n lbMenuItem_OPEN: \"Outstanding\",\r\n lbMenuItem_REOPEN: \"Outstanding\",\r\n lbMenuItem_LOCK: \"Completed\",\r\n lbMenuItem_LOCKGP: \"Completed - GP Locked\",\r\n\r\n lbMenuItem_UpdateAPRef: \"Update AP Ref.\",\r\n lbMenuItem_UploadDoc: \"Upload Document\",\r\n lbMenuItem_CRSummary: \"Print CR Summary\",\r\n lbMenuItem_UpdateSubTypeTaxRate: \"Update 'Invoice Sub - type' and 'Tax Rate Code'\",\r\n lbMenuItem_NoNextActivity: \"No Next Activity\",\r\n lbMenuItem_RePost: \"Re-post\",\r\n\r\n lbCreateNewAP: \"Create New AP\",\r\n lbCreateNewAR: \"Create New AR\",\r\n lbExportToExcel: \"Export to Excel\",\r\n lbColumnOption: \"Column Options\",\r\n\r\n lbQuickPreview: \"Quick Preview\",\r\n lbQuickPreviewTooltips: \"Preview selected invoice(s) in the popup window\",\r\n lbQuickPreviewHeader: \"Quick Preview of [invoice_no] \",\r\n lbQuickPreviewHeaderTooltips: \"In Quick Preview, you can't edit the invoice/ update the invoice's status. Click 'Open in New Tab' to open the invoice in a new tab for editing/ updating status (if applicable).\",\r\n lbQuickPreviewHeaderNewTabButton: \"Open In New Tab\",\r\n\r\n lbType: \"Type\",\r\n lbAccountCode: \"Account Code\",\r\n lbGP: \"GP\\n(Base Currency)\",\r\n lbGPPercent: \"GP%\",\r\n lbForeignGP: \"GP\\n(Reference)\",\r\n lbJob: \"Job#\",\r\n lbJobPeriod: \"Job Month\", //Group Panel\r\n //lbCurrentJobMonth: \"Current Job Month\", //Group Panel\r\n lbFutureJobMonth: \"Future Job Month\",\r\n lbJobCreatedBy: \"Job Created By\",\r\n lbJobCreatedDate: \"Job Created Date\",\r\n lbSearchJobCreatedBy: \"Search Job Created By\",\r\n lbInvoicceToFrom: \"Invoice To / From\",\r\n lbInvoicceToFromLocal: \"Invoice To / From (Local)\",\r\n lbSearchIssueParty: \"Search Invoice To / From\",\r\n\r\n lbInvoice: \"Invoice#\",\r\n lbAPRef: \"AP Ref.\",\r\n lbAPRefInputted: \"AP Ref. Inputted Flag\",\r\n lbSearchAPRef: \"Search AP Ref.\",\r\n lbReversingInvoice: \"Reversing Invoice#\",\r\n\r\n lbSO: \"SO#\",\r\n\r\n lbHBL: \"HBL# / HAWB#\",\r\n lbMBL: \"MBL# / MAWB#\",\r\n lbConsignee: \"Consignee\",\r\n lbSearchConsignee: \"Search Consignee\",\r\n lbReleaseAgent: \"Release Agent\",\r\n lbSearchReleaseAgent: \"Search Release Agent\",\r\n lbNominationAgent: \"Nomination Agent\",\r\n lbSearchNominationAgent: \"Search Nomination Agent\",\r\n\r\n lbJobService: \"Job Service\",\r\n lbCostCentre: \"Cost Centre Code\",\r\n lbModeOfTransport: \"Mode of Transport\",\r\n lbJobType: 'Job Type',\r\n lbSearchJobService: \"Search Job Service\",\r\n lbVessel: \"Vessel\",\r\n lbVoyage: \"Voyage\",\r\n lbFlightNo: \"Flight#\",\r\n lbFeederETD: \"Feeder ETD\",\r\n lbETD: \"ETD\",\r\n lbETA: \"ETA\",\r\n lbCarrier: \"Carrier\",\r\n lbSearchCarrier: \"Search Carrier\",\r\n\r\n lbLatestStatus: \"Invoice Status\",\r\n lbJobInvoicingStatus: \"Job Invoicing Status\",\r\n lbInvUpdatedBy: \"Invoice Updated By\",\r\n lbSearchInvUpdatedBy: \"Search Invoice Updated By\",\r\n\r\n lbInvUpdatedDate: \"Invoice Last Updated Time\",\r\n lbStatusUpdatedDate: \"Status Last Updated Time\",\r\n lbInvOffice: \"Job Office\",\r\n lbCreatorOffice: \"Invoice Create Office\",\r\n\r\n lbInvAmtInvCurrency: \"Invoice Amount\\n(Invoice Currency)\",\r\n lbSettledAmount: \"Invoice Settled Amount\\n(Invoice Currency)\",\r\n lbInvoiceFullySettled: \"Invoice Fully Settled\",\r\n lbSettled: \"Settled\",\r\n lbClosePeriod: \"Close Period\",\r\n\r\n lbSalesCode: \"Sales Code\",\r\n lbPaymentMarker: \"Payment Marker\",\r\n lbSearchSalesCode: \"Search Sales Code\",\r\n lbSunFile: \"Sun Account File\",\r\n lbAction: \"Action\",\r\n\r\n\r\n lbExportExcelTooltips: \"You can export a maximum of 10,000 records at a time.\",\r\n //lbSmartSearchTooltips: \"This searching can search [Job no, So#, HBL, MBL, Invoice#, Issue Party Name, Container#, Group#]\",\r\n lbSmartSearchTooltips: \"Enter Invoice#, Job#, SO#, HBL#/ HAWB#, MBL#/ MAWB#, Issue Party Name, Container# or Group# to search.Click the Customized Filter for advance searching.\\n\\nOnce you entered the keyword in this field, you could click 'Tab' and then press 'Enter' to perform searching.\",\r\n msgSureToChangeState: \"Are you sure the following records change status to @action?\",\r\n\r\n\r\n lbGovernmentInvoiceNo: \"Government Invoice#\",\r\n lbInvoiceDate: \"Invoice Date\",\r\n lbInvoiceSubtype: \"Invoice Sub-type\",\r\n lbPaymentRefFlag: \"Payment Ref. Flag\",\r\n lbPaymentRef: \"Payment Ref.\",\r\n lbTaxCode: \"Tax Rate Code\",\r\n lbARInterTran: \"AR Inter-account Transaction\",\r\n lbAPInterTran: \"AP Inter-account Transaction\",\r\n lbGroupNo: \"Group#\",\r\n lbExportFile: \"Export File\",\r\n lbTaxAmount: \"Tax Amount\",\r\n\r\n lbBatchPaymentARTooltips: \"Batch Payment is enabled for this issue party\",\r\n\r\n lbClosed: \"Closed Flag\",\r\n lbReference: \"Reference\",\r\n lbJobMonth: \"Job Month\",\r\n lbContainersNo: \"Container#\",\r\n\r\n lbExchangeRate: \"Exchange Rate\",\r\n lbInvAmtBaseCurrency: \"Invoice Amount\\n(Base Currency)\",\r\n lbHasUploadDoc: \"Doc\",\r\n lbBatchPayment: \"AR Batch Payment\",\r\n\r\n lbProcessStatus: \"Sun Process Status\",\r\n lbJournalNumber: \"Journal#\",\r\n lbSumbitXML: \"Latest Submit XML\",\r\n lbReturnXML: \"Latest Response XML\",\r\n\r\n lbInv_coloader_bl: 'Coloader BL#',\r\n lbInv_mso_no: 'Carrier Booking#',\r\n lbInv_so_ref: 'S/O Ref.',\r\n lbInv_shp_name: 'HBL Shipper Name',\r\n lbInv_job_min_eta: 'Earliest ETA',\r\n lbInv_o_ag_name: 'Origin Agent Name',\r\n },\r\n lbInvGroup: {\r\n lbTitle: \"Batch Payment for \",\r\n lbBatchTaxInvTitle: \"Batch Tax Invoice for \",\r\n lbGroup: \"Group#\",\r\n lbAccountCode: \"Account Code\",\r\n lbCurrency: \"Currency\",\r\n lbInvoiceSubType: \"Invoice Sub-type\",\r\n lbTaxRateCode: \"Tax Rate Code\",\r\n\r\n lbNoOfSelectedInvoice: \"No. of Selected Invoice\",\r\n lbTotalAmountofSelectedInvoice: \"Total Amount of Selected Invoice\\n(Invoice Currency)\",\r\n\r\n lbCurrenctGroup: \"Current Grouping for Export\",\r\n lbCurrenctGroup_TaxInvoice: \"Current Grouping for Tax Invoice\",\r\n lbHistory: \"History (Recent 2 Months)\",\r\n lbNoOfGroupedInvoice: \"No. of Grouped Invoice\",\r\n lbTotalAmountofGroupedInvoice: \"Total Amount of Grouped Invoice\\n(Invoice Currency)\",\r\n lbGroupedDate: \"Grouped Date\",\r\n lbExportDate: \"Export Time\",\r\n lbExportBy: \"Export By\",\r\n lbExportFile: \"Export File\",\r\n\r\n lbPrintedDate: \"Printed Time\",\r\n lbPrintedBy: \"Printed By\",\r\n lbPrintedFile: \"Print File\",\r\n\r\n lbCurrentGroupDescription: \"The following table shows the invoices, which belong to the above party and not yet perform data export. For those invoice(s) which belong to the same account under the same invoice currency will be treated as the same group for Batch Payment.\\nPlease select invoice(s) for exporting the data in a group for Batch Payment.Press the 'Export' button on the above after you have completed the selection. \",\r\n lbCurrentGroupDescription_TaxInvoice: \"The following table shows the invoices, which belong to the above party and not yet perform data export. For those invoice(s) which belong to the same account under the same invoice currency will be treated as the same group for Batch Print Tax Invoice.\\nPlease select invoice(s) for exporting the data in a group for Batch Payment.Press the 'Accounting Print' button on the above after you have completed the selection. \"\r\n },\r\n lbInvImport: {\r\n lbTitle: 'Import Document',\r\n lbIdx: '#',\r\n lbInvoiceNo: 'Invoice#',\r\n lbGovernmentInvoiceNo: \"Government Invoice#\",\r\n lbInvoiceDate: \"Invoice Date\",\r\n\r\n lbImportId: 'Import Reference#',\r\n lbImportIdTooltip: \"'Import Reference#' will be generated when you have uploaded an Import File onto the Web Invoice system. This number is for the purpose of reference and support.\",\r\n lbGroupNo: 'Group Invoice#',\r\n },\r\n\r\n /*Analytics */\r\n lbAnalytics: {\r\n lbWebInvoiceGP: \"Web Invoice GP\",\r\n lbWebInvoiceGP1: \"GP by Job Month, Service and Mode\",\r\n lbWebInvoiceGP2: \"GP by POL and Office\",\r\n lbWebInvoiceGP3: \"GP by CBM, Container, CW and Shipment\",\r\n lbWebInvoiceGP4: \"GP by Invoice and Shipment Details\",\r\n lbWebInvoiceSalesGP: \"Web Invoice Sales GP\",\r\n },\r\n\r\n\r\n /*Template Library*/\r\n lbTmplibAdoptPenal: {\r\n lbApply: 'Apply Once',\r\n lbUndo: 'Undo Once',\r\n lbFavorite: 'Favorite',\r\n lbEdit: 'Edit',\r\n lbView: 'View',\r\n lbCreateNewTemplate: 'Create Template',\r\n lbRefresh: 'Refresh the list',\r\n lbInfo: 'Select the template to be applied.',\r\n },\r\n lbTmplibSearch: {\r\n lbMyTemplate: \"My Template\",\r\n lbMarket: \"Market\",\r\n\r\n\r\n lbModule: \"Module\",\r\n lbCategory: \"Category\",\r\n lbTemplateName: \"Template Name\",\r\n lbDescriptionOfTemplate: \"Template Description\",\r\n lbOwner: \"Owner\",\r\n lbLastUpdate: \"Last Update\",\r\n lbTemplateId: \"Template Id\",\r\n\r\n lbTagCould: \"Top Tags: \",\r\n lbTags: \"Tags\",\r\n\r\n\r\n\r\n\r\n lbRecordUpdatedMsg: \"[TemplateName] has been updated. You could continue to use it.\",\r\n\r\n lbCreateNewTemplate: \"Create Template\",\r\n\r\n\r\n\r\n lbAdded: \"Added\",\r\n\r\n lbMenuItem_Delete: \"Delete\",\r\n lbMenuItem_AddToMyTemplate: \"Add To My Template\",\r\n lbMenuItem_RemoveFormMyTemplate: \"Remove From My Template\",\r\n\r\n\r\n /**Tooltip**/\r\n lbPrivate: \"Private\",\r\n //lbMarket: \"Market\", //duplicate key\r\n lbSharingInMarket: \"Sharing in Market\",\r\n lbShareByOffice: \"Sharing By Office\",\r\n lbAddedFromMarket: \"Added from Market\",\r\n lbToMainOffice: \"Your Main Office\",\r\n lbGlobal: \"Global\",\r\n\r\n lbTooltips_Favorite: \"Favorite\",\r\n lbTooltips_Active: \"Active\",\r\n lbTooltips_Inactive: \"Inactive\",\r\n\r\n lbCreatedFromMyTemplate: \"Created from My Template\",\r\n lbAddedIntoMyTemplate: \"Already Added into My Template\",\r\n\r\n lbTooltips_MyTemplate: \"The templates created by you or added from the Market\",\r\n lbTooltips_Market: \"To browse and get the templates from the Market, which are created by others and sharing with you\",\r\n lbSmartSearchTooltips: \"This searching can search [Template Name, Description of Template and Tags]\",\r\n\r\n },\r\n lbTmplibActionModal: {\r\n lbTitle_: '', //Avoid console log\r\n lbTitle_Delete: 'Are you sure to delete the following templates?',\r\n lbTitle_AddToMyTemplate: 'Are you sure to add the following templates to My Template?',\r\n lbTitle_RemoveFormMyTemplate: 'Are you sure to remove the following templates to My Template?',\r\n lbDelete_Text1: 'Sure to delete the selected template?',\r\n //lbDelete_Text1: 'Sure to add the selected template to My Template?',\r\n lbDelete_Text2: 'Sure to delete the selected template? after deletion, this shared template will be removed from all user\\'s template library',\r\n },\r\n lbTmplibDetails: {\r\n lbModule: \"Module\",\r\n lbCategory: \"Category\",\r\n //lbCategory: \"Category\",\r\n lbTmpLib: \"[#(Tmplib_id)]\",\r\n lbTmpName: \"Template Name\",\r\n lbTmpId: \"Template ID\",\r\n lbTmpCreatedBy: \"Created by\",\r\n lbTmpDescription: \"Description\",\r\n lbReleaseNote: \"Release Note\",\r\n lbShareLink: \"Share Link\",\r\n lbShareOffice: \"Share Office\",\r\n\r\n lbPrivacy: \"Share\",\r\n lbPrivate: \"Private\",\r\n lbPublic: \"Market\",\r\n lbByOffice: \"Market (Specific Office)\",\r\n lbToMainOffice: \"Your Main Office\",\r\n lbGlobal: \"Global\",\r\n\r\n lbShareToOffice: \"Share to office\",\r\n lbLinkShare: \"Link Share\",\r\n lbEnabled: \"Enabled\",\r\n lbHashTag: \"Tags\",\r\n lbColor: \"Display Color\",\r\n\r\n lbColorScheme1: \"Gold\",\r\n lbColorScheme2: \"Light Blue\",\r\n lbColorScheme3: \"Blue\",\r\n lbColorScheme4: \"Dark Blue\",\r\n lbColorScheme5: \"Purple Blue\",\r\n\r\n lbTmpStatus: \"Template Status\",\r\n\r\n\r\n\r\n /**Tooltip**/\r\n lbTooltips_Favorite: \"Favorite\",\r\n lbTooltips_Active: \"Active\",\r\n lbTooltips_Inactive: \"Inactive\",\r\n\r\n lbTooltips_PrivacySettings: \"Private: the template will be visible to you only \\\r\n \\n\\nMarket: the template will be shared and available in the market.Other users can add this template from the market and use it \\\r\n \\n\\nMarket(Specific Office): the template will be shared and available in the market.Users from the specific office(s) can add this template from the market and use it \\\r\n \\n\\nYour Main Office: the template will be shared with all users in your main office.They can use it directly(don't need to add this template from the market before use) \\\r\n \\n\\nGlobal: the template will be shared with all users.They can use it directly(don't need to add this template from the market before use) \",\r\n lbTooltips_ShareLink: \"You could share this template with your teammates/ other users by an URL. They could get this template by opening this URL.\",\r\n lbTooltips_ReleaseNote: \"As this template is sharing with other users, please write a 'Release Note' for explaining what you have updated when you are saving the template. This is for other users' easy reference.\",\r\n lbTooltips_Hashtag: \"Tags allow the user to organize thousands of templates in the simplest way.The user could quickly filter out and search for the specific template(s) by applying and using Tags to search.\",\r\n lbTooltips_DisplayColor: \"When you are applying the template, the record(s) created by this template will be marked as your selected Display Colour for your easy reference.\",\r\n\r\n lbTooltips_SelectCounter: \"Number of the selected options\",\r\n },\r\n lbTmplibEditError: {\r\n lbDuplicateName: \"This template name is used.\",\r\n lbUpdateFailure: \"Template Library Update Failure. Please Contact Administrator.\",\r\n lbSaveSuccess: 'Template Library saved successfully.',\r\n lbNoPermission: 'You have no permission',\r\n lbFillInRequiredFields: 'Please fill in all required fields in Template Content.',\r\n lbCopyToClipboard: 'Share Link is copied.',\r\n lbGetTemplateFailure: 'This template can\\'t be added into your Template Library because it is a private template.',\r\n lbGetTempalteSuccess: 'This template has been added to your Template Library.',\r\n },\r\n /*Template Library - Add Text According to Master Table*/\r\n lbTmplibModule: {\r\n WebInvoice: \"Web Invoice\",\r\n BMS: \"BMS\"\r\n },\r\n lbTmplibCategory: {\r\n INV_7023: \"7021\",\r\n INV_7024: \"7024\",\r\n INV_7025: \"7025\",\r\n INV_7026: \"7026\",\r\n INV_7028: \"7028\",\r\n INV_7030: \"7030\",\r\n INV_703X: \"703X\",\r\n INV_7048: \"7048\",\r\n INV_GCSOPMS: \"General Charge SOPMS\",\r\n INV_GCSOPMS_7048: \"General Charge SOPMS 7048\",\r\n INV_PRINT_OPT: \"Print Options\",\r\n BMS_MARKS_GOODS: \"Marks & No. and Goods Description\",\r\n\r\n },\r\n lbTmplibStep: {\r\n INV_7023_step1: 'Template Setting',\r\n INV_7023_step2: 'Template Content',\r\n INV_7024_step1: 'Template Setting',\r\n INV_7024_step2: 'Template Content',\r\n INV_7025_step1: 'Template Setting',\r\n INV_7025_step2: 'Template Content',\r\n INV_7026_step1: 'Template Setting',\r\n INV_7026_step2: 'Template Content',\r\n INV_7028_step1: 'Template Setting',\r\n INV_7028_step2: 'Template Content',\r\n INV_703X_step1: 'Template Setting',\r\n INV_703X_step2: 'Template Content',\r\n INV_7030_step1: 'Template Setting',\r\n INV_7030_step2: 'Template Content',\r\n INV_7048_step1: 'Template Setting',\r\n INV_7048_step2: 'Template Content',\r\n INV_GCSOPMS_step1: 'Input',\r\n INV_GCSOPMS_step2: 'Output',\r\n INV_GCSOPMS_7048_step1: 'Input',\r\n INV_GCSOPMS_7048_step2: 'Output',\r\n },\r\n lbTmplibFormTitle: {\r\n INV_Setting: \"Setting\",\r\n INV_GeneralCharge: \"Pre-defined General Charge Item\",\r\n INV_PLHBL: \"Pre-defined Charge Item in 'P & L Charge At House Bill Level' table\",\r\n INV_ChequeRequest: \"Pre-defined Cheque Request Item\",\r\n INV_GCSOPMS_INPUT: \"Searching Criteria\",\r\n INV_GCSOPMS_OUTPUT: \"Pre-defined General Charge Item\",\r\n INV_GCSOPMS_SETTING: \"Setting\",\r\n INV_PrintOption: \"Print Options\",\r\n BMS_MARKS_GOODS: \"Marks & No. and Goods Description\",\r\n },\r\n lbTmplibFormTitle_Tooltip: {\r\n INV_Setting: \"Please select the preferable 'Account Code', 'Office', and 'Invoice Type' as the basis of the 'Template Setting' of this template. The 'Template Setting' will be used to customize the columns on the 'Template Content' and filter out the option of selection list on 'Template Content'.\\nIt is recommended that you should always check the content after adopting the template onto an invoice.\", },\r\n lbTmplibFieldTitle_Tooltip: {\r\n INV_GC_Reference: \"Tell the system how to generate the General Charge Items.\",\r\n INV_CR_Reference: \"Tell the system how to generate the Cheque Request Items.\",\r\n INV_GCSOPMS_OUT_BaseOn: \"Tell the system how to generate the General Charge Items.\",\r\n INV_GCSOPMS_OUT_Override: \"0 = All users could override \\\r\n \\n10 = Invoice user, supervisor and manager could override \\\r\n \\n20 = Invoice supervisor and manager could override \\\r\n \\n30 = Invoice manager could override \\\r\n \\n99 = No one can override\",\r\n INV_GCSOPMS_SETTING_ValidationGroup: \"Please fill in a numerical value in 'Validation Group' & 'Tags' for easy reference. \\nThe system will disallow if contradiction on \\\"ETD Effective Date Range\\\" and/or \\\"Invoice Date Effective Date Range\\\" was found between different SOPMS in the same Validation Group.\\n\\nPlease refer to *** M:\\\\Dept\\\\Future\\\\SOPMS *** about the Validation Group Master List\\n\\n** Fill in \\\"0\\\" if the validation checking is not required\",\r\n INV_GC_Qty: \"If QTY in the template is 0, the system will auto - replace the 'Qty' according to the invoice's information in the following situations. \\\r\n \\n \\n1. Reference = 'Each Job'.A charge code is selected.UOM = 'Bill'. -- > Qty will auto - replace as the number of bills in each job\\\r\n \\n \\n2. Reference = 'Each HBL/HAWB'.A charge code is selected.UOM = 'Container'. -- > Qty will auto - replace as the number of containers in each HBL/HAWB\",\r\n INV_CR_Qty: \"If QTY in the template is 0, the system will auto - replace the 'Qty' according to the invoice's information in the following situations. \\\r\n \\n \\n1. Reference = 'Each Job'.A charge code is selected.UOM = 'Bill'. -- > Qty will auto - replace as the number of bills in each job\\\r\n \\n \\n2. Reference = 'Each HBL/HAWB'.A charge code is selected.UOM = 'Container'. -- > Qty will auto - replace as the number of containers in each HBL/HAWB\",\r\n INV_GC_MinTotalAmount: \"If the template line involves calculation & auto-place the 'QTY' when applying the template (e.g. charge $1 per KG for each bill, the 'QTY' will auto-place as the house level's KG when applying the template), you could set a minimum or maximum total amount for it.\\\r\n \\n \\nWhen 'Min/ Max Total Amount' is filled, please input the corresponding fields as well('Min/Max Charge', 'Min/Max Print Description' and 'Min/Max UOM').All these fields will be applied together when it hits the minimum or maximum condition.\",\r\n INV_GC_MaxTotalAmount: \"If the template line involves calculation & auto-place the 'QTY' when applying the template (e.g. charge $1 per KG for each bill, the 'QTY' will auto-place as the house level's KG when applying the template), you could set a minimum or maximum total amount for it.\\\r\n \\n \\nWhen 'Min/ Max Total Amount' is filled, please input the corresponding fields as well('Min/Max Charge', 'Min/Max Print Description' and 'Min/Max UOM').All these fields will be applied together when it hits the minimum or maximum condition.\",\r\n INV_CR_MinTotalAmount: \"If the template line involves calculation & auto-place the 'QTY' when applying the template (e.g. charge $1 per KG for each bill, the 'QTY' will auto-place as the house level's KG when applying the template), you could set a minimum or maximum total amount for it.\\\r\n \\n \\nWhen 'Min/ Max Total Amount' is filled, please input the corresponding fields as well('Min/Max Charge', 'Min/Max Remarks' and 'Min/Max UOM').All these fields will be applied together when it hits the minimum or maximum condition.\",\r\n INV_CR_MaxTotalAmount: \"If the template line involves calculation & auto-place the 'QTY' when applying the template (e.g. charge $1 per KG for each bill, the 'QTY' will auto-place as the house level's KG when applying the template), you could set a minimum or maximum total amount for it.\\\r\n \\n \\nWhen 'Min/ Max Total Amount' is filled, please input the corresponding fields as well('Min/Max Charge', 'Min/Max Remarks' and 'Min/Max UOM').All these fields will be applied together when it hits the minimum or maximum condition.\",\r\n INV_GC_PrintDescriptionSelect: \"Please leave 'Print Description' as blank if the default charge description of the charge code should be used when you are adopting the template onto an invoice\",\r\n\r\n BMS_Prefer_Using_At: \"It is optional to fill in for BMS - Marks & No. and Goods Description\",\r\n },\r\n lbTmplibFieldTitle: {\r\n //Fixed Item\r\n lbLine: \"#\",\r\n\r\n //Record Title\r\n /**Web Invoice - Setting**/\r\n INV_Setting_Office: \"Office\",\r\n INV_Setting_AccountCode: \"Account Code\",\r\n INV_Setting_InvoiceType: \"Invoice Type\",\r\n\r\n /**Web Invoice - General Charge**/\r\n INV_GC_DrCr: \"DR/CR\",\r\n INV_GC_Reference: \"Auto Create 1 General Charge Item For\",\r\n INV_GC_Charge: \"Charge\",\r\n INV_GC_Charge_7048: \"Charge\",\r\n INV_GC_PrintDescription: \"Print Description\",\r\n INV_GC_PrintDescriptionSelect: \"Print Description\",\r\n INV_GC_Currency: \"Currency\",\r\n INV_GC_UnitPrice: \"Unit Price\",\r\n INV_GC_ExchangeRate: \"\",\r\n INV_GC_Qty: \"QTY\",\r\n INV_GC_UOM: \"UOM\",\r\n INV_GC_Remark: \"Reference\",\r\n\r\n INV_GC_MinCharge: \"Min Charge\",\r\n INV_GC_MinPrintDescription: \"Min Print Description\",\r\n INV_GC_MinPrintDescriptionSelect: \"Print Description\",\r\n INV_GC_MinUOM: \"Min UOM\",\r\n INV_GC_MinTotalAmount: \"Min Total Amount\",\r\n //INV_GC_MinTotalAmount_TaxInclusive: \"Min Total Amount\",\r\n\r\n INV_GC_MaxCharge: \"Max Charge\",\r\n INV_GC_MaxPrintDescription: \"Max Print Description\",\r\n INV_GC_MaxPrintDescriptionSelect: \"Print Description\",\r\n INV_GC_MaxUOM: \"Max UOM\",\r\n INV_GC_MaxTotalAmount: \"Max Total Amount\",\r\n //INV_GC_MaxTotalAmount_TaxInclusive: \"Max Total Amount\",\r\n\r\n /**Web Invoice - PL HBL**/\r\n INV_PLC_HBL: \"HBL / HAWB\",\r\n INV_PLHBL_CW: \"\",\r\n INV_PLHBL_Charge: \"Charge\",\r\n INV_PLHBL_PrintDescription: \"Print Description\",\r\n INV_PLHBL_Agent: \"Profit/Loss Agent\",\r\n INV_PLHBL_Agent_BuyCBM: \"\",\r\n INV_PLHBL_Agent_BuyQTY: \"\",\r\n INV_PLHBL_Agent_SellCBM: \"\",\r\n INV_PLHBL_Agent_SellQTY: \"\",\r\n INV_PLHBL_MR_BuyCBM: \"\",\r\n INV_PLHBL_MR_BuyQTY: \"\",\r\n INV_PLHBL_MR_SellCBM: \"\",\r\n INV_PLHBL_MR_SellQTY: \"\",\r\n\r\n\r\n /**Web Invoice - Cheque Request**/\r\n INV_CR_Reference: \"Auto Create 1 General Charge Item For\",\r\n INV_CR_Remark: \"Reference\",\r\n INV_CR_Charge: \"Charge\",\r\n INV_CR_PrintDescription: \"Print Description\",\r\n INV_CR_Description: \"Remarks\",\r\n INV_CR_Currency: \"Currency\",\r\n INV_CR_UnitPrice: \"Unit Price\",\r\n INV_CR_Qty: \"QTY\",\r\n INV_CR_UOM: \"UOM\",\r\n\r\n INV_CR_MinCharge: \"Min Charge\",\r\n INV_CR_MinPrintDescription: \"Min Remarks\",\r\n INV_CR_MinUOM: \"Min UOM\",\r\n INV_CR_MinTotalAmount: \"Min Total Amount\",\r\n\r\n INV_CR_MaxCharge: \"Max Charge\",\r\n INV_CR_MaxPrintDescription: \"Max Remarks\",\r\n INV_CR_MaxUOM: \"Max UOM\",\r\n INV_CR_MaxTotalAmount: \"Max Total Amount\",\r\n\r\n /**GC SOPMS**/\r\n INV_GCSOPMS_SETTING_ValidationGroup: \"Validation Group\",\r\n\r\n INV_GCSOPMS_IN_AccountCode: \"Account Code\",\r\n INV_GCSOPMS_IN_InvoiceType: \"Invoice Type\",\r\n INV_GCSOPMS_IN_OverseasLocal: \"Overseas / Local\",\r\n INV_GCSOPMS_IN_Office: \"Job Office\",\r\n INV_GCSOPMS_IN_Customer: \"Customer\",\r\n INV_GCSOPMS_IN_IssueToFrom: \"Issue Party\",\r\n INV_GCSOPMS_IN_NominationAgent: \"Nomination Agent\",\r\n INV_GCSOPMS_IN_ReleaseAgent: \"Release Agent\",\r\n INV_GCSOPMS_IN_Consignee: \"Consignee\",\r\n INV_GCSOPMS_IN_NotifyParty: \"Notify Party\",\r\n INV_GCSOPMS_IN_MOT: \"Mode of Transport\",\r\n INV_GCSOPMS_IN_Service: \"Job Service\",\r\n\r\n INV_GCSOPMS_IN_ETD_from: \"ETD effective from\",\r\n INV_GCSOPMS_IN_ETD_to: \"ETD effective to\",\r\n INV_GCSOPMS_IN_InvoiceDt_from: \"Invoice Date effective from\",\r\n INV_GCSOPMS_IN_InvoiceDt_to: \"Invoice Date effective to\",\r\n\r\n /**GC SOPMS**/\r\n INV_GCSOPMS_OUT_DrCr: \"DR/CR\",\r\n INV_GCSOPMS_OUT_BaseOn: \"Auto Create 1 General Charge Item For\",\r\n INV_GCSOPMS_OUT_Charge: \"Charge\",\r\n INV_GCSOPMS_OUT_PrintDescription: \"Print Description\",\r\n INV_GCSOPMS_OUT_Currency: \"Currency\",\r\n INV_GCSOPMS_OUT_UnitPrice: \"Unit Price\",\r\n INV_GCSOPMS_OUT_Qty: \"QTY\",\r\n INV_GCSOPMS_OUT_UOM: \"UOM\",\r\n INV_GCSOPMS_OUT_Reference: \"Reference\",\r\n\r\n INV_GCSOPMS_OUT_MinCharge: \"Min Charge\",\r\n INV_GCSOPMS_OUT_MinPrintDescription: \"Min Print Description\",\r\n INV_GCSOPMS_OUT_MinUOM: \"Min UOM\",\r\n INV_GCSOPMS_OUT_MinTotalAmount: \"Min Total Amount\",\r\n\r\n INV_GCSOPMS_OUT_MaxCharge: \"Max Charge\",\r\n INV_GCSOPMS_OUT_MaxPrintDescription: \"Max Print Description\",\r\n INV_GCSOPMS_OUT_MaxUOM: \"Max UOM\",\r\n INV_GCSOPMS_OUT_MaxTotalAmount: \"Max Total Amount\",\r\n\r\n INV_GCSOPMS_OUT_Override: \"Override by\",\r\n\r\n\r\n /***Local Invoice***/\r\n INV_GC_UnitPriceTax: \"Unit Price\",\r\n\r\n\r\n /***Print Option***/\r\n INV_PrintOption_Sea: \"Print Options for Sea\",\r\n INV_PrintOption_Air: \"Print Options for Air\",\r\n\r\n\r\n /***BMS***/\r\n BMS_Prefer_Using_At: \"Prefer Using At\",\r\n BMS_Description: \"Marks & No. / Goods Description\",\r\n },\r\n /***Customize Template Library***/\r\n\r\n /**** CR Share the same wordings **/\r\n Tmplib_INV_GC_Reference_ValueTo: {\r\n lb_1TO1: 'Job No. if only 1 job',\r\n lb_PERJOB: 'Job No.',\r\n lb_PERHBL: 'HBL/HAWB No. (If UOM = \"KG\"/\"CBM\" and Qty = 0, QTY will be replaced)',\r\n lb_PERCONTAINER: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_20: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_40: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_40HC: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_45: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_LCL: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_20HC: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_10: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_48: 'Container No./ Size',\r\n lb_PERCONTAINERSIZE_53: 'Container No./ Size',\r\n lb_GROUPBYHBL: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYHBL_PERMBL: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINER: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_20: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_40: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_40HC: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_45: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_LCL: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_20HC: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_10: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_48: 'Job No. (QTY will be replaced)',\r\n lb_GROUPBYCONTAINERSIZE_53: 'Job No. (QTY will be replaced)',\r\n },\r\n\r\n /***Dashboard Bar***/\r\n dashboardBar: {\r\n lbApply: 'Apply Once',\r\n lbSave: 'Save',\r\n lbDelete: 'Delete',\r\n lbNewFilter: 'Save Filter',\r\n lbEditFilter: 'Edit Filter',\r\n lbDeleteFilter: 'Delete Filter',\r\n lbFilterName: 'Filter Name',\r\n lbDateInputOption1: \"1 Day\",\r\n lbDateInputOption2: \"2 Days\",\r\n lbDateInputOption3: \"1 week\",\r\n lbDateInputOption4: \"2 weeks\",\r\n lbDateInputOption5: \"1 month\",\r\n lbDateInputOption6: \"2 months\",\r\n lbDateInputOption7: \"3 months\",\r\n lbBgColors: \"Background Color\",\r\n msgDeletePreference: 'Are you sure you want to delete this custom dashboard card?',\r\n msgMissingFilterDetail: 'Please fill in all the required fields in Customized Filter.',\r\n msg3CharactersRequired: 'The value must contains at least 3 characters.'\r\n },\r\n /***Filter Bar***/\r\n filterBar: {\r\n tlImgBtnFilter: \"Customized Filter\",\r\n msgClearCustomFilter: 'Sure to clear all custom filters?',\r\n lbField: 'Field',\r\n lbOperator: 'Operator',\r\n lbValue: 'Value',\r\n lbDateInputOption1: \"1 Day\",\r\n lbDateInputOption2: \"2 Days\",\r\n lbDateInputOption3: \"1 week\",\r\n lbDateInputOption4: \"2 weeks\",\r\n lbDateInputOption5: \"1 month\",\r\n lbDateInputOption6: \"2 months\",\r\n lbDateInputOption7: \"3 months\",\r\n msgMissingFilterDetail: 'Please fill in all the required fields in Customized Filter.',\r\n msg3CharactersRequired: 'The value must contains at least 3 characters.'\r\n },\r\n userMaintenance: {\r\n msgWarningDuplicateOPSID: \"Below OPS ID exists in other user accounts. Please make sure the OPS ID and Office are entered correctly for this account. Click 'OK' to ignore this warning and continue to save the change.\",\r\n msgListDuplcaiteOPSID: \"OPS ID \\\"{{ops_user_id}}\\\" for Office \\\"{{party_office_code}}\\\": {{login_id}}\"\r\n },\r\n consolidation: {\r\n lblConsolPlan: \"Consol Plan\",\r\n lblConsolApproval: \"Consol Approval\",\r\n lblLoadPlan: \"Load Plan\",\r\n lblShippingInstruction: \"Container-PO Allocation\",\r\n lblDocumentUpload: \"Document Upload\",\r\n msgFillInRequiredFields: \"Please fill in all required fields.\",\r\n lbConsolPlanInformation: \"Consol Plan Information\",\r\n lbShipmentsTable: \"Selected Bookings\",\r\n lbConsolidationType: \"Consolidation Type\",\r\n msgConsolidationTypeRequired: \"Please select the Consolidation Type\",\r\n lbOriginAgentContactOffice: \"M+R Contact Office\",\r\n lbOriginAgentContactOfficePlaceHolder: \"M+R Contact Office\",\r\n msgOriginAgentContactOfficeRequired: \"Please select the M+R contact office\",\r\n lbConsolidationTypeToolTip: \"Agent Consol: Shipper delivers LCL cargo to M+R warehouse (CFS) at origin for physical consolidation with other applicable shipping orders. The HBLs in the Agent Consol are consigned to DIFFERENT consignees and are all handled by the SAME Release Agent.\\n\\nBuyer Consol: Shipper delivers LCL cargo to M+ R warehouse(CFS) at origin for physical consolidation with other applicable shipping orders.The HBLs in the Buyer Consol are consigned to the SAME Consignee.\\n\\nShipper Consol: Shippers arrange the loading at their own locations at origin(i.e.not physically via M+ R's CFS), seal and deliver the Shipper Consol to CY on \\\"said to contain\\\" basis. Shippers must provide letters of guarantee and takes full responsibilities for this type of operation.\\n\\nLCL / Coload Consol: Shipper delivers LCL cargo to M + R appointed coloader’s warehouse(CFS) for consolidation by coloader.The HBLs are either consigned to the SAME Consignee and / or handled by the SAME Release Agent.\",\r\n lbOriginAgentContactOfficeToolTip: \"Contact Office is the office to coordinate with CFS about the consolidation and it will be used as the contact office on the printouts.\",\r\n msgFillInRequiredTabFields: \"Please revise highlighted tab(s)\",\r\n lbConsolidationHandlingOffice: \"Consol Handling Office\",\r\n lbConsolidationHandlingOfficePlaceHolder: \"Consol Handling Office\",\r\n lbConsolidationHandlingOfficeToolTip: \"Please select the M+R office to handle this Consol Plan and coordinate with CFS about the consolidation. It is normally the M+R office of the POL.\",\r\n msgConsolidationHandlingOfficeRequired: \"Please input consol handling office\",\r\n lbHBLOffice: \"HBL Issued Office\",\r\n lbHBLOfficePlaceHolder: \"HBL Issued Office\",\r\n lbHBLOfficePlaceToolTip: \"M+R Office for issuing the HBL\",\r\n lbConsolidationPOL: \"Port of Loading (POL)\",\r\n lbConsolidationPOLPlaceHolder: \"Port of Loading (POL)\",\r\n msgConsolidationPOLRequired: \"Please select the Port of Loading (POL)\",\r\n lbConsolidationPOD: \"Port of Discharge (POD)\",\r\n lbConsolidationPODPlaceHolder: \"Port of Discharge (POD)\",\r\n msgConsolidationPODRequired: \"Please select the Port of Discharge (POD)\",\r\n lbMRConsolReference: \"M+R Consol Reference\",\r\n lbMRConsolReferencePlaceHolder: \"M+R Consol Reference\",\r\n lbAgentReference: \"Agent Consol Reference\",\r\n lbAgentReferencePlaceHolder: \"Agent Consol Reference\",\r\n lbConsigneeReference: \"Consignee Consol Reference\",\r\n lbConsigneeReferencePlaceHolder: \"Consignee Consol Reference\",\r\n lbBuyerReference: \"Buyer Consol Reference\",\r\n lbBuyerReferencePlaceHolder: \"Buyer Consol Reference\",\r\n lbContainerSummarySize: \"Consol Container Size\",\r\n lbContainerSummarySizePlaceHolder: \"Consol Container Size\",\r\n lbFCLContainerSummarySize: \"FCL Container Size\",\r\n lbFCLContainerSummarySizePlaceHolder: \"FCL Container Size\",\r\n msgContainerSummarySizeRequired: \"Please select the Container Size\",\r\n lbContainerSummaryQty: \"Qty\",\r\n lbContainerSummaryQtyPlaceHolder: \"Qty\",\r\n msgContainerSummaryQtyRequired: \"Please input qty\",\r\n errConsolidationNotFound: \"Consolidation ({{consolidation_no}}) is not found.\",\r\n miCancelConsolidation: \"Cancel Consolidation\",\r\n msgSureToCancelConsolidation: \"Are you sure you want to cancel the consol?\",\r\n msgRestorePrevSearchCriteria: \"The previous search criteria has been restored.\",\r\n\r\n colLine: \"#\",\r\n colSoHdOffName: 'Booking Handling Office',\r\n colSoNo: \"SO#\",\r\n colConsolNo: \"CONSOL#\",\r\n colPoNo: \"PO#\",\r\n colCargoReadyDate: 'Cargo Ready Date',\r\n colContainerNo: 'Container Number',\r\n colLoadingSeq: 'Loading Seq.',\r\n colTotalCbm: 'Total CBM',\r\n colTotalKg: 'Total KG',\r\n colTotalPackageQty: 'Total Package Qty (UOM)',\r\n colTotalLCLItemQty: 'Total Item Qty (UOM) (LCL)',\r\n colTotalLCLPackageQty: 'Total Package Qty (UOM) (LCL)',\r\n colTotalLCLCbm: 'Total CBM (LCL)',\r\n colTotalLCLKg: 'Total KG (LCL)',\r\n colAllocatedPackageQty: 'Allocated Package Qty',\r\n colBookingContainer: 'Booking Container',\r\n colDangerousGoods: 'Dangerous Goods?',\r\n colShipper: 'Shipper',\r\n colConsignee: 'Consignee',\r\n colNotifyParty: 'Notify Party',\r\n colReleaseAgent: 'Release Agent',\r\n colReleaseAgentCode: 'Release Agent Code',\r\n colNominationAgent: 'Nomination Agent', \r\n colPor: 'POR',\r\n colPol: 'POL',\r\n colEtd: 'ETD',\r\n colPod: 'POD',\r\n colConsolDate: 'Consol Date',\r\n colConsolStatus: 'Consol Status',\r\n colConsolStatusDate: 'Consol Status Date',\r\n colConsolApprovalStatus: 'Consol Approval Status',\r\n colConsolApprovalStatusDate: 'Consol Approval Status Date',\r\n colCargoReadyDateFrom: 'Cargo Ready Date From',\r\n colCargoReadyDateTo: 'Cargo Ready Date To',\r\n colConsolUpdatedBy: 'Consol Updated By',\r\n colConsolLastUpdatedTime: 'Consol Last Updated Time',\r\n colConsolApprovalReason: 'Consol Approval Reason',\r\n colConsolApprovalRemarks: 'Consol Approval Remarks',\r\n colConsolApprovalUpdatedBy: 'Consol Approval Updated By',\r\n colLatestStatus: 'Latest Status',\r\n colJobNo: 'Job#',\r\n colPodEta: 'POD ETA',\r\n colConsigneeReference: 'Consignee Consol Reference',\r\n colAgentReference: 'Agent Consol Reference',\r\n colOriginAgentReference: 'M+R Reference',\r\n colConsolHdOffName: 'Consol Handling Office',\r\n colAmendedBookingPending: 'Amended Booking Pending',\r\n colLoadPlanPendingAllocation: 'Load Plan Pending Allocation',\r\n colConsolApprovalUpdatedByProfile: 'Consol Approval Updated by Profile',\r\n colConsolCreatedBy: 'Consol Created By',\r\n\r\n lbLoadPlanInformation: 'Load Plan Information',\r\n lbMblNo: 'Carrier MBL No.',\r\n lbColoaderBlNo: 'Co-loader BL No.',\r\n lbColoaderBLNoPlaceholder: \"Enter Co-loader BL No.\",\r\n msgColoaderBlNoEnterBySO: 'Enter by SO',\r\n msgColoaderBlNoSameForAllSO: 'Same for all SO',\r\n lbSameForAllSO: 'Same for all SO',\r\n lbEnterBySO: 'Enter by SO',\r\n lbMovementPlaceholder: 'Select Movement',\r\n lbWarehouse: 'Warehouse',\r\n lbWarehouseContactPerson: 'Warehouse Contact Person',\r\n lbOriginAgentContactPerson: 'M+R Contact Person',\r\n lbWarehouseTel: 'Warehouse Contact Phone',\r\n lbOriginAgentTel: 'M+R Contact Phone',\r\n lbWarehouseFax: 'Warehouse Contact Fax',\r\n lbOriginAgentFax: 'M+R Contact Fax',\r\n lbWarehouseEmail: 'Warehouse Contact Email',\r\n lbOriginAgentEmail: 'M+R Contact Email',\r\n lbWarehouseRemarks: 'Instruction to Warehouse and Remarks',\r\n lbRemarks: 'Remarks to Destination',\r\n\r\n lbSOContainerAllocation: 'SO-Container Allocation',\r\n lbContainerSize: 'Container Size',\r\n msgContainerSizeRequired: 'Please select the Container Size',\r\n lbContainerTypeOwnership: 'Container Type/ Ownership',\r\n lbContainerType: 'Container Type',\r\n lbContainerOwnership: 'Container Ownership',\r\n msgContainerOwnershipRequired: 'Please select a Container Ownership',\r\n lbContainerNo: 'Container Number',\r\n lbSealNo: 'Seal Number',\r\n msgSealNoRequired: 'Please input Seal Number',\r\n lbContainerActualPackageQty: 'Container Actual Package Qty',\r\n lbContainerActualCBM: 'Container Actual CBM',\r\n lbContainerActualKG: 'Container Actual KG',\r\n lbCarrierSONo: 'Carrier Booking No.',\r\n lbMovement: 'Movement',\r\n lbPartOf: 'Part Of',\r\n lbCYGateIn: 'CY Gate-in',\r\n lbCFSReceived: 'CFS Received',\r\n msgCarrierSONoRequired: 'Please input Carrier Booking#',\r\n msgActualKGRequired: 'Please input Container Actual KG',\r\n lbVGM: 'VGM',\r\n lbSOContainerAllocationRemarks: 'Remarks',\r\n lbPackageQty: 'Package Qty',\r\n lbCBM: 'CBM',\r\n lbKG: 'KG',\r\n lbSandFill: 'Sand Fill',\r\n tlAppendDetailPackageInRemarkBtn: 'Append the detail Package Qty & UOM in Remarks',\r\n tlLoadPlanAllocationRecycleBin: 'Drag an allocated SO from the container and drop it into the rubbish bin to remove the allocation',\r\n tlAddAllUnallocatedBookings: 'Click to add all unallocated bookings into the container',\r\n msgAllocateAllRemainPackage: 'Are you sure to add all unallocated bookings into the container?',\r\n tlResetContainer: 'Click to clear all allocated bookings from the container',\r\n msgResetContainer: 'Are you sure to clear all allocated bookings from the container?',\r\n lbSOContainerDetailPackageWarning: 'The Package UOM is set as \\'Unit\\' in this Consol Container becuase there are multiple UOM selected in different SO.',\r\n lbAllocationPreference: 'Allocation Preference',\r\n lbExcludeFullyAllocatedSO: 'Exclude Fully Allocated Shipping Order',\r\n lbDoor: 'Door',\r\n msgInvalidContainerNo: 'Container No is not valid',\r\n msgInvalidConsolidationContainerSize: 'There is no available rate for {{consolidation_container_size}} in the M+R selected sailing option. Please select another container size or refresh the rate in Consol Plan first!',\r\n msgWarningUpdateSelectedRateContainers: 'The selected rate\\'s container size of the M+ R selected sailing option will be updated.Please be reminded to request for consol approval for the updated rate again if needed.\\nCurrent: {{origin_size}}\\nUpdate: {{update_size}}',\r\n msgDuplicateContainerNo: 'Duplicate Container No',\r\n msgInvalidShipment: 'In {{so_no}}, the {{- field_name}} in SO does not match with the {{- field_name}} in this Consol Plan. Please check and adjust the {{- field_name}} in SO.',\r\n msgInvalidOMSShipment: 'OMS shipment {{oms_so_no}} cannot be consolidated with other shipment type {{so_no}}, please remove either of them',\r\n msgShipmentAlreadyConsol: '{{so_no}} had been linked with other Consol Plan {{consolidation_no}}.',\r\n msgShipmentNotConsolidatable: \"In {{so_no}}, the 'Service' must be LCL and 'Can be Consol' must be Yes.\",\r\n msgInvalidAmount: \"Package Qty/ G.W. (KG)/ CBM must match between PO Details and Container Details\",\r\n msgInvalidAmountForOMS: \"Item Qty, Package Qty, G.W. (KG) and CBM must be fully allocated for OMS shipments\",\r\n lbAllocationPreferenceTitle: 'Allocation Preference',\r\n lbAllocationPreference1: 'Drag and drop to allocate',\r\n lbAllocationPreference2: 'Click \\'+\\' to allocate',\r\n lbAllocateAllRemainedPackageQty: 'Allocate all remained Pacakge Qty',\r\n lbAlwaysAskMe: 'Always ask me',\r\n lbPleaseSelect: 'Please Select',\r\n\r\n lbPDATitle: 'Adjust the Package Qty, CBM, KGS',\r\n lbPDASONo: 'SO#',\r\n lbPDAContainerNo: 'Container#',\r\n lbPDASequenceNo: 'Loading Seq',\r\n lbPDAApproximateCBMAndKGS: 'Approximate the CBM and KGS based on the Package Qty',\r\n lbPDAPackageQty: 'Package Qty',\r\n lbPDACBM: 'CBM',\r\n lbPDAKGS: 'KGS',\r\n lbLegend: 'Legend',\r\n lbPDALegend1: 'Amount being allocated for this loading',\r\n lbPDALegend2: 'Remaining amount pending for allocation',\r\n lbPDALegend3: 'Allocated amount in other loading/ containers',\r\n msgIncorrectPackageQty: 'Package Qty can\\'t equal to 0.',\r\n msgIncorrectCBM: 'CBM can\\'t equal to 0.',\r\n msgIncorrectKGS: 'KGS can\\'t equal to 0.',\r\n msgIncorrectCBM2: 'Balance of CBM is not fully allocated when balance Packaged Qty is fully allocated.',\r\n msgIncorrectKGS2: 'Balance of KGS is not fully allocated when balance Packaged Qty is fully allocated.',\r\n\r\n msgConsolAdviceError: 'Status \\'Consol Plan Advice\\' is not applicable to the Consol Plan as there is more than 1 proposed sailing. Please select \"Approved\" as the approval status and select one sailing option as the approved sailing.',\r\n\r\n colFile: 'File',\r\n colVisibleTo: \"Visible To\",\r\n\r\n lbVisibleTo: \"Visible To\",\r\n colApprovalStatus: \"Approval Status\",\r\n lbApprovalStatus: \"Approval Status\",\r\n lbNewRemarks: \"New Remarks\",\r\n lblTiming: \"Timing as per customer's requirement\",\r\n colRemarks: \"Remarks\",\r\n colRemarkType: \"Remark Type\",\r\n lblRemark: \"Remark\",\r\n lblDocumentType: \"Document Type\",\r\n lblFile: \"File\",\r\n lblFileSource: \"File Source\",\r\n lblDragOrUpload: \"Select / Drag a file\",\r\n\r\n msgWarningEditConsolApproval: \"Please save the existing consol or cancel edit before performing Consol Approval\",\r\n msgWarningEditLoadPlanOrContainerPOAllocation: \"Please save the existing consol or cancel edit before performing Load Plan/Container-PO Allocation\",\r\n msgWarningEditConsolPlan: \"Please save the existing consol or cancel edit before performing Consol Plan\",\r\n msgConsolShipmentAllocationSuccess: \"{{bookings}} bookings are added into the Consol Plan successfully.\",\r\n lbAutoRefreshShipmentAllocationTitle: \"Latest booking information is found\",\r\n lbAutoRefreshShipmentAllocationContent1: \"The system found that there is an update on the booking information. The latest booking information for all selected bookings is now being displayed on this Consol Plan. Please check this Consol Plan again.\\n\",\r\n lbAutoRefreshShipmentAllocationContent2: \"'SAVE' the Consol Plan again \",\r\n lbAutoRefreshShipmentAllocationContent3: \"if you have made any changes on this Consol Plan since you are editing this Consol Plan.\",\r\n\r\n lblPrintOption: \"Print Option\",\r\n lblAgentRef: \"Agent Reference #\",\r\n lblBuyerRef: \"Buyer Reference #\",\r\n lblWarehouseInfo: \"Warehouse Information\",\r\n lblRemarkDestination: \"Remarks to Destination\",\r\n lblGenerate: \"Generate\",\r\n lblOutputFormat: \"Output Format\",\r\n lblGenerateLoadPlan: \"Generate Load Plan\",\r\n lblLoadPlanHistory: \"Load Plan History\",\r\n\r\n msgSelectSailingSchedule: 'Please select from \"Proposed Sailing for Consol Plan\"',\r\n msgSelectRate: 'Please select a rate to approve. If there is any question, please contact BMS support.',\r\n\r\n smartSearchTooltip: \"Enter CONSOL#, SO# to search. Click the Customized Filter for advance searching.\\n\\nOnce you entered the keyword in this field, you could click 'Tab' and then press 'Enter' to perform searching.\",\r\n \r\n msgWarningRemarkExceedMaxImageSize: 'Image size cannot exceed {{maxImageSize}} MB.',\r\n msgWarningRemarkExceedMaxHTMLTextSize: 'Total size cannot exceed {{maxHTMLTextSize}} MB.',\r\n msgFinalWarningRemarkExceedMaxHTMLTextSize: 'Total Remark size (current: {{currentHTMLTextSize}}MB) cannot exceed {{maxHTMLTextSize}} MB. Please remove image(s).',\r\n msgRemarkExceedMaxTextLength: 'Total Remark length (current: {{currentTextLength}} characters) cannot exceed {{maxTextLength}} characters.',\r\n phRemarkbraftEditor: 'Please type your remarks or paste your screenshot here.'\r\n },\r\n consolPlanSummary: {\r\n lbSelectedBookingsSummary: \"Selected Bookings Summary\",\r\n lblBookings: 'Bookings',\r\n lblCBM: 'CBM',\r\n lblKG: 'KG',\r\n lblPackageQty: 'Package Qty',\r\n lblLCLCBM: 'CBM (LCL)',\r\n lblLCLKG: 'KG (LCL)',\r\n lblLCLPackageQty: 'Package Qty (LCL)',\r\n lblCargoReadyDate: 'Cargo Ready Date',\r\n lblConsignee: 'Consignee',\r\n lblReleaseAgent: 'Release Agent',\r\n lblNominationAgent: 'Nomination Agent',\r\n lblShipper: 'Shipper',\r\n lblDangerousGoods: 'Dangerous Goods?',\r\n lblResetBtn: 'Reset Selection',\r\n lblCreateConsolBtn: 'Create Consol Plan',\r\n lblAddToConsolBtn: 'Add to {{consolidation_no}}',\r\n lblTotalCBM: 'Total CBM',\r\n lblTotalKG: 'Total KG',\r\n lblTotalPackageQty: 'Total Package Qty'\r\n },\r\n lbConsolidationColorDesc: {\r\n SelectedBookingsYellow: 'The booking is not matched with the user office',\r\n SelectedBookingsOrange: 'SO amended on [{{updated_date}}] after the last save of Consol Plan',\r\n SelectedBookingsRed: 'A contradiction between SO data and Consol data is found. SO can\\'t add into this Consol Plan unless the contradiction is eased.',\r\n SILCLContainerLineRed: 'The reminded LCL quantity is not being allocated into a Consol Container through \\'Load Plan\\'',\r\n SILCLConsolContainerLineRed: 'The total quantity, weight, and/or volume in this Consol Container for this SO are not the same as the sum of allocated PO',\r\n SILCLConsolContainerLineGreen: 'The total quantity, weight, and volume in this Consol Container for this SO are the same as the sum of allocated PO',\r\n SIFCLContainerRed: 'The total quantity, weight, and/or volume in this container are not the same as the sum of allocated PO',\r\n SIFCLContainerGreen: 'The total quantity, weight, and volume in this container are the same as the sum of allocated PO'\r\n },\r\n ConsolidationShippingInformation: {\r\n msgPOColumnRed: 'This PO is not being fully allocated/ over-allocated.',\r\n msgPOColumnGreen: 'This PO is being fully allocated.'\r\n },\r\n consolidationSelectedBookingMenuOption: {\r\n lblNoOption: 'No Next Activity',\r\n lblRemoveShipment: 'Remove from Consol Plan',\r\n lblSearchShipmentByConsignee: 'Find Related Booking by Consignee',\r\n lblSearchShipmentByCustomer: 'Find Related Booking by Customer',\r\n lblSearchShipmentByNominationAgent: 'Find Related Booking by Nomination Agent',\r\n lblSearchShipmentBySailing: 'Find Related Booking by Sailing'\r\n },\r\n prs: {\r\n msgDuplicatePartyDetected: 'Detected possible duplicate party. Are you sure want to create a new party?',\r\n headerShortName: 'Short Name',\r\n headerPartyCodeStatus: 'Party Code Status',\r\n headerPartyAccountCodeStatus: 'Party Account Code Status',\r\n headerPartyStatus: 'Party Status',\r\n btnSearchDuplicate: 'Search Duplicate',\r\n duplicateform: {\r\n lblName: 'Name'\r\n },\r\n lblGeneral: 'General',\r\n lblPartyDetail: 'Party Details',\r\n lblFullNameLocal: 'Full Name Local',\r\n lblRequesterRemark: 'Requester Remarks',\r\n msgRequesterRemarkRequired: \"Please input Requester Remarks.\",\r\n lblManagementRemark: 'Management Remarks',\r\n lblNameLock: 'Name Lock',\r\n lblAddressLock: 'Address Lock',\r\n lblNoHBL: 'Not allow to print HB/L',\r\n lblURL: 'URL',\r\n tipsRequestBy: 'The requestor for creating this Party',\r\n lblRequestBy: 'Request By',\r\n lblRequestOffice: 'Request Office',\r\n lblRequestDate: 'Request Date',\r\n lblAddressDetail: 'Address Details',\r\n lblAddressType: 'Address Type',\r\n msgAddressType: 'Please select an address type',\r\n lblAddressLangType: 'Address Language Type',\r\n msgAddressLangType: 'Please select an address language',\r\n lblState: 'State/ Province',\r\n lblContact: 'Contact',\r\n lblContactType: 'Contact Type',\r\n msgContactType: 'Please select a contact type',\r\n lblPosition: 'Position',\r\n lblPhone: 'Phone',\r\n msgPhone: 'Please input tel number',\r\n lblLedger: 'Ledger',\r\n btnFinanceApprove: 'Finance Approve',\r\n btnFinanceReject: 'Finance Reject',\r\n lblLedgerDetail: 'Ledger Detail',\r\n tipsSunSuffix: 'In SUN 4.x, an account code comprises of a SUN Ledger Prefix (e.g. 0129 for HKG, 1121 for WOFE) and unique suffix assigned to a specific party. The same party has the same Sun Suffix for its account codes across multiple ledgers.',\r\n lblSunSuffix: 'Sun Suffix',\r\n tipsLedgerCode: 'Refer to the ledger code assigned to the office (e.g. 7021 for HKG, 703x for WOFE branch).',\r\n lblLedgerCode: 'Ledger Code',\r\n lblInvoiceDetail: 'Invoice Details',\r\n msgLedgerCode: 'Please select Ledger Code.',\r\n lblSunacCode: 'Sun A/C Code',\r\n lblReject: 'Rejected',\r\n lblPending: 'Pending',\r\n lblBatchPaymentAR: 'Batch Payment AR',\r\n lblBatchPaymentAP: 'Batch Payment AP',\r\n lblBankDetail: 'Bank Details',\r\n lblOpeningOffice: 'Bank Name',\r\n msgOpeningOffice: 'Please input bank name.',\r\n lblAccountNo: 'Bank Account #',\r\n msgAccountNo: 'Please input bank account number.',\r\n lblAccountCurrency: 'Bank Account Currency',\r\n msgAccountCurrency: 'Please select bank account currency',\r\n lblCreditLimit: 'Credit Limit',\r\n lblPaymentTermAR: 'Payment terms code AR',\r\n lblPaymentTermAP: 'Payment terms code AP',\r\n lblUnsettledAmountAR: 'AR unsettled amount',\r\n lblUnsettledAmountAP: 'AP unsettled amount',\r\n lblCreditReminder: 'Credit Reminder',\r\n tipsCreditReminder: 'When the AR unsettled amount of this ledger for this party exceeds the Credit Reminder, a warning message will pop up when the user updates the status of the AR invoice in Web Invoice.',\r\n lblCreditAmount: 'Credit Limit',\r\n msgCreditAmount: 'Please input credit limit',\r\n lblCreditDeadline: 'Credit Deadline',\r\n lblCompanyID: 'Company ID',\r\n lblTaxTypeID: 'ID Type',\r\n lblTaxID: 'Tax ID',\r\n msgTaxID: 'Please input ID Number',\r\n lblCoRegNo: 'Co. Reg. No.',\r\n lblSSTRegNo: 'SST Reg. No.',\r\n lblBusinessLocation: 'Business Location',\r\n lblNITKU: 'NITKU',\r\n lblNPWPNIK: 'NPWP/NIK',\r\n lblTaxRate: 'Tax Rate %',\r\n lblInvoiceSubType: 'Invoice Sub-Type',\r\n lblOPSOffice: 'OPS Office',\r\n btnSelectAll: 'Select All',\r\n lblTargetOffice: 'Target Office',\r\n tipsHeaderTargetOffice: \"Please mouse over to check the activated Shipper, Supplier, and Carrier roles for each Target Office.\",\r\n tipsTargetOffice: 'Only applicable to local parties e.g. Shipper, Supplier. Only such parties are downloaded to Target Office OPS. Also only such parties would be availale for Web Invoice.',\r\n lblRole: 'Role',\r\n btnSave: 'Save',\r\n btnMgtApprove: 'Management Approve',\r\n btnMgtReject: 'Management Reject',\r\n btnAdminApprove: 'Admin Approve',\r\n btnAdminReject: 'Admin Reject',\r\n lblAgent: 'Agent',\r\n lblAgentCode: 'Agent Code',\r\n lblAgencyType: 'Agency Type',\r\n msgAgencyType: 'Offical Agent means an agent in the official agency record. Sub-Agent means an agent instructed by an Official Agent for receiving the consignment. For Other, the details should be described in the memo / remarks.',\r\n lblSubAgent: 'As Sub-Agent of',\r\n lblISF: 'ISF',\r\n lblISFAutoExcel: 'ISF Auto Excel',\r\n lblISFEmail: 'ISF Auto Excel Email',\r\n lblISFRemark: 'ISF Remark',\r\n lblConsignee: 'Consignee',\r\n lblConsigneeCode: 'Consignee Code',\r\n lblKeyAccount: 'Key Account',\r\n tipsKeyAccount: 'The Key Account for which this Consignee belongs to.',\r\n lblCutomer: 'Customer (SIS)',\r\n tipsCustomer: 'The customer validation profile applied to the SIS e-booking.',\r\n lblIsModeBooking: 'Enable Auto Registration (SIS)',\r\n tipsIsModeBooking: 'Enable system to automatically link SIS customer validation profile based on cofirmed e-booking.',\r\n lblSelfRegistration: 'Enable Self Registration (SIS)',\r\n lblSCAC: 'SCAC',\r\n lblDisplayName: 'Display Name',\r\n lblName: 'Name',\r\n lblEffectiveFrom: 'Effective From',\r\n lblEffectiveTo: 'Effective To',\r\n lblStatus: 'Status',\r\n msgSCACRequired: \"Please input SCAC\",\r\n msgDisplayNameRequired: \"Please input display name\",\r\n msgDuplicate: \"Carrier already exists\",\r\n\r\n lblEORI: 'EORI #',\r\n tipsEORI: '- The EORI# is a code that is available to all \"Economic Operators\" that are based in the European Union.\\n\\n- The EORI# is mandatory for Economic Operators that are filing customs entries for importation of goods into the EU, or are exporting from the EU.\\n\\n- Economic Operators not based in the EU must also file for an EORI# if they are importing goods into the EU, or are exporting from the EU.\\n\\n- Economic Operators not based in the EU must NOT file for an EORI# if their incoming goods are only transiting through the EU.\\n\\n- Economic Operators that are not based in the EU but are selling goods to / exporting goods to the EU must NOT file for an EORI#.\\n\\n- The format of an EORI# should be 2 letters followed by up to 15 alphanumeric characters (e.g.: DE123456789012345).\\n\\n- As the EORI# is not applicable to Switzerland, Norway and Northern Ireland, please enter the identification number (like the local Tax ID) as the EORI#.',\r\n msgInvalidEORI: 'Please input a valid EORI#! Valid EORI# format: 2 uppercase letters + up to 15 alphanumeric characters (e.g. DE12345678901234)',\r\n\r\n colDocumentUploaded: \"Document Uploaded\",\r\n colConfiguration: \"Configuration\",\r\n lblDocumentUpload: \"Document Upload\",\r\n lblDocumentUploadHistory: \"Document Upload History\",\r\n lblDocumentType: \"Document Type\",\r\n lblFile: \"File\",\r\n lblDragOrUpload: \"Select / Drag a file\",\r\n lblRemark: \"Remark\",\r\n lbVisibleTo: \"Visible To\",\r\n\r\n msgBeneficiaryNameContainsInvalidCharacter: 'Please input a valid Beneficiary Name! Valid Beneficiary Name: any characters excepts &_öä;<>#!\"%=\\\\`´*~',\r\n msgBeneficiaryBicExccedsLenLimit: 'Please input a valid Beneficiary BIC! Valid Beneficiary BIC format: 8 or 11 characters (e.g. 12345678, 12345678910)',\r\n msgMissingEoriNo: 'EORI # is mandatory information for this party, please fill it in.',\r\n msgMissingUploadFile: 'Please upload file',\r\n\r\n msgEORIReminder: 'Mandatory for Agent and Consignee in EU, Switzerland, Norway and Northern Ireland',\r\n },\r\n notification: {\r\n lblFollow: 'Follow',\r\n lblFollowing: 'Following',\r\n lblUserDefaultSettingTitle: 'User Default Notification Setting',\r\n lblShipperOrderSettingTitle: 'Notification Setting for Shipping Order : ',\r\n lblMasterSettingTitleBooking: 'Booking',\r\n lblMasterSettingTitleConsolidation: 'Consolidation',\r\n lblMasterSettingTitleWebInvoice: 'Web Invoice',\r\n lblFollowTitle: 'You can change the setting by choosing:',\r\n lblFollowOption1: 'User Default',\r\n lblFollowOption2: 'Customized',\r\n lblDefaultSelection: 'Default Selection',\r\n lblSettingDesc1: 'You will be notified for the following events',\r\n lblSettingDesc2: 'By :',\r\n lblEventTableColumnEvent: 'Event',\r\n lblNotificationMethodOption1: 'In-app notification',\r\n lblNotificationMethodOption2: 'Email notification',\r\n bellButtonToolTip: 'Notification',\r\n lblNotificationListTitle: 'Notification',\r\n\r\n smartSearchTooltip: \"Enter SO# or CONSOL# to search. \\n\\nOnce you entered the keyword in this field, you could click 'Tab' and then press 'Enter' to perform searching.\",\r\n \r\n lblNotificationListReadAll: 'All',\r\n lblNotificationListUnread: 'Unread',\r\n\r\n lblNotificationListMenuOption1: 'Mark All as Read',\r\n lblNotificationListMenuOption2: 'Delete All',\r\n lblNotificationListMenuOption3: 'Refresh',\r\n lblNotificationListMenuOption4: 'User Default Setting',\r\n\r\n lblNotificationListItemMenuOption1a: 'Mark as Read',\r\n lblNotificationListItemMenuOption1b: 'Mark as Unread',\r\n lblNotificationListItemMenuOption2: 'Delete Notification',\r\n lblNotificationListItemMenuOption3a: 'Unfollow SO# ',\r\n\r\n msgSureToDeleteAll: \"Sure to delete all notification?\",\r\n\r\n lblNotificationViewAll: 'View all',\r\n\r\n msgUnfollowSuccess: 'Unfollow successfully.',\r\n msgUnfollowFail: 'Unfollow Fail. Please Contact Administrator.',\r\n lblMasterSettingErrorMessageHeaderBooking: 'Booking Session',\r\n lblMasterSettingErrorMessageHeaderConsolidation: 'Consolidation Session',\r\n lblMasterSettingErrorMessageHeaderWebInvoice: 'Web Invoice Session',\r\n msgSaveSettingSuccess: 'Setting Saved',\r\n msgSaveSettingFail: 'Save Setting Fail. Please Contact Administrator.',\r\n\r\n msgAtLeastOneEvent: 'Please select at leaset 1 notification event.',\r\n msgAtLeastOneNotificationMethod: 'Please select at leaset 1 notification method.',\r\n msgMissingEmailAddress: 'Please Fill in Email address.',\r\n msgInvalidEmailAddress: 'Invalid email',\r\n\r\n lblEditUserDefaultSettingTooltip: 'Edit',\r\n lblResetBtn: 'Reset Selection',\r\n\r\n // *** important for notification message *** \r\n // considering old notification messages, please create new item instead of amending item value if item parmameters changed.\r\n //booking\r\n msgBookingNew: '{{updated_by_name}} created SO# {{so_no}}.',\r\n msgBookingAmend: '{{updated_by_name}} amended SO# {{so_no}}.',\r\n msgBookingConfirm: '{{updated_by_name}} confirmed SO# {{so_no}}.',\r\n msgBookingSubmitSI: '{{updated_by_name}} submitted SI for SO# {{so_no}}.',\r\n msgBookingCancelPending: 'Shipper cancelled SO# {{so_no}}.',\r\n msgBookingCancelBooking: '{{updated_by_name}} cancelled SO# {{so_no}}.',\r\n msgBookingRecoverBooking: '{{updated_by_name}} recovered SO# {{so_no}}.',\r\n msgBookingChangeCargoReadyDate: '{{updated_by_name}} changed Cargo Ready Date of SO# {{so_no}} from {{original_cargo_ready_date}} to {{new_cargo_ready_date}}',\r\n msgBookingChangeHandlingOffice: '{{updated_by_name}} changed Handling Office of SO# {{so_no}} from {{original_handling_office_name}} to {{new_handling_office_name}}',\r\n msgBookingUpdateSailingA1: '{{updated_by_name}} updated the sailing of SO# {{so_no}}. Another M+R Proposed Sailing Option is selected.',\r\n msgBookingUpdateSailingA2: '{{updated_by_name}} updated the sailing of SO# {{so_no}}. {{field_names}} are changed.',\r\n msgBookingUpdateSailingA2b: '{{updated_by_name}} updated the sailing of SO# {{so_no}}.',\r\n msgBookingUpdateSailingA2Detail: '{{field_name}} is changed from {{original_value}} to {{new_value}}.',\r\n msgBookingUpdateRouting: '{{updated_by_name}} updated the routing of SO# {{so_no}} ({{field_names}}).',\r\n msgBookingUpdateRoutingDetail: '{{field_full_name}} is changed from {{original_value}} to {{new_value}}.',\r\n msgBookingUploadBMSDocument: '{{updated_by_name}} uploaded document for SO# {{so_no}} ({{document_types}})',\r\n msgBookingDeleteBMSDocument: '{{updated_by_name}} deleted document for SO# {{so_no}} ({{document_types}})',\r\n msgBookingUpdateRate: '{{updated_by_name}} updated the {{rate_type}} which is selected in SO# {{so_no}}. Please refresh the rate in BMS if needed.',\r\n msgBookingUpdateTotalRate: '{{updated_by_name}} updated the Total Rate which is selected in SO# {{so_no}}. Please refresh the rate in BMS if needed.',\r\n msgBookingUpdateTotalRateDetail: 'Total Rate per {{container_size}} container is changed from {{old_total_rate_currency}} {{old_total_rate}} to {{new_total_rate_currency}} {{new_total_rate}}.',\r\n msgBookingUpdateRateOP: '{{updated_by_name}} updated the {{rate_type}} which is selected in SO# {{so_no}}.',\r\n msgBookingCheckGoodDesc: 'Unacceptable Cargo Description is detected in SO# {{so_no}}. Please check to make sure booking description complies with U.S. CBP requirement and revise if required to avoid vague description.',\r\n //booking approval\r\n msgBookingNewOperationRemark: '{updated_by_name} left an operation remark on SO# {so_no}.

{remark}',\r\n msgBookingNewPricingRemark: '{updated_by_name} left a pricing remark on SO# {so_no}.

{remark}',\r\n msgBookingRequestForApproval: '{{updated_by_name}} updated SO# {{so_no}} to Request for Approval.',\r\n msgBookingPendingCustomerApproval: '{{updated_by_name}} updated SO# {{so_no}} to Pending Customer\\'s Approval.',\r\n msgBookingApproved: '{{updated_by_name}} approved SO# {{so_no}}.',\r\n msgBookingRejected: '{{updated_by_name}} rejected SO# {{so_no}}.',\r\n msgBookingBookingAdvice: '{{updated_by_name}} updated SO# {{so_no}} to Booking Advice.',\r\n msgBookingLinkToAConsolPlan: '{{updated_by_name}} linked SO# {{so_no}} to Consol Plan# {{consolidation_no}}',\r\n msgBookingDislinkToAConsolPlan: '{{updated_by_name}} unlinked SO# {{so_no}} from Consol Plan# {{consolidation_no}}',\r\n \r\n //consol\r\n msgConsolidationUpdateSailingA1: '{{updated_by_name}} updated the sailing of Consol# {{consolidation_no}}. Another M+R Proposed Sailing Option is selected.',\r\n msgConsolidationUpdateSailingA2: '{{updated_by_name}} updated the sailing of Consol# {{consolidation_no}}. {{field_names}} are changed.',\r\n msgConsolidationUpdateSailingA2b: '{{updated_by_name}} updated the sailing of Consol# {{consolidation_no}}.',\r\n msgConsolidationUpdateSailingA2Detail: '{{field_name}} is changed from {{original_value}} to {{new_value}}.',\r\n msgConsolidationUpdateRate: '{{updated_by_name}} updated the {{rate_type}} which is selected in Consol# {{consolidation_no}}. Please refresh the rate in BMS if needed.',\r\n msgConsolidationNewOperationRemark: '{updated_by_name} left a consol operation remark on Consol# {consolidation_no}.

{remark}',\r\n msgConsolidationNewPricingRemark: '{updated_by_name} left a consol pricing remark on Consol# {consolidation_no}.

{remark}',\r\n msgConsolidationRequestForConsolApproval: '{{updated_by_name}} updated Consol# {{consolidation_no}} to Request for Consol Approval.',\r\n msgConsolidationPendingCustomerConsolApproval: '{{updated_by_name}} updated Consol# {{consolidation_no}} to Pending Customer Consol Approval.',\r\n msgConsolidationApproved: '{{updated_by_name}} approved Consol# {{consolidation_no}}.',\r\n msgConsolidationRejected: '{{updated_by_name}} rejected Consol# {{consolidation_no}}.',\r\n msgConsolidationConsolPlanAdvice: '{{updated_by_name}} updated Consol# {{consolidation_no}} to Consol Plan Advice.',\r\n msgConsolidationUpdateTotalRate: '{{updated_by_name}} updated the Total Rate which is selected in Consol# {{consolidation_no}}. Please refresh the rate in BMS if needed.',\r\n msgConsolidationUpdateTotalRateDetail: 'Total Rate per {{container_size}} container is changed from {{old_total_rate_currency}} {{old_total_rate}} to {{new_total_rate_currency}} {{new_total_rate}}.',\r\n msgConsolidationUpdateRateOP: '{{updated_by_name}} updated the {{rate_type}} which is selected in Consol# {{consolidation_no}}.',\r\n\r\n //web invoice\r\n lblMasterSettingTitleWebInvoice: 'Web Invoice',\r\n lblMasterSettingErrorMessageHeaderWebInvoice: 'Web Invoice Session',\r\n msgWebInvoiceApReferenceRecognized: 'AP Ref. {{ap_reference}} has been applied to {{invoice_no}} according to the uploaded document (file name: {{file_name}})',\r\n msgWebInvoiceApReferenceRecognizeError: 'The system can\\'t locate and capture any AP Ref. from the uploaded document(file name: {{file_name}}) of {{invoice_no}}.Please check and update the AP Ref. manually',\r\n msgWebInvoiceMissingSunac: 'To post {{invoice_no}}, please apply a {{account_code}} Sun A/C Code for {{issued_party_code}} on the Ledger tab in PRS and make sure the application could be approved by the relevant party timely. Please take necessary action accordingly.',\r\n msgWebInvoiceGroupFailure1: 'GPE#{{group_no}} fails to export because the Base Currency Total Amount is negative (Invoice#{{invoice_no}})',\r\n msgWebInvoiceGroupFailure2: 'GPE#{{group_no}} fails to export because the Remarks of {{invoice_no}} is too long. Please shorten the Remarks or use the \"简洁版\" 备注格式 in the Header, and then export again.',\r\n msgWebInvoiceAccountingPrintCompleted: 'Printout for {{invoice_no}} (Issued To: {{issued_party_name}}) is ready to download.'\r\n },\r\n\r\n carrier: {\r\n colMRCarrierCode: 'M+R Carrier Code',\r\n colIsSCAC: 'Is SCAC Code',\r\n colAlliance: 'Alliance',\r\n colSCAC: 'SCAC Code',\r\n colCBSA: 'CBSA Code',\r\n colNACCS: 'NACCS Code',\r\n colDisplayName: 'Display Name',\r\n colFullName: 'Full Name',\r\n colIsSailingSchedule: 'Is Sailing Schedule',\r\n colEffectiveFrom: 'Effective From',\r\n colEffectiveTo: 'Effective To',\r\n colStatus: 'Status',\r\n colSFMCarrierSCAC: 'SFMCarrier SCAC Code',\r\n colCarrierType: 'Carrier Type',\r\n colWebsite: 'Website',\r\n\r\n lblMRCarrierCode: 'M+R Carrier Code',\r\n lblIsSCAC: 'Is SCAC Code',\r\n lblSCAC: 'SCAC Code',\r\n lblCBSA: 'CBSA Code',\r\n lblNACCS: 'NACCS Code',\r\n lblDisplayName: 'Display Name',\r\n lblFullName: 'Full Name',\r\n lblIsSailingSchedule: 'Is Sailing Schedule',\r\n lblAlliance: 'Alliance',\r\n lblEffectiveFrom: 'Effective From',\r\n lblEffectiveTo: 'Effective To',\r\n lblStatus: 'Status',\r\n lblSFMCarrierCode: 'SFMCarrier SCAC Code',\r\n lblCarrierType: 'Carrier Type',\r\n lblSea: 'Sea',\r\n lblWebsite: 'Website',\r\n\r\n msgDuplicateMRCarrierCode: \"M+R Carrier Code must be unique.\",\r\n msgMRCarrierCodeRequired: \"Please input M+R Carrier Code.\",\r\n msgMRCarrierCodeLenLtd: \"M+R Carrier Code must be 2-4 characters long.\",\r\n msgDuplicateCBSA: \"CBSA already exists.\",\r\n msgCBSALenLtd: \"CBSA Code must be 4 characters long.\",\r\n msgDuplicateNACCS: \"NACCS already exists.\",\r\n msgNACCSLenLtd: \"NACCS Code must be 4 characters long.\",\r\n msgDisplayNameRequired: \"Please input display name\",\r\n msgFullNameRequired: \"Please input full name\",\r\n msgDuplicateDisplayName: \"Carrier Display Name already exists.\",\r\n msgDuplicateFullName: \"Carrier Full Name already exists.\",\r\n msgAllianceRequired: \"Please Select Alliance.\",\r\n \r\n msgDuplicate: \"M+R Carrier Code must be unique.\",\r\n msgRecordNotLatest: \"This record is not updated. The record has been changed by another user.\",\r\n msgInvalidEffectiveDate: \"Effective To couldn't be earlier than the Effective From.\"\r\n },\r\n\r\n sailingSchedule: {\r\n lbCreateAdditionalSailing: \"Create Additional Sailing\",\r\n lbSelect: \"Select\",\r\n msgHardStopDuplicateSailing: \"There is an existing sailing schedule already, please select from the system.\",\r\n msgWarningDuplicateSailing: \"Existing sailing scheduled found as below.\\nPlease click \\\"Select\\\" to select the existing sailing.\",\r\n msgWarningDuplicateSailing2: \"Only if the above sailing is/are not suitable, click \\\"Create additional sailing\\\" to continue.\"\r\n },\r\n\r\n cargosphere: {\r\n lbEnvironmentCode: \"Environment Code\",\r\n lbLoginId: \"Login ID\",\r\n lbPassword: \"Login Password\",\r\n lbLoginStatus: \"Login Status\",\r\n msgLoading: \"Loading...\",\r\n msgEnterPassword: \"Please enter cargosphere login password\",\r\n msgInvalidLogin: \"Invalid login\",\r\n msgValidLogin: \"Success\",\r\n },\r\n\r\n rate: {\r\n msgUpdateLoginInfo: \"Please click here to update rate login info to unlock Cargosphere rate search.\"\r\n }\r\n\r\n};\r\n\r\nexport default en;","const tc = {\r\n btnLogin: \"登入\",\r\n btnChangeUser: \"Change User\",\r\n msgLoginTimeout: \"You have been logged off automatically after timeout.\",\r\n msgLoginFail: \"Incorrect username or password, please try again.\",\r\n msgChangeUserFail: \"Incorrect username or user is not activated\",\r\n lbRegister: \"Registration\",\r\n lbRegisterWithSIS: \"是\",\r\n lbRegisterWithoutSIS: \"否\",\r\n lbForgotPW: \"忘記密碼\",\r\n lbResetPW: \"重置密碼\",\r\n lbTermsOfUse: \"使用條款\",//\"條款和條件\",\r\n lbTermsOfUseContent: \"Legal Disclaimer: This system may not be used as the sole information tool by which future claims against any member of the M+R Spedag Group and its affiliates and/or agents services performance may be derived. Under no circumstances shall any member of the M+R Spedag Group and its affiliates and/or agents be liable for any damage including but not limited to special or consequential damages that result from the access or the use of, or the inability to access or use this system. The data contained in this system is provided without any warranty of any kind, either expressed or implied, as to their accuracy, reliability or completeness.\",\r\n lbSignUp: \"註冊\",\r\n privacyPolicy: {\r\n header: \"Privacy Policy\",\r\n privacyPolicy1: \"This privacy policy applies exclusively to the M+R Spedag Group website www.mrspedag.com.\",\r\n privacyPolicy2: \"Our goal is to ensure that your personal data is processed in compliance with the law. Our websites may contain links to external websites for which this data protection declaration is not valid.\",\r\n personalData: \"Personal data\",\r\n personalDataContent: \"We do not systematically collect personal data on our websites. It is possible that a visitor to our website transmits personal data to us, e.g. by using a contact form to contact us.\",\r\n useOfPersonalData: \"Use of personal data\",\r\n useOfPersonalDataContent: \"By submitting personal data via online forms, e-mail or similar, the user agrees to the processing of the data. This may be necessary to answer an enquiry or provide a service. If personal data is transmitted to us, it will only be used for internal processes and administered in compliance with legal requirements.\",\r\n deletionOfPersonalData: \"Deletion of personal data\",\r\n deletionOfPersonalDataContent: \"The data subject may request access to personal data and request any changes or deletion of personal data. The M+R Spedag Group will examine the request and implement it in accordance with legal requirements.\",\r\n contract: \"Contact\",\r\n contractContent: \"Information about your data can be sent to you via email: info@mrspedag.com\",\r\n passongOfPersonalData: \"Passing on of personal data\",\r\n passongOfPersonalDataContent: \"In principle, personal data will not be passed on to third parties. However, we reserve the right to take this step if this serves to comply with applicable laws and regulations and/or we consider this necessary to preserve our rights and/or to protect our property.\",\r\n cookies: \"Cookies\",\r\n cookiesContent: \"The full functionality of this website depends on the use of cookies. These are small files that are stored on the visitor’s PC. Cookies are used to store certain settings or preferences. These cookies do not pose any risk to the user’s computer.\",\r\n webAnalysisTools: \"Web Analysis Tools\",\r\n webAnalysisToolsContent: \"Our website uses Google Analytics, a web analysis service of Google Inc. Information about the use of the websites, including the IP addresses of visitors, is transmitted to a Google server (usually in the USA) and stored there. This service is used to evaluate the use of the websites. Google provides add-ons for the most common web browsers under the web link “https://tools.google.com/dlpage/gaoptout”, with which Google Analytics can be deactivated.\",\r\n },\r\n lbMR: \"華隆瑞鋒貨運有限公司\",\r\n lblConfirm: \"確定\",\r\n lblCancel: \"取消\",\r\n lblBack: \"返回\",\r\n lblEdit: \"編輯\",\r\n lblNext: \"下一頁\",\r\n lblSubmit: \"Submit\",\r\n lblSearch: \"搜尋\",\r\n lblYes: \"是\",\r\n lblNo: \"否\",\r\n lbUserID: \"User ID\",\r\n lbLoinID: \"Login ID\",\r\n lbPassword: \"密碼\",\r\n lbConfirmPassword: \"確認密碼\",\r\n msgConfirmPasswordRequired: \"請確認密碼\",\r\n msgPasswordInconsistent: \"Two passwords that you enter is inconsistent\",\r\n lbFamilyName: \"姓\",\r\n lbGivenName: \"名\",\r\n lbAddress: \"地址\",\r\n lbZipPostal: \"郵政編碼\",\r\n lbCountryCode: \"國家代碼\",\r\n lbEmail: \"電郵\",\r\n lbPhoneNumber: \"電話\",\r\n lbFax: \"傳真\",\r\n lbCompany: \"公司\",\r\n lbPosition: \"職位\",\r\n lbDepartment: \"部門\",\r\n lbLanguage: \"語言\",\r\n lbPageSize: \"Page Size\",\r\n btnSave: \"儲存\",\r\n btnCancel: \"取消\",\r\n lbContainerSize: \"Container Size\",\r\n lbQty: \"Qty\",\r\n lbCargoReadyDate: \"貨物完成日期\",\r\n lbDepartureFrom: \"Departure From\",\r\n lbPOL: \"裝貨港\",\r\n lbETD: \"ETD\",\r\n lbPOD: \"卸貨港\",\r\n lbETA: \"ETA\",\r\n lbMotherVesselVoyage: \"Mother Vessel Voyage\",\r\n lbCarrier: \"Carrier\",\r\n lbPLD: \"提貨地點\",\r\n lbFD: \"最終目的地\",\r\n lbCFS: \"CFS (LCL)\",\r\n lbCY: \"CY\",\r\n lbCyClosingDate: \"CY Closing Date\",\r\n lbVGM: \"VGM\",\r\n lbVgmCutOffDate: \"VGM Cutoff Date\",\r\n lbSI: \"SI\",\r\n lbSiCutOffDate: \"SI Cutoff Date\",\r\n lbServiceName: \"Service Name\",\r\n lbServiceCode: \"Service Code\",\r\n lbVesselName: \"Vessel Name\",\r\n lbVoyageCode: \"Voyage Code\",\r\n lbVesselImoNumber: \"IMO Number\",\r\n lbVesselOperator: \"Operator\",\r\n lbTransshipmentCode: \"Transshipment Port\",\r\n lbUserProfile: \"User Profile\",\r\n lbUserPassword: \"User Password\",\r\n lbNewPassword: \"New Password\",\r\n lbCurrentPassword: \"Current Password\",\r\n lbConfirmNewPassword: \"Confirm New Password\",\r\n lbContractType: \"Contract Type\",\r\n lbContractNo: \"Contract No.\",\r\n lbCarrierBookingNo: \"Carrier Booking No.\",\r\n lbCarrierConfirmBookingDate: \"Carrier Confirm Booking\",\r\n msgUpdatePwSuccessfully: \"Updated password successfully\",\r\n msgUpdatePwFail: \"Fail to update password\",\r\n msgPwNotMatch: \"Password not match\",\r\n msgUpdatedUserProfileSuccessfully: \"Updated user profile successfully\",\r\n msgUpdatUserProfileFail: \"Fail to update user profile\",\r\n msgUserProfileNotUnique: \"Profile Type should be unique\",\r\n msgUserProfileNotAssignedFuncRole: \"Please assign at leaset 1 System Function Role for each profile\",\r\n msgLoading: \"載入中…\",\r\n msgSaving: \"儲存中…\",\r\n errSaveUnknown: \"Unable to save with unknown reason.\",\r\n msgSureToDelete: \"確定刪除?\",\r\n msgNoRecordFound: \"沒有資料\",\r\n msgNoDashboardItem: \"No dashboard item found.\",\r\n msgLoadAutoSave: \"An auto save record is found (saved at {{datetime}}), do you want to load it?\",\r\n msgAutoSaveLoaded: \"auto save loaded\",\r\n msgAutoSaveSaved: \"The booking has been auto-saved\",\r\n msgSureToLeave: \"Are you sure you want to leave? (tc)\",\r\n errExportFailed: \"Unable to export file.\",\r\n msgSubmitting: \"Submitting\",\r\n msgSubmitForgotPwSuccessfully: \"Submit successfully. An Email will be sent to reset password.\",\r\n msgSubmitForgotPwFail: \"No record found.\",\r\n msgResetPwSuccessfully: \"Reset successfully.\",\r\n msgResetPwFail: \"Fail to reset password.\",\r\n msgRecordNotLatest: \"This record is not updated. Record has been changed by another user.\",\r\n msgSavedSuccess: \"Saved\",\r\n menu: {\r\n \"Home\": \"主頁\",\r\n \"Dashboard\": \"Dashboard\",\r\n \"Booking\": \"Booking\",\r\n \"New e-Booking\": \"New e-Booking\",\r\n \"Cancel e-Booking\": \"Cancel e-Booking\",\r\n \"New Manual Booking\": \"New Manual Booking\",\r\n \"Booking Confirmed\": \"Booking Confirmed\",\r\n \"Booking Approval\": \"Booking Approval\",\r\n \"Request For Approval\": \"Request For Approval\",\r\n \"Pending For Customer Approval\": \"Pending For Customer Approval\",\r\n \"Booking Rejected\": \"Booking Rejected\",\r\n \"Booking Advice\": \"Booking Advice\",\r\n \"Setting\": \"設置\",\r\n \"User Profile\": \"User Profile\",\r\n \"Change Password\": \"更改密碼\",\r\n \"Admin\": \"Admin\",\r\n \"Party Maintenance\": \"Party Maintenance\",\r\n \"Sailing Schedule Maintenance\": \"Sailing Schedule Maintenance\",\r\n \"Sign Out\": \"登出\",\r\n \"ChangeUser\": \"Change User\",\r\n },\r\n so: {\r\n lblHeader: \"Header\",\r\n lblDetails: \"Details\",\r\n lblISF: \"ISF\",\r\n lblDocumentUpload: \"文件\",\r\n lblSI: \"Shipping Instruction\",\r\n lblConfirmBooking: \"Confirm Booking\",\r\n lblShippingOrder: \"Shipping ORDER\",\r\n lblShipper: \"托運人\",\r\n lblShipperPlaceHolder: \"Shipper (code)\",\r\n msgShipperRequired: \"Please select a Shipper!\",\r\n lblCustomer: \"客戶\",\r\n lblCustomerPlaceHolder: \"Customer (code)\",\r\n msgCustomerRequired: \"Please select a Customer!\",\r\n lblConsignee: \"收貨人\",\r\n lblConsigneePlaceHolder: \"Consignee (code)\",\r\n msgConsigneeRequired: \"Please select a Consignee!\",\r\n lblMOT: \"Mode of Transportation (tc)\",\r\n msgMOTRequired: \"Please select the Mode of Transportation!\",\r\n lblMOTSea: \"海運\",\r\n lblMOTAir: \"空運\",\r\n lblMOTRail: \"Rail\",\r\n lblService: \"托運類別\",\r\n msgServiceRequired: \"Please select a Service!\",\r\n lblServiceFCL: \"FCL\",\r\n lblServiceLCL: \"LCL\",\r\n lblServiceBulk: \"Bulk\",\r\n lblPODDelivery: \"Port / Door Delivery (tc)\",\r\n msgPODDeliveryRequired: \"Please select a Port / Door Delivery (tc)!\",\r\n lblPODDeliveryP2p: \"Port-to-Port\",\r\n lblPODDeliveryP2d: \"Port-to-Door\",\r\n lblPODDeliveryD2p: \"Door-to-Port\",\r\n lblPODDeliveryD2d: \"Door-to-Door\",\r\n lblShipperReference: \"Shipper Reference\",\r\n lblShipperReferenceTooltip: \"Reference no. of Shipper\",\r\n lblShipperReferencePlaceHolder: \"Shipper Reference\",\r\n lblBusinessType: \"Business Type (tc)\",\r\n msgBusinessTypeRequired: \"Please select a Business Type!\",\r\n lblBusinessTypeNomination: \"Nomination\",\r\n lblBusinessTypeFreehand: \"Freehand\",\r\n lblNominationAgent: \"Nomination Agent (tc)\",\r\n msgNominationAgentRequired: \"Please select a Nomination Agent!\",\r\n lblAgentPlaceHolder: \"Agent (code)\",\r\n lblReleaseAgent: \"Release Agent (tc)\",\r\n msgReleaseAgentRequired: \"Please select a Release Agent!\",\r\n lbSOPInstruction: \"SOP instructions (Chinese)\",\r\n lbSOPInstructionContainerTitle: \"Container Usage (Chinese)\",\r\n lbSOPInstructionContainerContent: \"Use of 20' needs approval by customer........\",\r\n lbSOPInstructionRoutingTitle: \"Routing Instructions (Chinese)\",\r\n lbSOPInstructionRoutingContent: \"1st priority carrier is........\",\r\n msgFillInRequiredFields: \"Please fill in all required fields.\",\r\n errSONotFound: \"Shipping Order ({{sono}}) is not found. (tc)\",\r\n lblItemNo: \"Item#\",\r\n lblRemark: \"備註\",\r\n lblItemQty: \"Item qty\",\r\n lblItemQtyUnit: \"Item qty unit\",\r\n lblPackageQty: \"Package qty\",\r\n lblPackageQtyUnit: \"Package qty unit\",\r\n lblGrossWeight: \"Gross weight\",\r\n lblCBM: \"立方米\",\r\n lblDocumentType: \"Document Type (tc)\",\r\n lblFile: \"File (tc)\",\r\n lblFileSource: \"File Source\",\r\n lblDragOrUpload: \"Select / Drag a file (tc)\",\r\n lblTiming: \"Timing as per customer's requirement (tc)\",\r\n lblSubmitBooking: \"Submit Booking\",\r\n msgISFMustComplete: \"對於出口至美國的貨物,請提供美國海關所需的ISF信息\",\r\n lblSeller: \"銷售商\",\r\n lblManufacturer: \"生產商\",\r\n lblBuyer: \"買方\",\r\n lblShipTo: \"運至\",\r\n lblContainerStuffingLocation: \"貨櫃裝箱地\",\r\n lblConsolidator: \"Consolidator\",\r\n lblISFCompanyName: \"公司全稱\",\r\n msgSellerNameRequired: \"Please input seller name!\",\r\n lblSellerPlaceHolder: \"銷售商公司全稱\",\r\n msgManufacturerNameRequired: \"Please input manufacturer name!\",\r\n lblManufacturerNamePlaceHolder: \"生產商公司全稱\",\r\n msgBuyerNameRequired: \"Please input buyer name!\",\r\n lblBuyerPlaceHolder: \"買方公司全稱\",\r\n msgShipToNameRequired: \"Please input ship to name!\",\r\n lblShipToPlaceHolder: \"公司全稱 \",\r\n msgContainerStuffingLocationNameRequired: \"Please input container stuffing location name!\",\r\n lblContainerStuffingLocationPlaceHolder: \"Container Stuffing Location\",\r\n msglblConsolidatorNameRequired: \"Please input consolidator name!\",\r\n lbllblConsolidatorPlaceHolder: \"Consolidator Name\",\r\n lblAddress1: \"地址一\",\r\n msgAddress1Required: \"Please input address 1!\",\r\n lblAddress1PlaceHolder: \"地址一\",\r\n lblAddress2: \"地址二\",\r\n msgAddress2Required: \"Please input address 2!\",\r\n lblAddress2PlaceHolder: \"地址二\",\r\n lblCity: \"城市\",\r\n msgCityRequired: \"Please input city!\",\r\n lblCityPlaceHolder: \"城市\",\r\n lblCountry: \"國家\",\r\n msgCountryRequired: \"Please input country!\",\r\n lblCountryPlaceHolder: \"國家\",\r\n lblCountryOfOrigin: \"原產國\",\r\n msgCountryOfOriginRequired: \"Please input country of origin!\",\r\n lblCountryOfOriginPlaceHolder: \"原產國\",\r\n lblHTSCode: \"HTS Code\",\r\n msgHTSCodeRequired: \"Please input HTS code!\",\r\n lblHTSCodePlaceHolder: \"HTS Code\",\r\n lblAddISFCompany: \"新增{{type}}\",\r\n lblRemoveISFCompany: \"刪除{{type}}\",\r\n colSoNo: \"SO#\",\r\n colPoNo: \"PO#\",\r\n colHblNo: 'HBL#',\r\n colShipper: 'Shipper',\r\n colConsignee: 'Consignee',\r\n colReleaseAgent: 'Release Agent',\r\n colNominationAgent: 'Nomination Agent',\r\n colBookingDate: 'Booking Date',\r\n colBookingStatus: 'Booking Status',\r\n colBookingStatusDate: 'Booking Status Date',\r\n colBookingApprovalStatus : 'Booking Approval Status',\r\n colBookingApprovalStatusDate : 'Booking Approval Date',\r\n colCargoReadyDate : 'Cargo Ready Date',\r\n colPol : 'POL',\r\n colEtd : 'ETD',\r\n colPod: 'POD',\r\n colPodEta: 'POD ETA',\r\n colCustomer: 'Customer',\r\n colTradelane: 'Tradelane',\r\n colBookingUpdatedBy: 'Booking Updated By',\r\n colBookingLastUpdatedTime: 'Booking Last Updated Time',\r\n colBookingApprovalReason: 'Booking Approval Reason',\r\n colBookingApprovalRemarks: 'Booking Approval Remarks',\r\n colBookingApprovalUpdatedBy: 'Booking Approval Updated By',\r\n colReference: 'Reference',\r\n colLatestStatus: 'Latest Status',\r\n miReactivateBooking: \"Recover Booking\",\r\n msgSureToReactivateBooking: \"Are you sure you want to recover the booking?\",\r\n miAcknowledgeCancelBooking: \"Acknowledge Cancel\",\r\n msgSureToAcknowledgeCancelBooking : \"Are you sure you want to acknowledge the cancellation request?\",\r\n miRejectCancelBooking : \"Reject Cancel\",\r\n msgSureToRejectCancelBooking: \"Are you sure you want to reject the cancellation request?\",\r\n miCancelBooking: \"Cancel Booking\",\r\n msgSureToCancelBooking: \"Are you sure you want to cancel the booking?\",\r\n lblBookingApproval: \"Booking Approval\",\r\n colRemarks: \"Remarks\",\r\n colRemarkType: \"Remark Type\",\r\n colVisibleTo: \"Visible To\",\r\n colApprovalStatus: \"Approval Status\",\r\n lbApprovalStatus: \"Approval Status\",\r\n lbNewRemarks: \"New Remarks\",\r\n lbVisibleTo: \"Visible To\",\r\n lbReasons: \"Reasons\",\r\n cbSendEmailNotifyTo: \"Send Email Notification To\",\r\n msgAddBookingApprovalSuccess: \"Add Booking Approval Successfully\",\r\n msgAddBookingApprovalFail: \"Fail to add Booking Approval\",\r\n lbSONo: \"SO#\",\r\n lbHBLNo: \"HBL#\",\r\n lbTrader: \"Trader\",\r\n lbNotifyParty: \"Notify Party\",\r\n lbHandlingOffice: \"Handling Office\",\r\n lbContact: \"Contact\",\r\n lbContactPhone: \"Phone\",\r\n lbPOR: \"POR\",\r\n lbPOL: \"POL\",\r\n lbPOD: \"POD\",\r\n lbPLD: \"PLD\",\r\n lbPOLEtd: \"POL ETD\",\r\n lbPLDEta: \"PLD ETA\",\r\n lbFD: \"FD\",\r\n lbFDEta: \"FD ETA\",\r\n lbCargoReadyDate: \"Cargo Ready Date\",\r\n msgInvalidEmail: \"Invalid email\",\r\n msgEmptyRemark: \"Please enter remark details or close the remark\",\r\n msgFillRequire: \"Please fill in the required column(s)\",\r\n msgEmptyRemarkType: \"Please enter New Remarks for {{i}} remark\",\r\n msgUserContactEmailSuccess: \"{{email}} is deleted successfully\",\r\n msgUserContactEmailFail: \"Fail to delete {{email}}\",\r\n lbWarehouse: \"Warehouse (LCL)\",\r\n lbWarehouseSONo: \"Warehouse SO No.\",\r\n msgWarningEditBookingApproval: \"Please save the existing booking or cancel edit before performing Booking Approval\",\r\n msgDeleteISFProfileSuccess: \"Deleted successfully\",\r\n msgDeleteISFProfileFail: \"Delete fail\",\r\n msgFillInRequiredTabFields: \"Please revise highlighted tab(s)\",\r\n msgConfirmAcceptChangeMsg: 'Accept changes will replace all containers and all allocation between PO and containers will be deleted.Are you sure to continue?',\r\n colDefaultAgentCode: 'Code',\r\n colDefaultAgentName: 'Name',\r\n colDefaultAgentIsAutoFill: 'Default',\r\n colDefaultAgentDescription: 'Description',\r\n lblDefaultAgentConsigneeCode: 'Consignee Code',\r\n lblDefaultAgentCustomer: 'Customer',\r\n lblDefaultNominationAgentCode: 'Related Nomination Agent Codes',\r\n lblDefaultReleaseAgentCode: 'Related Release Agent Codes',\r\n polCfsClosingRequired: 'Please input CFS!',\r\n polCyClosingRequired: 'Please input CY!',\r\n polVgmClosingRequired: 'Please input VGM!',\r\n polSiClosingRequired: 'Please input SI!',\r\n msgSendEmailPopup: \"Booking Number {{so_no}} will be saved.Do you want to send a BMS booking email notification to shipper, booking cc email and M + R OP ?\",\r\n lbConfirmSendEmail: \"Yes & Save the Change\",\r\n lbConfirmNotSendEmail: \"No & Save the Change\",\r\n lblSOStatus: \"Status\",\r\n pnlStatusHistory: \"Status History\",\r\n colSOStatus: \"Status\",\r\n colSOStatusAction: \"Action\",\r\n colSOStatusRemark: \"Remark\",\r\n colSOStatusUser: \"User\",\r\n colSOStatusUpdatedTime: \"Updated Time\",\r\n msgIncorrectExFactoryDate: \"The Ex-Factory Date of Container# {{container_no}} must NOT be earlier than Cargo Ready Date ({{cargo_ready_date}})\",\r\n msgMissingExFactoryDate: \"Please enter the Ex-Factory Date for Container# {{container_no}}\",\r\n msgMissingSealNO: \"Please enter the Seal# for Container# {{container_no}}\",\r\n msgMissingCarrierSONO: \"Please enter the Carrier Booking# for Container# {{container_no}}\",\r\n msgMissingPackageQTY: \"Please enter the Package QTY for Container# {{container_no}}\",\r\n msgExceedsGW: \"Container #{{container_no}}: The difference between allocated GW ({{allocatedGW}}) and entered in container GW ({{containerGW}}) cannot exceeds 1\",\r\n msgExceedsCBM: \"Container #{{container_no}}: The difference between allocated CBM ({{allocatedCBM}}) and entered in container CBM ({{containerCBM}}) cannot exceeds 1\",\r\n msgResendEmailSuccess: \"Resend S/O Sheet by email successfully\",\r\n lbCopyToMenufacturer: \"Copy to Manufacturer\",\r\n lbCopyToContainerStuffingLocation: \"Copy to Container Stuffing Location\",\r\n lbCopyToShipTo: \"Copy to Ship To\",\r\n lbCopyToConsolidator: \"Copy to Consolidator\",\r\n lbShowFullHDOffice: \"Show Full List Handling Office\",\r\n msgETDLaterThanCargoReadyDate: \"ETD should be later than the Cargo Ready Date. Please check and amend the ETD and/ or the Cargo Ready Date\",\r\n msgETDMoreThan14Days: \"ETD is more than 14 days after Cargo Ready Date. Please check the ETD and the Cargo Ready Date. Click \\\"OK\\\" to continue\"\r\n },\r\n lbSOColorDesc: {\r\n newEBookgingRed: \"Pending for confirmation more than 18 hours\",\r\n newEBookgingYellow: \"Pending for confirmation more than 8 hours\",\r\n newEBookgingGreen: \"Pending for confirmation\",\r\n amendEBookgingRed: \"Pending for confirmation more than 18 hours\",\r\n amendEBookgingYellow: \"Pending for confirmation more than 8 hours\",\r\n amendEBookgingGreen: \"Pending for confirmation\",\r\n cancelEBookgingRed: \"Pending for acknowledgement more than 18 hours\",\r\n cancelEBookgingYellow: \"Pending for acknowledgement more than 8 hours\",\r\n cancelEBookgingGreen: \"Pending for acknowledgement\",\r\n newManualBookgingRed: \"Pending for acknowledgement more than 18 hours\",\r\n newManualBookgingYellow: \"Pending for acknowledgement more than 8 hours\",\r\n newManualBookgingGreen: \"Pending for acknowledgement\",\r\n confirmBookingRed: \"Confirmed Booking pending for booking approval for more than 2 days\",\r\n confirmBookingYellow: \"Confirmed Booking pending for booking approval for more than 1 day\",\r\n confirmBookingGreen: \"Confirmed Booking pending for booking approval\",\r\n requestForApprovalRed: \"Pending on requesting for approval more than 2 days\",\r\n requestForApprovalYellow: \"Pending on requesting for approval more than 1 day\",\r\n requestForApprovalGreen: \"Pending on requesting for approval\",\r\n pendingForCustomerApprovalRed: \"Pending on getting customer approval more than 2 days\",\r\n pendingForCustomerApprovalYellow: \"Pending on getting customer approval more than 1 days\",\r\n pendingForCustomerApprovalGreen: \"Pending on getting customer approval\",\r\n bookingRejectedRed: \"Booking was rejected more than 1 day\",\r\n bookingRejectedYellow: \"Booking was rejected\"\r\n },\r\n sysNotice: {\r\n lbNoticeType: \"Notice Type\",\r\n lbNoticeTitle: \"Notice Title\",\r\n lbNoticeBody: \"Notice Body\",\r\n lbMod: \"Affected System\",\r\n lbValidDate: \"Valid Date\",\r\n lbRemarks: \"Remarks\",\r\n lbCreatedBy: \"Created By\",\r\n lbCreatedDate: \"Create Date\",\r\n lbUpdatedBy: \"Updated By\",\r\n lbUpdatedDate: \"Updated Date\",\r\n msgUpdatedSysNoticeSuccessfully: \"Updated System Notice Successfully\",\r\n msgUpdateSysNoticeFail: \"Fail to update System Notice\",\r\n msgConfirmDelete: \"Are you sure to delete this system notice?\",\r\n lbDelete: \"Delete\",\r\n lbCopy: \"Copy\"\r\n },\r\n lbParty: \"Party\",\r\n lbPartyID: \"Party ID\",\r\n lbPartyCode: \"Party Code\",\r\n lbOtherCode: \"Other Code\",\r\n lbPartyType: \"Party Type\",\r\n lbContactPerson: \"聯絡人\",\r\n lbCity: \"城市\",\r\n lbState: \"州\",\r\n lbShortName: \"Short Name\",\r\n lbFullName: \"Full Name\",\r\n lbStatus: \"Status\",\r\n msgUpdatePartySuccess: \"Updated party successfully\",\r\n msgUpdatePartyFail: \"Fail to update party\",\r\n lbTradeLaneID: \"TradeLane ID\",\r\n msgCannotMapUserProfiles: \"Cannot map user profile with SIS ID, please register a new account without SIS ID\",\r\n msgLoginIDAleadyRegistered: \"Login ID already registered\",\r\n msgSISLoginIDRequire: \"Please enter SIS Login ID\",\r\n lbTradeLaneName: \"TradeLane Name\",\r\n lbOfficeCode: \"Office Code\",\r\n lbEffectiveDate: \"Effective Date\",\r\n lbTradeLane: \"TradeLane\",\r\n lbCustomerTypeID: \"Customer Type ID\",\r\n lbCustomerCode: \"Customer Code\",\r\n\r\n msgUpdateTradeLaneSuccess: \"Updated TradeLane successfully\",\r\n msgUpdateTradeLaneFail: \"Fail to update TradeLane\",\r\n msgConfirmDeleteTradeLane: \"Are you sure want to delete TradeLane [{{tradelane_name}}]?\",\r\n msgDeleteTradeLaneSuccess: \"Deleted TradeLane successfully\",\r\n msgDeleteTradeLaneFail: \"Fail to delete TradeLane\",\r\n\r\n lbPartyGroup: \"Party Group\",\r\n lbPartyGroupID: \"Party Group ID\",\r\n lbGroupName: \"Group Name\",\r\n lbGroupType: \"Group Type\",\r\n msgUpdatePartyGroupSuccess: \"Update party group successfully\",\r\n msgUpdatePartyGroupFail: \"Fail to update party group\",\r\n msgPartyGroupMissingField: \"Please fill in the missing fields\",\r\n\r\n\r\n\r\n lbInvErr: {\r\n lbNoPermission: \"You have no permission\",\r\n lbPleaseSelect: \"Please Select!\",\r\n lbPleaseInput: \"Please Input!\",\r\n //lbNoZero: \"Cannot be 0\",\r\n //lbMaxValueErr: \"Please input value less than (maxNum)\",\r\n //lbMinValueErr: \"Please input value greater than (minNum)\",\r\n lbOutOfRangeErr: \"Please input value between (minNum) and (maxNum)\",\r\n lbJobNoNotFound: \"This job no. cannot be found.\",\r\n\r\n lbMissingSO: '試中文',\r\n },\r\n notification: {\r\n lblFollow: 'Follow',\r\n lblFollowing: 'Following',\r\n lblUserDefaultSettingTitle: 'User Default Notification Setting',\r\n lblShipperOrderSettingTitle: 'Notification Setting for Shipping Order : ',\r\n lblMasterSettingTitleBooking: 'Booking',\r\n lblMasterSettingTitleWebInvoice: 'Web Invoice',\r\n lblMasterSettingTitleBookingApproval: 'Booking Approval',\r\n lblFollowTitle: 'You can change the setting by choosing:',\r\n lblFollowOption1: 'User Default',\r\n lblFollowOption2: 'Customized',\r\n lblDefaultSelection: 'Default Selection',\r\n lblSettingDesc1: 'You will be notified for the following events',\r\n lblSettingDesc2: 'By :',\r\n lblEventTableColumnEvent: 'Event',\r\n lblNotificationMethodOption1: 'In-app notification',\r\n lblNotificationMethodOption2: 'Email notification',\r\n bellButtonToolTip: 'Notification',\r\n lblNotificationListTitle: 'Notification',\r\n\r\n smartSearchTooltip: \"Enter SO# or CONSOL# to search. \\n\\nOnce you entered the keyword in this field, you could click 'Tab' and then press 'Enter' to perform searching.\",\r\n\r\n lblNotificationListMenuOption1: 'Mark All as Read',\r\n lblNotificationListMenuOption2: 'Delete All',\r\n lblNotificationListMenuOption3: 'Refresh',\r\n lblNotificationListMenuOption4: 'User Default Setting',\r\n\r\n lblNotificationListItemMenuOption1a: 'Mark as Read',\r\n lblNotificationListItemMenuOption1b: 'Mark as Unread',\r\n lblNotificationListItemMenuOption2: 'Delete Notification',\r\n lblNotificationListItemMenuOption3a: 'Unfollow SO# ',\r\n\r\n msgSureToDeleteAll: \"Sure to delete all notification?\",\r\n\r\n lblNotificationViewAll: 'View all',\r\n\r\n msgAtLeastOneEvent: 'Please select at leaset 1 notification event.',\r\n msgAtLeastOneNotificationMethod: 'Please select at leaset 1 notification method.',\r\n msgMissingEmailAddress: 'Please Fill in Email address.',\r\n msgInvalidEmailAddress: 'Invalid email',\r\n \r\n lblEditUserDefaultSettingTooltip: 'Edit',\r\n lblResetBtn: 'Reset Selection'\r\n }\r\n};\r\n\r\nexport default tc;","import en from './en';\r\nimport tc from './tc';\r\nimport i18next from 'i18next';\r\nimport React, { Fragment } from 'react';\r\nimport * as Common from '../components/Common';\r\nconst DefaultLang = \"en\";\r\n\r\ni18next.init({\r\n debug: true,\r\n lng: DefaultLang,\r\n resources: {\r\n en: {\r\n translation: en\r\n },\r\n tc: {\r\n translation: tc\r\n }\r\n }\r\n \r\n});\r\n\r\nconst lang_en = i18next.getFixedT(DefaultLang);\r\n\r\nvar changeLanguage = (l) => {\r\n var lang = DefaultLang;\r\n\r\n if (l === 'zh-HK') lang = 'tc';\r\n else if (l === 'zh-CN') lang = 'sc';\r\n\r\n i18next.language !== lang && i18next.changeLanguage(lang);\r\n};\r\n\r\nvar getText = (key, options) => {\r\n return i18next.exists(key) ? i18next.t(key, options) : lang_en(key, options);\r\n};\r\n\r\nvar multiLine = (text) => {\r\n return typeof text === 'string' ? text.replace('&', '&').replace('/', '/').replace(''', \"'\").split('\\n').map(item => {item.replace('&', '&').replace('/', '/').replace(''', \"'\")}
) : '';\r\n}\r\n\r\nvar currLang = i18next.language;\r\n\r\nvar exists = (key) => i18next.exists(key) ? true : false;\r\n\r\nexport { changeLanguage, getText, DefaultLang, multiLine, currLang, exists };"],"sourceRoot":""}