{"version":3,"sources":["entitites/PageIndex.ts","components/basic/Icon/GBIcon.tsx","utils/NullCheck.ts","components/basic/Spinner/GBSpinner.tsx","components/basic/GhostButton/GBGhostButton.tsx","Contexts/SignupContext.tsx","utils/Language.tsx","utils/AjaxHelper.ts","localComponents/MemberShipPacks.tsx","pages/Index.tsx","components/basic/DatePicker/GBDatePicker.tsx","components/basic/Input/GBInput.tsx","utils/ArrayHelper.ts","components/basic/LabelPair/GBLabelPair.tsx","utils/Generator.ts","components/basic/Dropdown/GBDropdown.tsx","components/basic/Input/InputAjaxhelper.ts","components/basic/Seperator/Seperator.tsx","utils/Validation/CustomValidators.ts","entitites/SignupFormData.ts","utils/DropDownLists.ts","utils/Validation/ValidationHelpers.ts","components/basic/Checkbox/GBCheckBoxSlider.tsx","pages/Userdata.tsx","components/basic/ResponseHandler/GBResponse.tsx","Contexts/MessageContext.tsx","components/advanced/Panel/GBPanel.tsx","pages/Receipt.tsx","pages/WaitingPage.tsx","components/animations/EaseIn/GBEaseIn.tsx","components/animations/Fade/GBFade.tsx","localComponents/TermsAndConditionPanel.tsx","pages/OverviewPage.tsx","utils/DateHelper.ts","routes/AllRoutes.tsx","components/Layout/Article.tsx","AppContext.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["PageIndex","IconName","NullCheck","input","undefined","this","StringHasValue","NumberHasValue","FunctionHasValue","console","error","GBSpinnerSize","GBIcon","check","Onclick","props","hasOnclick","HasValue","id","Id","className","getIcon","join","onClick","Icon","accept","cancel","arrowNext","arrowPrevious","arrowUp","arrowDown","increase","decrease","pencil","locked","unlocked","touch","golfIron","list","clipboard","calendar","search","shield","register","User","Help","Settings","Tools","Burger","Booking","GolfBox","Email","Mobile","Book","Newspaper","Browser","Trophy","GolfCource","Gift","SpeechBubble","Trashcan","statusCancel","statusInfo","statusAccept","statusAttention","statusWarning","attention","calculator","facebook","twitter","youtube","add","subtract","clock","mapPin","info","openBox","click","buggy","grid","star","creditcard","globe","React","Component","BtnType","Mode","GBSpinner","context","state","status","size","small","GBGhostButton","buttonClick","bind","e","stopPropagation","Check","IsButton","btnType","button","Attributes","customAttributes","forEach","AttributeName","Value","isDisabled","isLoading","getClasses","outLined","title","text","tabIndex","disabled","icon","children","href","classes","mode","default","push","active","iconOnly","iconOnlySmall","highlight","SignupContextProvider","memberShipPack","signupFormData","setMemberShipPack","setSignupFormData","pack","setState","formData","SignupContext","Provider","value","createContext","SignupContextConsumer","Consumer","Language","languageArray","language","JSON","parse","localStorage","getItem","Promise","resolve","reject","AjaxHelper","simpleGet","ToLcid","Instance","setLanguageArray","data","element","k","v","key","group","valueToReturn","toUpperCase","lang","instance","GBText","startsWith","substr","length","Translate","GetGBDomain","window","GMS","gbDomain","Authconfig","headers","getToken","noAuthconfig","Jsontoken","token","gbHost","Url","Data","config","Success","Error","useAuth","axios","post","getHost","then","response","currentAuth","authenticate","log","catch","get","location","isAuthenticated","val","signout","MemberShipPacks","moreInfo","fetchPacks","tempList","MemberShipPack","Description","description","name","guid","Price","price","selected","currency","internetPaymentTerms","clubGuid","selectedClub","simplePost","alert","map","i","MemberShipPackDisplay","index","selectOption","horizontal","toLocaleString","minimumFractionDigits","signupContext","to","Userdata","dangerouslySetInnerHTML","__html","init","Object","assign","Index","history","registerLocale","da","setDefaultLocale","InputTheme","GBDatePicker","testString","Time","DefaultDate","Date","Attribute","ShowYearDropDown","currentDate","setFullYear","getFullYear","errorMessage","placeholderText","onChange","date","submitFunction","locale","dateFormat","popperModifiers","preventOverflow","enabled","setDate","ArrayHelper","arr","old_index","new_index","splice","GBLabelPair","isloading","htmlFor","forId","Generator","Math","random","toString","substring","PopupCenter","url","w","h","dualScreenLeft","screenLeft","screenX","dualScreenTop","screenTop","screenY","width","innerWidth","document","documentElement","clientWidth","screen","height","innerHeight","clientHeight","systemZoom","availWidth","left","top","newWindow","open","body","innerHTML","CreateMemberAddressString","string","roadName","roadNumber","houseLetter","houseFloor","houseSide","GBDropdownElements","DisplayName","IsHeader","Group","GBDropdown","formId","filterByGroup","filter","selectedValue","selectedDisplayName","searchValue","Dropdown","Toggle","variant","Elements","find","allowSearch","Menu","FormControl","autoFocus","placeholder","target","style","overflowY","sortMenu","toLowerCase","Header","Item","eventKey","onSelect","setItemAsSelected","displayname","selectionFunction","groups","Ielement","includes","sort","one","two","array_move","indexOf","temp","header","o","InputAjaxHelper","controllerUrl","spinnerTarget","ValidationMethod","GBInput","inputID","GetHash","inputAttributes","isAjaxInput","required","onKeyup","onblur","onKeyPress","defaultValue","iconId","containerClassName","onBlur","simpleSubmit","containerId","validation","isLarge","inputIcon","targetSibling","getElementById","focus","Seperator","toLabelPair","ValidatorConstraint","args","relatedPropertyName","constraints","object","property","validationOptions","DependentValueConstraint","SignupFormData","IsNotEmpty","message","IsEmail","IsDate","MaxDate","propertyName","registerDecorator","constructor","options","validator","HouseLetter","Floor","FloorSite","City","Country","PreviousHCP","DropDownLists","listToReturn","ValidationHelpers","fieldName","stateParrent","errorArray","PropName","targetError","tempError","tempStateErrors","fieldHasNoErrorInState","findIndex","x","values","GBCheckBoxSlider","elementId","attr","type","checked","isChecked","nationalitiList","playerData","FirstName","LastName","MobileNumber","Nationality","Gender","Birthdate","RoadName","RoadNumber","ZipCode","PlayerData","Nationalities","Genders","Countries","showHCPField","HasZipCodes","Home","_this","getNationalities","hasZips","a","iso","hasZipCodes","findCity","validate","updateDropDownSelection","querySelector","dispatchEvent","Event","e1","onSubmit","elements","tempNationalites","success","row","event","zipCode","countryIsoCode","tempPlayerData","setUTCTime","Overview","setTimeout","UTC","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","contextType","GBResponseType","MessageContextProvider","MessageList","addMessage","removeMessage","MessageContext","MessageContextConsumer","PanelSize","GBResponseMessage","ResponseTypeSettings","GBResponse","onClose","Onclose","isFloating","responses","getType","returnType","ok","warning","Receipt","locationState","toGolfBox","order","orderNumber","club","address","city","phone","email","member","fullName","getMemberZipString","mobilePhone","orderLines","quantity","getSumOfOrderlines","messageContext","redirectToExternal","apiUrl","getGBDomain","sum","line","lineprice","root","WaitingPage","transactionGuid","startTime","timer","backTimer","endTimer","backbutton","tryFinished","endTries","addBackTimer","clearTimeout","PaymentId","setItem","stringify","pathname","receipt","Spinner","animation","role","GBEaseIn","styles","show","useState","shouldRender","setRender","useEffect","test","easeIn","easeOut","onAnimationEnd","GBFade","GBPanel","getKeyStyles","getSize","Open","EasyClose","ToggleFunction","AlignLeft","CornerClose","HeaderElement","FooterElement","Small","Medium","Large","TermsAndConditionPanel","toggleFunction","content","OverviewPage","confirmedConditions","showConditions","Intl","DateTimeFormat","weekday","month","day","year","format","userdata","membershipPack","waitingPage","close","AllRoutes","exact","path","component","redirectPage","Article","AppContext","AppProvider","createBrowserHistory","App","navigator","initLoading","menuOpen","ToggleMainMenu","all","LoadLanguage","Boolean","hostname","match","classList","ReactDOM","render","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/index.chunk.js?v=c586dc93","sourcesContent":["export enum PageIndex {\r\n Home = \"/\",\r\n Userdata = \"/Userindex\",\r\n receipt = \"/receipt\",\r\n Overview = \"/overview\",\r\n waitingPage = \"/waiting\",\r\n\r\n\r\n}\r\n","import React from 'react';\r\nimport NullCheck from 'utils/NullCheck';\r\n\r\n\r\nexport interface GBIconProps {\r\n Id?: string;\r\n className?: string;\r\n Icon: IconName;\r\n Onclick?: Function;\r\n }\r\n\r\nexport enum IconName{\r\n accept,\r\n cancel,\r\n arrowNext,\r\n arrowPrevious,\r\n arrowUp,\r\n arrowDown,\r\n increase,\r\n decrease,\r\n pencil,\r\n locked,\r\n unlocked,\r\n touch,\r\n golfIron,\r\n list,\r\n clipboard,\r\n calendar,\r\n search,\r\n shield,\r\n register,\r\n User,\r\n Help,\r\n Settings,\r\n Tools,\r\n Burger,\r\n Booking, \r\n GolfBox,\r\n Email,\r\n Mobile,\r\n Book,\r\n Newspaper,\r\n Browser,\r\n GolfCource,\r\n Trophy,\r\n Gift,\r\n SpeechBubble,\r\n Trashcan,\r\n statusAttention,\r\n statusAccept,\r\n statusOk,\r\n statusCancel,\r\n statusWarning,\r\n statusInfo,\r\n attention,\r\n calculator,\r\n facebook,\r\n twitter,\r\n youtube,\r\n add,\r\n subtract,\r\n clock,\r\n mapPin,\r\n info,\r\n openBox,\r\n click,\r\n buggy,\r\n grid,\r\n star,\r\n creditcard,\r\n globe\r\n}\r\n\r\nexport default class GBIcon extends React.Component {\r\n \r\n render() {\r\n let check = new NullCheck();\r\n const {\r\n Onclick\r\n } = this.props;\r\n\r\n let hasOnclick = check.HasValue(Onclick);\r\n return (\r\n
this.props.Onclick() : null}>\r\n {/* Content goes here */}\r\n
\r\n );\r\n }\r\n getIcon(): string{\r\n switch (this.props.Icon) {\r\n case IconName.accept: return \"icon-mini-ok\";\r\n case IconName.cancel: return \"icon-mini-cancel\";\r\n case IconName.arrowNext: return \"icon-mini-arrow\";\r\n case IconName.arrowPrevious: return [\"icon-mini-arrow\", \"rotate180\"].join(' ');\r\n case IconName.arrowUp: return [\"icon-mini-arrow\", \"rotate270\"].join(' ');\r\n case IconName.arrowDown: return [\"icon-mini-arrow\", \"rotate90\"].join(' ');\r\n case IconName.increase: return \"icon-amount-increase\";\r\n case IconName.decrease: return \"icon-amount-decrease\";\r\n case IconName.pencil: return \"icon-pencil\";\r\n case IconName.locked: return \"icon-padlock-locked\";\r\n case IconName.unlocked: return \"icon-padlock-unlocked\";\r\n case IconName.touch: return \"icon-finger-touch\";\r\n case IconName.golfIron: return \"icon-golf-iron\";\r\n case IconName.list: return \"icon-list\";\r\n case IconName.clipboard: return \"icon-clipboard\";\r\n case IconName.calendar: return \"icon-mini-calendar\";\r\n case IconName.search: return \"icon-magnifying-glass\";\r\n case IconName.shield: return \"icon-golf-shield\";\r\n case IconName.register: return \"icon-payment-register\";\r\n case IconName.User: return \"icon-profile-user\";\r\n case IconName.Help: return \"icon-speech-bubble-help\";\r\n case IconName.Settings: return \"icon-settings-cog\";\r\n case IconName.Tools: return \"icon-settings-tools\";\r\n case IconName.Burger: return \"icon-menu-burger\";\r\n case IconName.Booking: return \"icon-time-clock-ok\";\r\n case IconName.GolfBox: return \"icon-logo-golfbox\";\r\n case IconName.Email: return \"icon-mail-envelope\";\r\n case IconName.Mobile: return \"icon-mobile-phone\";\r\n case IconName.Book: return \"icon-book\";\r\n case IconName.Newspaper: return \"icon-newspaper\";\r\n case IconName.Browser: return \"icon-browser\";\r\n case IconName.Trophy: return \"icon-prize-trophy\";\r\n case IconName.GolfCource: return \"icon-golf-course\";\r\n case IconName.Gift: return \"icon-gift\";\r\n case IconName.SpeechBubble: return \"icon-speech-bubble-conversation\";\r\n case IconName.Trashcan: return \"icon-delete-trashcan\";\r\n case IconName.statusCancel: return \"icon-status-cancel\";\r\n case IconName.statusInfo: return \"icon-status-info\";\r\n case IconName.statusAccept: return \"icon-status-ok\";\r\n case IconName.statusAttention:return \"icon-status-attention\";\r\n case IconName.statusWarning: return \"icon-status-warning\";\r\n case IconName.attention: return \" icon-mini-attention\";\r\n case IconName.calculator: return \"icon-calculator\";\r\n case IconName.facebook: return \"icon-logo-facebook\";\r\n case IconName.twitter: return \"icon-logo-twitter\";\r\n case IconName.youtube: return \"icon-logo-youtube\";\r\n case IconName.add: return \"icon-mini-amount-increase\";\r\n case IconName.subtract: return \"icon-mini-amount-decrease\";\r\n case IconName.clock: return \"icon-time-clock\";\r\n case IconName.mapPin: return \"icon-map-pin-large\";\r\n case IconName.info: return \"icon-mini-info\";\r\n case IconName.openBox: return \"icon-box-open\";\r\n case IconName.click: return \"icon-finger-touch\";\r\n case IconName.buggy: return \"icon-golf-buggy\";\r\n case IconName.grid: return \"icon-grid\";\r\n case IconName.star: return \"icon-star\";\r\n case IconName.creditcard: return \"icon-payment-creditcard\";\r\n case IconName.globe: return \"icon-globe-stand\";\r\n default:\r\n return \"icon-mini-arrow\";\r\n }\r\n }\r\n\r\n}\r\n\r\n","export default class NullCheck{\r\n StringHasValue(input: string): boolean{\r\n if(input !== undefined && input !== null && input !== \"\"){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n NumberHasValue(input: number): boolean{\r\n if(input !== undefined && input !== null){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n FunctionHasValue(input: Function):boolean{\r\n if(input !== undefined && input !== null){\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n HasValue(input: any){\r\n if(input === undefined || input === null){\r\n return false;\r\n }\r\n switch (typeof(input)) {\r\n case \"string\":\r\n return this.StringHasValue(input);\r\n case \"number\":\r\n return this.NumberHasValue(input);\r\n case \"object\":\r\n case \"function\":\r\n return this.FunctionHasValue(input);\r\n case \"boolean\":\r\n return input;\r\n default:\r\n console.error('Could not reconize the type of' + input); \r\n return false;\r\n }\r\n }\r\n}","import React from 'react';\r\n// import styles from './GBSpinner.module.scss';\r\n\r\nexport enum GBSpinnerSize {\r\n small,\r\n large\r\n}\r\n\r\nexport interface GBSpinnerProps {\r\n Id?: string;\r\n size: GBSpinnerSize;\r\n}\r\n\r\nexport interface GBSpinnerstate {\r\n status: string;\r\n}\r\n\r\nexport default class GBSpinner extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\"\r\n };\r\n }\r\n\r\n render() {\r\n if (this.props.size === GBSpinnerSize.small){\r\n return (
)\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","import React, { Fragment } from 'react';\r\nimport NullCheck from '../../../utils/NullCheck';\r\nimport { CustomAttribute } from '../../../entitites/CustomAttribute';\r\nimport GBIcon, { IconName } from '../Icon/GBIcon';\r\nimport GBSpinner, { GBSpinnerSize } from '../Spinner/GBSpinner';\r\nimport { IconClass } from '../Button/GBButton';\r\n\r\nexport interface GhostButtonProps {\r\n id?: string;\r\n text?: string;\r\n icon?: IconName;\r\n title?: string;\r\n onClick?: Function;\r\n className?: string;\r\n href?: string;\r\n isDisabled?: boolean;\r\n tabIndex?: number;\r\n customAttributes?: CustomAttribute[];\r\n btnType?: BtnType;\r\n mode?: Mode;\r\n highlight?: boolean;\r\n isLoading?:boolean;\r\n outLined?:boolean;\r\n}\r\nexport enum BtnType {\r\n button,\r\n anchor\r\n}\r\n\r\nexport enum Mode{\r\n default = 0,\r\n cancel = 1,\r\n accept = 2,\r\n active = 4,\r\n iconOnly = 8,\r\n iconOnlySmall = 16\r\n}\r\n\r\nexport interface GhostButtonstate {\r\n status: string;\r\n}\r\n\r\nexport default class GBGhostButton extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n\r\n status: \"\"\r\n };\r\n this.buttonClick = this.buttonClick.bind(this);\r\n }\r\n\r\n buttonClick(e){\r\n e.stopPropagation()\r\n if(this.props.onClick != undefined){\r\n this.props.onClick(e);\r\n } \r\n }\r\n\r\n render() {\r\n let Check = new NullCheck();\r\n let IsButton = this.props.btnType === BtnType.button || this.props.btnType === null || this.props.btnType === undefined;\r\n let Attributes = {};\r\n if(this.props.customAttributes !== undefined && this.props.customAttributes !== null){\r\n this.props.customAttributes.forEach(e => {\r\n Attributes[e.AttributeName] = e.Value;\r\n })\r\n }\r\n let isDisabled: boolean = this.props.isDisabled || this.props.isLoading ? true : false;\r\n return (\r\n \r\n { IsButton ? (\r\n this.buttonClick(e)}\r\n id={Check.StringHasValue(this.props.id) ? this.props.id : \"\"}\r\n className={this.getClasses() + (this.props.isLoading ? \" isLoading\": \"\")+ (this.props.outLined || this.props.outLined === undefined ? \" outlined\": \"\")}\r\n title={Check.StringHasValue(this.props.title) ? this.props.title : Check.StringHasValue(this.props.text) ? this.props.text : \"\"}\r\n tabIndex={Check.NumberHasValue(this.props.tabIndex) ? this.props.tabIndex : null}\r\n disabled={isDisabled}\r\n {...Attributes}\r\n >\r\n {this.props.icon !== undefined &&(\r\n this.props.isLoading && !Check.StringHasValue(this.props.text) ? (\r\n \r\n ):(\r\n \r\n )\r\n )\r\n }\r\n {Check.StringHasValue(this.props.text) &&(\r\n this.props.isLoading ? (\r\n {this.props.text}...\r\n ):(\r\n {this.props.text}\r\n ))\r\n }\r\n {(this.props.icon === undefined && !Check.StringHasValue(this.props.text)) && \r\n this.props.children\r\n }\r\n \r\n ):(\r\n \r\n {this.props.icon !== undefined &&\r\n \r\n }\r\n {Check.StringHasValue(this.props.text) &&\r\n {this.props.text}\r\n }\r\n \r\n )}\r\n \r\n );\r\n }\r\n getClasses(): string{\r\n let Check = new NullCheck();\r\n let classes = [\"ghost-btn\"];\r\n switch (this.props.mode) {\r\n case Mode.default || 0:\r\n break;\r\n case Mode.accept || 2:\r\n classes.push(\"accept\");\r\n break;\r\n case Mode.cancel || 1:\r\n classes.push(\"cancel\");\r\n break;\r\n case Mode.active || 4:\r\n classes.push(\"active\");\r\n break;\r\n case Mode.iconOnly || 8:\r\n classes.push(\"icon-only\");\r\n break;\r\n case Mode.iconOnly & Mode.cancel || 9:\r\n classes.push(\"icon-only\");\r\n classes.push(\"cancel\");\r\n break;\r\n case Mode.iconOnly & Mode.accept || 10:\r\n classes.push(\"icon-only\");\r\n classes.push(\"accept\");\r\n break;\r\n case Mode.iconOnly & Mode.active || 12:\r\n classes.push(\"icon-only\");\r\n classes.push(\"active\");\r\n break;\r\n case Mode.iconOnlySmall || 16:\r\n classes.push(\"icon-only-small\");\r\n break;\r\n case Mode.iconOnlySmall & Mode.cancel || 17:\r\n classes.push(\"icon-only-small\");\r\n classes.push(\"cancel\");\r\n break;\r\n case Mode.iconOnlySmall & Mode.accept || 18:\r\n classes.push(\"icon-only-small\");\r\n classes.push(\"accept\");\r\n break;\r\n case Mode.iconOnlySmall & Mode.active || 20:\r\n classes.push(\"icon-only-small\");\r\n classes.push(\"active\");\r\n break;\r\n default:\r\n break;\r\n }\r\n if(this.props.highlight){\r\n classes.push(\"highlight\");\r\n }\r\n if(Check.HasValue(this.props.className)){\r\n classes.push(this.props.className);\r\n }\r\n return classes.join(' ');\r\n }\r\n}\r\n\r\n","import { SignupFormData } from \"entitites/SignupFormData\";\r\nimport { MemberShipPack } from \"localComponents/MemberShipPacks\";\r\nimport React from \"react\";\r\n\r\n\r\ninterface ISignupContextState {\r\n memberShipPack: MemberShipPack;\r\n signupFormData: SignupFormData;\r\n}\r\ninterface ISignupContext {\r\n state: ISignupContextState,\r\n setMemberShipPack: Function,\r\n setSignupFormData: Function\r\n}\r\nclass SignupContextProvider extends React.Component<{}, ISignupContextState> implements ISignupContext {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n memberShipPack: undefined,\r\n signupFormData: undefined\r\n }\r\n this.setMemberShipPack = this.setMemberShipPack.bind(this);\r\n this.setSignupFormData = this.setSignupFormData.bind(this);\r\n }\r\n setMemberShipPack(pack) {\r\n this.setState({memberShipPack: pack})\r\n }\r\n setSignupFormData(formData) {\r\n this.setState({signupFormData: formData})\r\n }\r\n\r\n render() {\r\n const { children } = this.props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst SignupContext = React.createContext({\r\n setMemberShipPack: undefined,\r\n setSignupFormData: undefined,\r\n state: {\r\n memberShipPack: undefined,\r\n signupFormData: undefined\r\n }\r\n});\r\n\r\nconst SignupContextConsumer = SignupContext.Consumer\r\nexport { SignupContext, SignupContextProvider, SignupContextConsumer };\r\n","import AjaxHelper from './AjaxHelper';\r\nimport React, { Fragment } from \"react\";\r\n\r\nexport default class Language {\r\n private static instance: Language = null;\r\n private languageArray: Object = {};\r\n private constructor() {\r\n // this.setLanguageArray = this.setLanguageArray.bind(this);\r\n }\r\n\r\n public static get Instance(): Language{\r\n if(this.instance === null){\r\n this.instance = new Language();\r\n }\r\n return this.instance;\r\n }\r\n\r\n // public LoadLanguage(isLoading: Function) {\r\n // new AjaxHelper().simpleGet(\"/assets/language/Language_union.admin1030.json\", (e) => {\r\n // Language.Instance.setLanguageArray(e.data)\r\n // isLoading(false);\r\n // },undefined,false)\r\n // }\r\n public LoadLanguage(isLoading: Function) {\r\n let language = JSON.parse(localStorage.getItem(\"Language\"))\r\n return new Promise((resolve, reject) => {\r\n new AjaxHelper().simpleGet(\"/assets/language/\"+process.env.REACT_APP_LANGUAGEFILENAME_BASE + this.ToLcid(language) + \".json\", (e) => {\r\n Language.Instance.setLanguageArray(e.data)\r\n isLoading(false);\r\n resolve(null);\r\n }, () => {\r\n Language.Instance.setLanguageArray([])\r\n isLoading(false);\r\n resolve(null);\r\n })\r\n })\r\n }\r\n\r\n GetValue() {\r\n return this.languageArray\r\n }\r\n setLanguageArray(data) {\r\n this.languageArray = {};\r\n data.forEach(element => {\r\n this.languageArray[element.k] = element.v;\r\n });\r\n }\r\n Translate(key, value, group:string = \"ML_\"): string {\r\n let valueToReturn = undefined;\r\n valueToReturn = this.languageArray[group + key.toUpperCase()]\r\n return (valueToReturn !== undefined ? valueToReturn : \"*\" + value);\r\n }\r\n ToLcid(lang): string {\r\n switch (lang) {\r\n case \"da\":\r\n case \"da-DK\":\r\n return \"1030\"\r\n case \"is\":\r\n return \"1039\"\r\n case \"et\":\r\n return \"1061\"\r\n case \"fi\":\r\n return \"1035\"\r\n case \"lv\":\r\n return \"1062\"\r\n case \"lt\":\r\n return \"1063\"\r\n case \"no\":\r\n case \"nb-NO\":\r\n return \"1044\"\r\n case \"sv\":\r\n return \"1053\"\r\n case \"en-US\":\r\n return \"1033\"\r\n case \"de\":\r\n return \"1031\"\r\n default:\r\n return \"2057\";\r\n }\r\n }\r\n \r\n}\r\n\r\nexport const GBText = (value: string) : JSX.Element => {\r\n if(value.startsWith('*')) {\r\n return ({value.substr(1, value.length - 1)});\r\n } else {\r\n return {value};\r\n }\r\n}\r\n\r\nexport const Translate = (key : string, value : string): string => {\r\n return Language.Instance.Translate(key, value);\r\n}\r\n","import axios from 'axios';\r\nimport Language from './Language';\r\ndeclare global {\r\n interface Window { GMS: any; }\r\n}\r\n\r\n// const GBDomain = window.GMS.GBDomain\r\nexport const GetGBDomain = () => {\r\n try {\r\n return window.GMS.gbDomain;\r\n } catch {\r\n return \"https://test.golfbox.dk\"\r\n }\r\n}\r\nexport default class AjaxHelper {\r\n private Authconfig = {\r\n headers: {\r\n \"crossDomain\": true,\r\n 'Authorization': 'Bearer ' + this.getToken(),\r\n 'Language': Language.Instance.ToLcid(JSON.parse(localStorage.getItem(\"Language\")))\r\n },\r\n }\r\n\r\n private noAuthconfig = {\r\n headers: {\r\n \"crossDomain\": true,\r\n 'Language': Language.Instance.ToLcid(JSON.parse(localStorage.getItem(\"Language\")))\r\n },\r\n }\r\n\r\n private getToken() {\r\n let Jsontoken = localStorage.getItem('Token');\r\n let token = JSON.parse(Jsontoken);\r\n if (token)\r\n return token;\r\n }\r\n\r\n public getHost() {\r\n try {\r\n return window.GMS.gbHost;\r\n } catch (e) {\r\n return \"https://\" + process.env.REACT_APP_LOCALHOST;\r\n //return \"http://localhost:59581\";\r\n }\r\n }\r\n\r\n simplePost(Url: string, Data: any, Success: Function = undefined, Error: Function = undefined, useAuth: boolean = true) {\r\n let config;\r\n if (useAuth) {\r\n config = this.Authconfig\r\n } else {\r\n config = this.noAuthconfig\r\n }\r\n axios.post(this.getHost() + Url, Data, config)\r\n .then(response => {\r\n if (Success !== undefined) {\r\n Success(response)\r\n } else {\r\n if (response.status === 403) {\r\n currentAuth.authenticate(false)\r\n }\r\n console.log(response)\r\n }\r\n })\r\n .catch(e => {\r\n if (Error !== undefined) {\r\n Error(e);\r\n } else {\r\n console.log(e)\r\n }\r\n })\r\n }\r\n simpleGet(Url: string, Success?: Function, Error?: Function, useAuth: boolean = true) {\r\n let config;\r\n if (useAuth) {\r\n config = this.Authconfig\r\n } else {\r\n config = this.noAuthconfig\r\n }\r\n axios.get(this.getHost() + Url, config)\r\n .then(function (response) {\r\n // handle success\r\n if (Success !== undefined) {\r\n Success(response)\r\n } else {\r\n if (response.status === 403) {\r\n currentAuth.authenticate(false)\r\n }\r\n console.log(response);\r\n }\r\n }).catch(e => {\r\n if (Error !== undefined) {\r\n Error(e);\r\n } else {\r\n console.log(e)\r\n }\r\n\r\n })\r\n }\r\n redirectToExternal(Url: string) {\r\n window.location.href = Url;\r\n }\r\n async checkAuth() {\r\n let config;\r\n config = this.Authconfig\r\n await axios.get(this.getHost() + \"/API/User?handler=authorise\", config)\r\n .then(function (response) {\r\n currentAuth.authenticate(true)\r\n }).catch(e => { currentAuth.authenticate(false) })\r\n }\r\n\r\n}\r\nexport const currentAuth = {\r\n isAuthenticated: false,\r\n authenticate(val) {\r\n currentAuth.isAuthenticated = val;\r\n },\r\n signout() {\r\n currentAuth.isAuthenticated = false;\r\n }\r\n};\r\nexport const getGBDomain = () => {\r\n try {\r\n return window.GMS.gbDomain;\r\n } catch (e) {\r\n return \"https://www.golfbox.dk\"\r\n }\r\n}\r\n\r\nexport const getGBDomainAlternate = () => {\r\n try {\r\n return window.GMS.gbDomainAlternate;\r\n } catch (e) {\r\n return \"https://www.golfbox.no\"\r\n\r\n }\r\n}","import GBGhostButton from 'components/basic/GhostButton/GBGhostButton';\r\nimport { SignupContextConsumer } from 'Contexts/SignupContext';\r\nimport { PageIndex } from 'entitites/PageIndex';\r\nimport React from 'react';\r\nimport AjaxHelper from 'utils/AjaxHelper';\r\nimport { Translate } from 'utils/Language';\r\nimport { Link } from 'react-router-dom';\r\n\r\n\r\n\r\nexport interface MemberShipPacksProps {\r\n Id?: string;\r\n history?: any;\r\n}\r\n\r\nexport interface MemberShipPacksstate {\r\n status: string;\r\n memberShipPack: MemberShipPack[];\r\n moreInfo: string;\r\n isLoading: boolean;\r\n}\r\ndeclare const window: any;\r\nexport default class MemberShipPacks extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\",\r\n memberShipPack: undefined,\r\n moreInfo: undefined,\r\n isLoading: true\r\n };\r\n this.fetchPacks().then((e: any) => {\r\n let tempList: MemberShipPack[] = []\r\n if (e.data !== null && e.data.length > 0) {\r\n\r\n e.data.forEach(element => {\r\n tempList.push(new MemberShipPack({ Description: element.description, name: element.name, guid: element.guid, Price: element.price, selected: false, currency: element.currency, internetPaymentTerms: element.internetPaymentTerms }))\r\n });\r\n\r\n }\r\n this.setState({ isLoading: false, memberShipPack: tempList })\r\n })\r\n }\r\n\r\n fetchPacks(): Promise {\r\n return new Promise((resolve, reject) => {\r\n let clubGuid = undefined;\r\n if (window.GMS != undefined) {\r\n clubGuid = window.GMS.selectedClub;\r\n } else {\r\n clubGuid = \"CC17EDC4-CFD7-4733-8904-1010CE10E921\";\r\n }\r\n if (clubGuid != undefined) {\r\n\r\n new AjaxHelper().simplePost(\"/public/PackOptions?clubGuid=\" + clubGuid, {}, (e) => { resolve(e.data) })\r\n } else {\r\n alert(\"Something went wrong\")\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n if (this.state.isLoading) {\r\n return (
Loading
)\r\n }\r\n if (this.state.memberShipPack.length == 0) {\r\n return (\r\n
\r\n {Translate(\"No_membership_packages_found_try_contacting_the_associated_club\", \"No membership packages found, try contacting the associated club\")}\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n {this.state.memberShipPack.map((e, i) =>\r\n MemberShipPackDisplay(e, i)\r\n )}\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport const MemberShipPackDisplay = (pack, index, selectOption = true, horizontal = false) => {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {pack.name}\r\n
\r\n
\r\n {pack.Price.toLocaleString(undefined, { minimumFractionDigits: 2 }) + \" \" + pack.currency.toUpperCase() + \".\"}\r\n {selectOption &&\r\n
\r\n \r\n {signupContext => (\r\n \r\n { signupContext.setMemberShipPack(pack) }}>\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 class MemberShipPack {\r\n name: string\r\n Description: string;\r\n Price: Number;\r\n currency: string;\r\n guid: string;\r\n selected: boolean;\r\n internetPaymentTerms: string;\r\n\r\n constructor(init?: MemberShipPack) {\r\n Object.assign(this, init);\r\n }\r\n}\r\n","import MemberShipPacks from 'localComponents/MemberShipPacks';\r\nimport React, { Fragment } from 'react';\r\n\r\nexport interface IndexProps {\r\n Id?: string;\r\n history?: any;\r\n}\r\n\r\nexport interface Indexstate {\r\n\r\n}\r\n\r\nexport default class Index extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { CustomAttribute } from 'entitites/CustomAttribute';\r\nimport DatePicker, { registerLocale, setDefaultLocale } from \"react-datepicker\";\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport GBIcon, { IconName } from '../Icon/GBIcon';\r\nimport da from 'date-fns/locale/da';\r\nimport { format } from 'date-fns';\r\nimport NullCheck from 'utils/NullCheck';\r\nregisterLocale('da', da)\r\nsetDefaultLocale('da')\r\nexport interface GBDatePickerProps {\r\n Id?: string;\r\n Url?: string;\r\n Name?: string;\r\n DefaultDate?: Date;\r\n IsDisabled?: boolean;\r\n ShowYearDropDown?: boolean;\r\n setDate?: Function;\r\n errorMessage?: string;\r\n\r\n}\r\n\r\nexport interface GBDatePickerstate {\r\n status: string;\r\n Time: Date;\r\n}\r\n\r\nexport default class GBDatePicker extends React.Component {\r\n testString: string = \"\";\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\",\r\n Time: this.props.DefaultDate !== undefined ? this.props.DefaultDate : new Date()\r\n };\r\n }\r\n\r\n render() {\r\n let Attribute: CustomAttribute[] = [];\r\n // let Check = new NullCheck();\r\n if (this.props.ShowYearDropDown) {\r\n Attribute[\"showYearDropdown\"] = true;\r\n Attribute[\"scrollableYearDropdown\"] = true;\r\n Attribute[\"yearDropdownItemNumber\"] = 50;\r\n };\r\n if (this.props.DefaultDate === undefined) {\r\n let currentDate = new Date();\r\n currentDate.setFullYear(new Date().getFullYear() - 50)\r\n Attribute[\"openToDate\"] = currentDate;\r\n\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n this.submitFunction(date)}\r\n locale={\"da\"}\r\n dateFormat=\"dd-MM-yyyy\"\r\n selected={this.props.DefaultDate === undefined ? undefined : this.props.DefaultDate}\r\n popperModifiers={{\r\n preventOverflow: {\r\n enabled: true,\r\n },\r\n }}\r\n {...Attribute}>\r\n \r\n
\r\n {new NullCheck().StringHasValue(this.props.errorMessage) &&\r\n \r\n }\r\n
\r\n );\r\n }\r\n submitFunction(date) {\r\n if (this.props.setDate !== undefined) {\r\n this.props.setDate(date);\r\n } else {\r\n this.setState({ Time: date })\r\n }\r\n }\r\n componentDidMount() {\r\n\r\n }\r\n\r\n}\r\n\r\n","import React, { Fragment } from 'react';\r\nimport NullCheck from 'utils/NullCheck';\r\nimport Generator from 'utils/Generator';\r\nimport InputAjaxHelper from './InputAjaxhelper';\r\nimport { CustomAttribute } from 'entitites/CustomAttribute';\r\nimport GBIcon, { IconName } from '../Icon/GBIcon';\r\n\r\nexport enum InputTheme {\r\n Default,\r\n Date,\r\n Search\r\n}\r\n\r\nexport interface GB_inputProps {\r\n id?: string;\r\n url?: string;\r\n name?: string;\r\n inputIcon?: IconName;\r\n customAttributes?: CustomAttribute[];\r\n containerId?: string;\r\n containerClassName?: string;\r\n onKeyup?: Function;\r\n onKeyPress?: Function;\r\n onChange?: Function;\r\n onblur?: Function;\r\n iconId?: string;\r\n value?: string;\r\n defaultValue?: string;\r\n placeholder?: string;\r\n className?: string;\r\n isDisabled?: boolean;\r\n required?: boolean;\r\n validation?: string;\r\n errorMessage?: string;\r\n tabIndex?: number;\r\n bindValue?: string;\r\n min?: number;\r\n max?: number;\r\n isLarge?:boolean;\r\n}\r\n\r\nexport interface GB_inputstate {\r\n status: string;\r\n}\r\n\r\nexport default class GBInput extends React.Component {\r\n testString: string = \"\";\r\n inputID: string = new Generator().GetHash();\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\"\r\n };\r\n }\r\n\r\n render() {\r\n let Check = new NullCheck();\r\n let inputAttributes = {};\r\n let IconAttributes = {};\r\n let formId = new Generator().GetHash();\r\n let isAjaxInput = Check.StringHasValue(this.props.url);\r\n\r\n if (Check.StringHasValue(this.props.id)) { inputAttributes[\"id\"] = this.props.id };\r\n if (Check.StringHasValue(this.props.name)) { inputAttributes[\"name\"] = this.props.name };\r\n if (Check.StringHasValue(this.props.placeholder)) { inputAttributes[\"placeholder\"] = this.props.placeholder };\r\n if (this.props.required) { inputAttributes[\"required\"] = \"required\" };\r\n if (Check.FunctionHasValue(this.props.onKeyup)) { inputAttributes[\"onKeyUp\"] = this.props.onKeyup };\r\n if (Check.FunctionHasValue(this.props.onChange)) { inputAttributes[\"onChange\"] = this.props.onChange };\r\n if (Check.FunctionHasValue(this.props.onblur)) { inputAttributes[\"onBlur\"] = this.props.onblur };\r\n if (Check.NumberHasValue(this.props.tabIndex)) { inputAttributes[\"tabindex\"] = this.props.tabIndex };\r\n if (Check.FunctionHasValue(this.props.onKeyPress)) { inputAttributes[\"onKeyPress\"] = this.props.onKeyPress };\r\n if (Check.StringHasValue(this.props.defaultValue)) { inputAttributes[\"defaultValue\"] = this.props.defaultValue };\r\n if (Check.StringHasValue(this.props.value)) { inputAttributes[\"value\"] = this.props.value };\r\n if (this.props.isDisabled) { inputAttributes[\"disabled\"] = \"disabled\" };\r\n if (this.props.customAttributes !== undefined && this.props.customAttributes !== null) {\r\n this.props.customAttributes.forEach(e => {\r\n inputAttributes[e.AttributeName] = e.Value;\r\n })\r\n }\r\n\r\n if (Check.StringHasValue(this.props.iconId)) { IconAttributes[\"id\"] = this.props.iconId };\r\n return (\r\n
\r\n {isAjaxInput ? (\r\n \r\n
\r\n \r\n {/* {this.props.InputIcon !== IconClass.None &&\r\n TODO
this.targetSibling()}>
\r\n } */}\r\n {Check.HasValue(this.props.inputIcon) &&\r\n this.targetSibling()}>\r\n }\r\n
\r\n
\r\n ) : (\r\n \r\n \r\n {new NullCheck().StringHasValue(this.props.errorMessage) &&\r\n \r\n }\r\n {/* {this.props.InputIcon !== IconClass.None &&\r\n TODO
this.targetSibling()}>
\r\n } */}\r\n {Check.HasValue(this.props.inputIcon) &&\r\n this.targetSibling()}>\r\n }\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n \r\n private targetSibling() {\r\n document.getElementById((new NullCheck().StringHasValue(this.props.id) ? this.props.id : this.inputID)).focus();\r\n }\r\n\r\n}\r\n\r\n","export default class ArrayHelper{\r\n array_move(arr, old_index, new_index): any[] {\r\n if (new_index >= arr.length) {\r\n var k = new_index - arr.length + 1;\r\n while (k--) {\r\n arr.push(undefined);\r\n }\r\n }\r\n arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);\r\n return arr; // for testing\r\n };\r\n}","import React from 'react';\r\n// import styles from './GBlabelPair.module.scss';\r\nimport { GBText } from 'utils/Language';\r\n\r\n\r\n\r\nexport interface GBLabelPairProps {\r\n forId?: string;\r\n description: string;\r\n isloading?: boolean;\r\n error?: boolean;\r\n className?:string;\r\n strip?: boolean;\r\n }\r\n\r\n\r\nexport default class GBLabelPair extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status:\"\"\r\n };\r\n }\r\n \r\n render() {\r\n if(this.props.isloading){\r\n return (\r\n
\r\n \r\n
\r\n {this.props.children}\r\n
\r\n
)\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n
\r\n {this.props.children}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import { Translate } from \"./Language\";\r\n\r\nexport default class Generator {\r\n GetHash(): string {\r\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\r\n }\r\n}\r\nexport const GetHash = (): string => {\r\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\r\n}\r\ndeclare global {\r\n interface window { screen: any }\r\n // interface screen {width: any, height: any, availWidth: any}\r\n}\r\nexport const PopupCenter = ({ url = undefined, title, w, h }) => {\r\n // Fixes dual-screen position Most browsers Firefox\r\n const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;\r\n const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;\r\n\r\n const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width;\r\n const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height;\r\n\r\n const systemZoom = width / window.screen.availWidth;\r\n const left = (width - w) / 2 / systemZoom + dualScreenLeft\r\n const top = (height - h) / 2 / systemZoom + dualScreenTop\r\n let newWindow = undefined;\r\n if (url !== undefined) {\r\n\r\n newWindow = window.open(url, title,\r\n `\r\n scrollbars=yes,\r\n width=${w / systemZoom}, \r\n height=${h / systemZoom}, \r\n top=${top}, \r\n left=${left}\r\n `\r\n )\r\n } else {\r\n newWindow = window.open(\"\", title,\r\n `scrollbars=yes,\r\n width=${w / systemZoom}, \r\n height=${h / systemZoom}, \r\n top=${top}, \r\n left=${left}`\r\n );\r\n newWindow.document.body.innerHTML = \"\" + Translate(\"wait_for_redirect\", \"Wait for redirect\") + \"\";\r\n }\r\n return newWindow;\r\n // if (window.focus) newWindow.focus();\r\n}\r\n\r\nexport const CreateMemberAddressString = (input: { roadName: string, roadNumber: string, houseFloor: string, houseLetter: string, houseSide: string }): string => {\r\n let string = \"\"\r\n if (input.roadName !== null) {\r\n string += input.roadName\r\n }\r\n if (input.roadNumber !== null) {\r\n string += \" \" + input.roadNumber\r\n }\r\n if (input.houseLetter !== null && input.houseLetter !== \"\") {\r\n string += \"\" + input.houseLetter\r\n if (input.houseFloor !== null && input.houseFloor !== \"\") {\r\n string += \", \" + input.houseFloor\r\n if (input.houseSide !== null && input.houseSide !== \"\") {\r\n string += \".\" + input.houseSide + \".\"\r\n }\r\n } else {\r\n if (input.houseSide !== null && input.houseSide !== \"\") {\r\n string += \", \" + input.houseSide + \".\"\r\n }\r\n }\r\n\r\n\r\n } else {\r\n if (input.houseFloor !== null && input.houseFloor !== \"\") {\r\n string += \", \" + input.houseFloor\r\n if (input.houseSide !== null && input.houseSide !== \"\") {\r\n string += \".\" + input.houseSide + \".\"\r\n }\r\n } else {\r\n if (input.houseSide !== null && input.houseSide !== \"\") {\r\n string += \", \" + input.houseSide + \".\"\r\n }\r\n }\r\n }\r\n\r\n return string;\r\n}\r\n\r\n// silkeborgvej 12A, 1.th.","import React, { Fragment } from 'react';\r\nimport { Dropdown, FormControl } from 'react-bootstrap';\r\nimport NullCheck from 'utils/NullCheck';\r\nimport ArrayHelper from 'utils/ArrayHelper';\r\nimport { Translate } from 'utils/Language';\r\nimport GBLabelPair from '../LabelPair/GBLabelPair';\r\nimport Seperator from '../Seperator/Seperator';\r\nimport { GetHash } from 'utils/Generator';\r\n\r\nexport class GBDropdownElements {\r\n IsHeader?: boolean;\r\n Value?: string;\r\n DisplayName: string;\r\n Group?: string;\r\n selected: boolean;\r\n constructor(DisplayName: string, IsHeader: boolean, Value: string, selected?: boolean, Group?: string) {\r\n this.DisplayName = DisplayName;\r\n this.IsHeader = IsHeader;\r\n this.Value = Value;\r\n this.Group = Group;\r\n this.selected = selected;\r\n if (Group === undefined || Group === null) {\r\n this.Group = \"none\";\r\n }\r\n }\r\n}\r\n\r\nexport interface GBDropdownProps {\r\n Id?: string;\r\n DefaultDisplayName?: string;\r\n Elements: GBDropdownElements[];\r\n selectionFunction?: Function;\r\n className?: string;\r\n errorMessage?: string;\r\n allowSearch?: boolean;\r\n}\r\n\r\nexport interface GBDropdownstate {\r\n status: string;\r\n selectedValue: string;\r\n selectedDisplayName?: string;\r\n searchValue?: string;\r\n}\r\n\r\nexport default class GBDropdown extends React.Component {\r\n testString: string = \"\";\r\n Check = new NullCheck();\r\n formId = GetHash();\r\n \r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\",\r\n selectedValue: \"\",\r\n selectedDisplayName: Translate(\"not_selected\", \"Not selected\"),\r\n searchValue: \"\"\r\n };\r\n }\r\n\r\n \r\n\r\n render() {\r\n\r\n return (\r\n
\r\n \r\n \r\n {(this.props.Elements !== undefined && this.props.Elements.find(e => e.selected) !== undefined) ? this.props.Elements.find(e => e.selected).DisplayName : this.state.selectedDisplayName}\r\n {/* {this.Check.StringHasValue(this.state.selectedDisplayName) ? this.state.selectedDisplayName : this.props.DefaultDisplayName} */}\r\n \r\n \r\n {this.props.allowSearch ?\r\n \r\n \r\n \r\n this.setState({ searchValue: e.target.value })}\r\n value={this.state.searchValue}\r\n />\r\n\r\n \r\n
\r\n\r\n {this.sortMenu(this.props.Elements).filter((e) => e.DisplayName.toLowerCase().startsWith(this.state.searchValue.toLowerCase())).map((element, index) => {\r\n return (\r\n \r\n {element.IsHeader ? (\r\n {element.DisplayName}\r\n\r\n ) : (\r\n\r\n this.setItemAsSelected(element.Value, element.DisplayName)}>{element.DisplayName}\r\n )}\r\n\r\n \r\n )\r\n })}\r\n
\r\n
\r\n\r\n
\r\n :\r\n \r\n {this.sortMenu(this.props.Elements).map((element, index) => {\r\n return (\r\n \r\n {element.IsHeader ? (\r\n {element.DisplayName}\r\n\r\n ) : (\r\n\r\n this.setItemAsSelected(element.Value, element.DisplayName)}>{element.DisplayName}\r\n )}\r\n\r\n \r\n )\r\n })}\r\n\r\n \r\n }\r\n
\r\n
\r\n {new NullCheck().StringHasValue(this.props.errorMessage) &&\r\n \r\n }\r\n
\r\n );\r\n }\r\n setItemAsSelected(value, displayname) {\r\n if (this.props.selectionFunction !== undefined) {\r\n this.props.selectionFunction(value)\r\n } else {\r\n this.setState({ selectedValue: value, selectedDisplayName: displayname })\r\n\r\n }\r\n }\r\n filterByGroup = (list: GBDropdownElements[], group: string) => list.filter(element => element.Group === group);\r\n\r\n sortMenu(list): GBDropdownElements[] {\r\n let tempList: GBDropdownElements[] = [];\r\n let groups: string[] = [];\r\n //finds groups\r\n list.map(Ielement => {\r\n if (this.Check.StringHasValue(Ielement.Group)) {\r\n if (!groups.includes(Ielement.Group)) {\r\n groups.push(Ielement.Group);\r\n }\r\n }\r\n return null;\r\n })\r\n\r\n //sort groups\r\n groups = groups.sort((one, two) => (one > two ? 1 : -1));\r\n if (groups.includes(\"none\")) {\r\n groups = new ArrayHelper().array_move(groups, groups.indexOf(\"none\"), 0)\r\n }\r\n\r\n //fills the new list with elements sorted by groups and displayname\r\n groups.map(e => {\r\n let temp: GBDropdownElements[] = this.filterByGroup(list, e);\r\n\r\n temp = temp.sort((one, two) => (one.DisplayName > two.DisplayName ? 1 : -1));\r\n if (temp.find(e => e.IsHeader === true) === undefined || temp.find(e => e.IsHeader === true) === null) {\r\n if (temp[0].Group !== \"none\") {\r\n temp.push(new GBDropdownElements(temp[0].Group, true, \"\", temp[0].selected, temp[0].Group))\r\n }\r\n }\r\n let header = temp.find(e => e.IsHeader === true);\r\n temp = new ArrayHelper().array_move(temp, temp.indexOf(header), 0)\r\n temp.map(o => tempList.push(o));\r\n return null;\r\n })\r\n\r\n return tempList;\r\n }\r\n\r\n}\r\n\r\n\r\n// forwardRef again here!\r\n// Dropdown needs access to the DOM of the Menu to measure it\r\n// const CustomMenu = React.forwardRef(\r\n// ({ children, style, className, 'aria-labelledby': labeledBy }, ref) => {\r\n// const [value, setValue] = useState('');\r\n\r\n// return (\r\n// \r\n// setValue(e.target.value)}\r\n// value={value}\r\n// />\r\n//
    \r\n// {React.Children.toArray(children).filter(\r\n// (child) =>\r\n// !value || child.props.children.toLowerCase().startsWith(value),\r\n// )}\r\n//
\r\n// \r\n// );\r\n// },\r\n// );\r\n\r\n","//import { truncate } from \"fs\" causes an error\r\nexport default class InputAjaxHelper {\r\n\r\n simpleSubmit(formId: string, controllerUrl: string, spinnerTarget: string, ValidationMethod: string) {\r\n //TODO create call with validation using axois helper, load spinner while waiting\r\n console.log(\"TODO\")\r\n\r\n}\r\n\r\n// if needed rewrite from jquery to ts\r\nvalidateAjaxForm(formId) {\r\n // console.log(\"standard\")\r\n // let $inputs = $('#' + formId).children().filter('input');\r\n // let validationStatus = false;\r\n // $inputs.each(function () {\r\n // let type = this.type;\r\n // switch (type) {\r\n // case \"text\":\r\n // validationStatus = true;\r\n // break;\r\n // case \"email\":\r\n // var regex = /^([a-zA-Z0-9_.+-])+\\@(([a-zA-Z0-9-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\r\n // validationStatus = regex.test(this.value);\r\n // break;\r\n // case \"number\":\r\n // validationStatus = true;\r\n // break;\r\n // }\r\n // if (!validationStatus) {\r\n // return {\r\n // status: false,\r\n // errorAtTarget: this\r\n // }\r\n // }\r\n // })\r\n // return {\r\n // status: validationStatus\r\n // }\r\n\r\n}\r\n\r\n}","import React, { Fragment } from 'react';\r\n\r\n\r\n\r\nexport interface SeperatorProps {\r\n Id?: string;\r\n toLabelPair?: boolean;\r\n }\r\n\r\nexport interface Seperatorstate {\r\n status: string;\r\n}\r\n\r\nexport default class Seperator extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status:\"\"\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\r\n","import {registerDecorator, ValidationArguments, ValidationOptions, ValidatorConstraint, ValidatorConstraintInterface} from 'class-validator';\r\nimport { Translate } from 'utils/Language';\r\n\r\nexport function Match(property: string, validationOptions?: ValidationOptions) {\r\n return (object: any, propertyName: string) => {\r\n registerDecorator({\r\n target: object.constructor,\r\n propertyName,\r\n options: validationOptions,\r\n constraints: [property],\r\n validator: MatchConstraint,\r\n });\r\n };\r\n}\r\n\r\n@ValidatorConstraint({name: 'Match'})\r\nexport class MatchConstraint implements ValidatorConstraintInterface {\r\n\r\n validate(value: any, args: ValidationArguments) {\r\n const [relatedPropertyName] = args.constraints;\r\n const relatedValue = (args.object as any)[relatedPropertyName];\r\n return value === relatedValue;\r\n }\r\n\r\n defaultMessage(args: ValidationArguments) {\r\n const [relatedPropertyName] = args.constraints;\r\n return `${relatedPropertyName} and ${args.property} don't match`;\r\n }\r\n}\r\n\r\nexport function DependentValue(property: string, validationOptions?: ValidationOptions) {\r\n return (object: any, propertyName: string) => {\r\n registerDecorator({\r\n target: object.constructor,\r\n propertyName,\r\n options: validationOptions,\r\n constraints: [property],\r\n validator: DependentValueConstraint,\r\n });\r\n };\r\n}\r\n\r\n@ValidatorConstraint({name: 'DependentValue'})\r\nexport class DependentValueConstraint implements ValidatorConstraintInterface {\r\n\r\n validate(value: any, args: ValidationArguments) {\r\n const [relatedPropertyName] = args.constraints;\r\n const relatedValue = (args.object as any)[relatedPropertyName];\r\n return relatedValue !== \"\";\r\n }\r\n\r\n defaultMessage(args: ValidationArguments) {\r\n const [relatedPropertyName] = args.constraints;\r\n return Translate(\"you_must_select_a_country_to_search_for_a_city_name\",\"You must select a country to search for a city name\");\r\n return `${relatedPropertyName} and ${args.property} don't match`;\r\n }\r\n}","import { IsBooleanString, IsDate, IsEmail, IsNotEmpty, Length, Matches, MaxDate, Min, MinLength, ValidateIf } from \"class-validator\";\r\nimport { Translate } from \"utils/Language\";\r\nimport { DependentValue, Match } from \"utils/Validation/CustomValidators\";\r\n\r\nexport class SignupFormData {\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n FirstName: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n LastName: string;\r\n @IsEmail(undefined, { message: ()=>Translate(\"Email_must_be_valid\", \"Email must be valid\") })\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n Email: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n MobileNumber: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n Nationality: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n Gender: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n @IsDate()\r\n @MaxDate(new Date, {message: ()=>Translate(\"the_date_cannot_be_in_the_future\",\"The date cannot be in the future\")})\r\n Birthdate: Date;\r\n \r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n RoadName: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n RoadNumber: string;\r\n HouseLetter: string;\r\n Floor: string;\r\n FloorSite: string;\r\n @IsNotEmpty({ message: ()=>Translate(\"required_field\", \"Required field\") })\r\n @DependentValue(\"Country\")\r\n ZipCode: string;\r\n City: string;\r\n Country: string;\r\n PreviousHCP: string;\r\n \r\n constructor(init?: SignupFormData) {\r\n Object.assign(this, init);\r\n }\r\n}\r\n","import { GBDropdownElements } from \"components/basic/Dropdown/GBDropdown\";\r\nimport { Translate } from \"./Language\";\r\n\r\nexport const DropDownLists = {\r\n getGenderList() : GBDropdownElements[]{\r\n let listToReturn : GBDropdownElements[] = [];\r\n listToReturn.push(new GBDropdownElements(Translate(\"male\", \"Male\"), false, \"M\"));\r\n listToReturn.push(new GBDropdownElements(Translate(\"female\", \"Female\"), false, \"F\"));\r\n return listToReturn\r\n }\r\n}","export const ValidationHelpers = {\r\n getErrorMessage(fieldName: string, stateParrent: any) {\r\n let errorArray = stateParrent.state.Error;\r\n if (errorArray.length > 0 ) {\r\n let errorMessage = errorArray.find((e) => { if (e.PropName === fieldName) { return e } });\r\n if (errorMessage !== undefined) {\r\n return errorMessage.message\r\n }\r\n }\r\n return \"\";\r\n },\r\n addError(error, target, stateParrent: any) {\r\n let targetError = error.find((e) => { if (e.property === target) return e });\r\n let tempError: { PropName: string, message: string } = undefined;\r\n let tempStateErrors = stateParrent.state.Error;\r\n let fieldHasNoErrorInState: boolean = tempStateErrors.filter(e => { if (e.PropName === target) { return e } }).length === 0\r\n if (targetError !== undefined) {\r\n tempError = { PropName: target, message: Object.values(targetError.constraints)[Object.values(targetError.constraints).length - 1] + \"\" };\r\n if (fieldHasNoErrorInState) {\r\n tempStateErrors.push(tempError)\r\n stateParrent.setState({ Error: tempStateErrors });\r\n return;\r\n } else if (!fieldHasNoErrorInState && tempError.message === tempStateErrors.find(e => { if (e.PropName === target) { return e } }).message) {\r\n return;\r\n } else {\r\n let index: number = tempStateErrors.findIndex(x => x.PropName === target);\r\n if (index > -1) {\r\n tempStateErrors.splice(index, 1);\r\n }\r\n tempStateErrors.push(tempError)\r\n stateParrent.setState({ Error: tempStateErrors });\r\n return;\r\n }\r\n } else {\r\n if (!fieldHasNoErrorInState) {\r\n let index: number = tempStateErrors.findIndex(x => x.PropName === target);\r\n if (index > -1) {\r\n tempStateErrors.splice(index, 1);\r\n }\r\n stateParrent.setState({ Error: tempStateErrors });\r\n }\r\n }\r\n },\r\n addCustomError(errorMessage: string, target: string, stateParrent: any) {\r\n let tempStateErrors = stateParrent.state.Error;\r\n let tempError: { PropName: string, message: string } = undefined;\r\n tempError = { PropName: target, message: errorMessage };\r\n let fieldHasNoErrorInState: boolean = tempStateErrors.filter(e => { if (e.PropName === target) { return e } }).length === 0\r\n if (fieldHasNoErrorInState) {\r\n tempStateErrors.push(tempError)\r\n stateParrent.setState({ Error: tempStateErrors });\r\n return;\r\n } else if (!fieldHasNoErrorInState && tempError.message === tempStateErrors.find(e => { if (e.PropName === target) { return e } }).message) {\r\n return;\r\n } else {\r\n let index: number = tempStateErrors.findIndex(x => x.PropName === target);\r\n if (index > -1) {\r\n tempStateErrors.splice(index, 1);\r\n }\r\n tempStateErrors.push(tempError)\r\n stateParrent.setState({ Error: tempStateErrors });\r\n return;\r\n }\r\n \r\n }\r\n // tempStateErrors.push(tempError)\r\n // stateParrent.setState({ Error: tempStateErrors });\r\n}","import React from 'react';\r\n// import styles from './GBCheckBoxSlider.module.scss';\r\nimport { CustomAttribute } from 'entitites/CustomAttribute';\r\nimport GBIcon, { IconName } from '../Icon/GBIcon';\r\nimport Generator from 'utils/Generator';\r\n\r\nexport interface GBCheckBoxSliderProps {\r\n id?: string;\r\n label?: string;\r\n isChecked?: boolean;\r\n isDisabled?: boolean;\r\n onChange?: Function;\r\n}\r\n\r\nexport interface GBCheckBoxSliderstate {\r\n}\r\n\r\nexport default class GBCheckBoxSlider extends React.Component {\r\n elementId = new Generator().GetHash();\r\n testString: string = \"\";\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n }\r\n\r\n\r\n render() {\r\n let attr: CustomAttribute[] = [];\r\n if (this.props.isDisabled) { attr[\"disabled\"] = true }\r\n if (this.props.onChange !== undefined) {\r\n attr[\"onChange\"] = this.props.onChange\r\n } else {\r\n attr[\"onChange\"] = () => { }\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","import { validate } from 'class-validator';\r\nimport GBDatePicker from 'components/basic/DatePicker/GBDatePicker';\r\nimport GBDropdown, { GBDropdownElements } from 'components/basic/Dropdown/GBDropdown';\r\nimport GBGhostButton, { Mode } from 'components/basic/GhostButton/GBGhostButton';\r\nimport { IconName } from 'components/basic/Icon/GBIcon';\r\nimport GBInput from 'components/basic/Input/GBInput';\r\nimport GBLabelPair from 'components/basic/LabelPair/GBLabelPair';\r\nimport Seperator from 'components/basic/Seperator/Seperator';\r\nimport { SignupContext } from 'Contexts/SignupContext';\r\nimport { PageIndex } from 'entitites/PageIndex';\r\nimport { SignupFormData } from 'entitites/SignupFormData';\r\nimport React, { Fragment } from 'react';\r\nimport AjaxHelper from 'utils/AjaxHelper';\r\nimport { DropDownLists } from 'utils/DropDownLists';\r\nimport { Translate } from 'utils/Language';\r\nimport { ValidationHelpers } from 'utils/Validation/ValidationHelpers';\r\nimport { Link } from 'react-router-dom';\r\nimport GBCheckBoxSlider from 'components/basic/Checkbox/GBCheckBoxSlider';\r\n\r\nexport interface UserdataProps {\r\n Id?: string;\r\n history?: any;\r\n}\r\n\r\nexport interface Userdatastate {\r\n PlayerData: SignupFormData,\r\n Nationalities: GBDropdownElements[];\r\n Genders: GBDropdownElements[];\r\n Countries: GBDropdownElements[];\r\n Error: { PropName: string, message: string }[];\r\n isLoading: boolean;\r\n showHCPField: boolean;\r\n HasZipCodes: boolean;\r\n}\r\nexport default class Userdata extends React.Component {\r\n // static contextType = SignupContext;\r\n nationalitiList = [];\r\n constructor(props, context) {\r\n super(props, context);\r\n let currentDate = new Date();\r\n currentDate.setFullYear(new Date().getFullYear() - 50)\r\n let playerData = new SignupFormData({\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Email: \"\",\r\n MobileNumber: \"\",\r\n Nationality: \"\",\r\n Gender: \"\",\r\n Birthdate: undefined,\r\n RoadName: \"\",\r\n RoadNumber: \"\",\r\n HouseLetter: \"\",\r\n Floor: \"\",\r\n FloorSite: \"\",\r\n ZipCode: \"\",\r\n City: \"\",\r\n Country: \"\",\r\n PreviousHCP: \"\"\r\n })\r\n if (this.context.state.signupFormData !== undefined) {\r\n playerData = this.context.state.signupFormData\r\n }\r\n this.state = {\r\n isLoading: true,\r\n PlayerData: playerData,\r\n Nationalities: [],\r\n Genders: DropDownLists.getGenderList(),\r\n Countries: [],\r\n Error: [],\r\n showHCPField: true,\r\n HasZipCodes: true\r\n }\r\n \r\n if (this.context.state.memberShipPack == undefined) {\r\n console.log(\"go to home\")\r\n this.props.history.push(PageIndex.Home);\r\n } else {\r\n let _this = this;\r\n this.getNationalities().then(e => {\r\n let hasZips = true;\r\n if (this.context.state.signupFormData !== undefined) {\r\n hasZips = _this.nationalitiList.find(a => a.iso == this.context.state.signupFormData.Country ).hasZipCodes\r\n }\r\n this.setState({\r\n Nationalities: e.map(a => ({ ...a })),\r\n Countries: e.map(a => ({ ...a })),\r\n isLoading: false,\r\n HasZipCodes: hasZips\r\n });\r\n })\r\n }\r\n this.findCity = this.findCity.bind(this);\r\n\r\n }\r\n\r\n render() {\r\n if (this.state.isLoading) {\r\n return (
Loading
)\r\n }\r\n return (\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"FirstName\", this) })}\r\n onChange={(e) => { let temp = this.state.PlayerData; temp.FirstName = e.target.value; this.setState({ PlayerData: temp }) }}\r\n className={\"flex-grow\"} containerClassName={\"flex-grow\"} >\r\n \r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"LastName\", this) })}\r\n onChange={(e) => { let temp = this.state.PlayerData; temp.LastName = e.target.value; this.setState({ PlayerData: temp }) }}\r\n className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n
\r\n\r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"Email\", this) })}\r\n value={this.state.PlayerData.Email} onChange={(e) => { let temp = this.state.PlayerData; temp.Email = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"MobileNumber\", this) })}\r\n value={this.state.PlayerData.MobileNumber} onChange={(e) => { let temp = this.state.PlayerData; temp.MobileNumber = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n
\r\n \r\n { let temp = this.state.PlayerData; temp.Nationality = e; this.setState({ PlayerData: temp }); validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"Nationality\", this) }) })}\r\n allowSearch={true}\r\n Elements={this.updateDropDownSelection(this.state.Nationalities, this.state.PlayerData.Nationality)}>\r\n \r\n
\r\n \r\n { let temp = this.state.PlayerData; temp.Gender = e; this.setState({ PlayerData: temp }); validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"Gender\", this) }) })}\r\n Elements={this.updateDropDownSelection(this.state.Genders, this.state.PlayerData.Gender)}>\r\n \r\n \r\n { let temp = this.state.PlayerData; temp.Birthdate = e; this.setState({ PlayerData: temp }); validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"Birthdate\", this) }) })}\r\n DefaultDate={this.state.PlayerData.Birthdate}\r\n ShowYearDropDown={true} >\r\n \r\n
\r\n\r\n \r\n\r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"RoadName\", this) })}\r\n value={this.state.PlayerData.RoadName} onChange={(e) => { let temp = this.state.PlayerData; temp.RoadName = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n
\r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"RoadNumber\", this) })}\r\n value={this.state.PlayerData.RoadNumber} onChange={(e) => { let temp = this.state.PlayerData; temp.RoadNumber = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"HouseLetter\", this) })}\r\n value={this.state.PlayerData.HouseLetter} onChange={(e) => { let temp = this.state.PlayerData; temp.HouseLetter = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"Floor\", this) })}\r\n value={this.state.PlayerData.Floor} onChange={(e) => { let temp = this.state.PlayerData; temp.Floor = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n \r\n validate(this.state.PlayerData).then((e) => { ValidationHelpers.addError(e, \"FloorSite\", this) })}\r\n onChange={(e) => { let temp = this.state.PlayerData; temp.FloorSite = e.target.value; this.setState({ PlayerData: temp }) }}\r\n className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n
\r\n \r\n {\r\n let temp = this.state.PlayerData;\r\n temp.Country = e;\r\n let hasZips = this.nationalitiList.find(a => a.iso == e ).hasZipCodes\r\n this.setState({ PlayerData: temp, HasZipCodes: hasZips });\r\n validate(this.state.PlayerData).then((e) => {\r\n ValidationHelpers.addError(e, \"Country\", this)\r\n if (this.state.PlayerData.ZipCode !== \"\") {\r\n document.querySelector('#gms-zipInput').dispatchEvent(new Event('blur'))\r\n }\r\n })\r\n })\r\n }\r\n allowSearch={true}\r\n Elements={this.updateDropDownSelection(this.state.Countries, this.state.PlayerData.Country)}>\r\n \r\n
\r\n \r\n {\r\n validate(this.state.PlayerData).then((e) => {\r\n ValidationHelpers.addError(e, \"ZipCode\", this); if (e.find(e1 => e1.property == \"ZipCode\") == undefined) { this.findCity(\"keyup\") } else {\r\n let temp = this.state.PlayerData; temp.City = \"\"; this.setState({ PlayerData: temp });\r\n }\r\n });\r\n }}\r\n onblur={() => {\r\n validate(this.state.PlayerData).then((e) => {\r\n ValidationHelpers.addError(e, \"ZipCode\", this); if (e.find(e1 => e1.property == \"ZipCode\") == undefined) { this.findCity(\"blur\") } else {\r\n let temp = this.state.PlayerData; temp.City = \"\"; this.setState({ PlayerData: temp });\r\n }\r\n });\r\n }}\r\n value={this.state.PlayerData.ZipCode} onChange={(e) => { let temp = this.state.PlayerData; temp.ZipCode = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n \r\n { let temp = this.state.PlayerData; temp.City = e.target.value; this.setState({ PlayerData: temp }) }} className={\"flex-grow\"} containerClassName={\"flex-grow\"}>\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n { this.setState({ showHCPField: !this.state.showHCPField }) }} >\r\n
\r\n
\r\n {this.state.showHCPField &&\r\n\r\n \r\n { let temp = this.state.PlayerData; temp.PreviousHCP = e.target.value; this.setState({ PlayerData: temp }) }} value={this.state.PlayerData.PreviousHCP}>\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 { this.onSubmit() }}>\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n updateDropDownSelection(elements: GBDropdownElements[], selectedValue): GBDropdownElements[] {\r\n elements.forEach(element => {\r\n element.selected = false;\r\n });\r\n if (selectedValue !== \"\") {\r\n elements.find((e) => { if (e.Value === selectedValue) { e.selected = true } })\r\n }\r\n return elements;\r\n }\r\n getNationalities(): Promise {\r\n return new Promise((resolve, reject) => {\r\n new AjaxHelper().simpleGet(\"/Public/Country?handler=Nationalities\", (e) => {\r\n let tempNationalites: GBDropdownElements[] = [];\r\n if (e.data.success) {\r\n this.nationalitiList = e.data.data;\r\n e.data.data.forEach((row) => {\r\n tempNationalites.push(new GBDropdownElements(row.name, false, row.iso, false))\r\n })\r\n\r\n resolve(tempNationalites);\r\n }\r\n })\r\n })\r\n\r\n\r\n }\r\n\r\n\r\n findCity(event) {\r\n\r\n var _this = this;\r\n if(this.state.HasZipCodes){\r\n\r\n new AjaxHelper().simplePost(\"/Public/Country?handler=FindCity\", { zipCode: this.state.PlayerData.ZipCode, countryIsoCode: this.state.PlayerData.Country }, (e) => {\r\n if (!e.data.success) {\r\n let tempPlayerData = _this.state.PlayerData;\r\n tempPlayerData.City = null;\r\n _this.setState({ PlayerData: tempPlayerData });\r\n ValidationHelpers.addCustomError(e.data.message, \"ZipCode\", this)\r\n } else {\r\n \r\n let temp = _this.state.PlayerData;\r\n temp.City = e.data.data.name;\r\n if (event == \"blur\") {\r\n temp.ZipCode = e.data.data.zipCode\r\n }\r\n _this.setState({ PlayerData: temp });\r\n }\r\n })\r\n }\r\n }\r\n\r\n onSubmit() {\r\n validate(this.state.PlayerData).then((e) => {\r\n e.forEach(a => { ValidationHelpers.addError(e, a.property, this) });\r\n\r\n if (this.state.Error.length == 0) {\r\n // console.log(\"sendt\")\r\n\r\n this.context.setSignupFormData(new SignupFormData({\r\n FirstName: this.state.PlayerData.FirstName,\r\n LastName: this.state.PlayerData.LastName,\r\n Email: this.state.PlayerData.Email,\r\n Birthdate: this.setUTCTime(this.state.PlayerData.Birthdate),\r\n MobileNumber: this.state.PlayerData.MobileNumber,\r\n Gender: this.state.PlayerData.Gender,\r\n Nationality: this.state.PlayerData.Nationality,\r\n Country: this.state.PlayerData.Country,\r\n Floor: this.state.PlayerData.Floor,\r\n FloorSite: this.state.PlayerData.FloorSite,\r\n HouseLetter: this.state.PlayerData.HouseLetter,\r\n RoadName: this.state.PlayerData.RoadName,\r\n RoadNumber: this.state.PlayerData.RoadNumber,\r\n ZipCode: this.state.PlayerData.ZipCode,\r\n City: this.state.PlayerData.City,\r\n PreviousHCP: this.state.PlayerData.PreviousHCP\r\n }))\r\n this.props.history.push(PageIndex.Overview)\r\n setTimeout(() => {\r\n\r\n }, 50)\r\n }\r\n })\r\n\r\n // let data = new Date();\r\n // data.setFullYear(2022)\r\n // this.context.setSignupFormData(new SignupFormData({\r\n // FirstName: \"Steffen\",\r\n // LastName: \"Andesersen\",\r\n // Email: \"sa@golfbox.dk\",\r\n // MobileNumber: \"12345678\",\r\n // Nationality: \"DK\",\r\n // Gender: \"M\",\r\n // Birthdate: data,\r\n // RoadName: \"silkeborgvej\",\r\n // RoadNumber: \"13\",\r\n // HouseLetter: \"B\",\r\n // Floor: \"3\",\r\n // FloorSite: \"th\",\r\n // ZipCode: \"8600\",\r\n // City: \"Silkeborg\",\r\n // Country: \"DK\",\r\n // PreviousHCP: \"QZÅ!!\"\r\n // }))\r\n // this.props.history.push(PageIndex.Overview)\r\n\r\n }\r\n setUTCTime(input: Date) {\r\n return new Date(Date.UTC(input.getFullYear(), input.getMonth(), input.getDate(), input.getHours(), input.getMinutes(), input.getSeconds(), input.getMilliseconds()))\r\n }\r\n}\r\n\r\nUserdata.contextType = SignupContext;","import React from 'react';\r\nimport GBIcon, { IconName } from '../Icon/GBIcon';\r\nimport { Translate } from 'utils/Language';\r\n\r\nexport enum GBResponseType {\r\n error = 0,\r\n ok = 1,\r\n warning = 2,\r\n attention = 4,\r\n info = 8\r\n}\r\nexport class GBResponseMessage {\r\n type: GBResponseType;\r\n message: string;\r\n\r\n constructor(type: GBResponseType, message: string) {\r\n this.message = message;\r\n this.type = type;\r\n }\r\n}\r\n\r\nexport interface GBResponseProps {\r\n Id?: string;\r\n responses: GBResponseMessage[];\r\n Onclose?: Function;\r\n isFloating?: boolean;\r\n}\r\n\r\nexport class ResponseTypeSettings {\r\n icon: IconName;\r\n className: string;\r\n title: string;\r\n\r\n constructor(ResponseTypeSettings: ResponseTypeSettings) {\r\n Object.assign(this, ResponseTypeSettings)\r\n }\r\n}\r\nexport default class GBResponse extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n render() {\r\n let onClose: Function = ()=>{console.error(\"GBResponse Onclose property not set!\")};\r\n if(this.props.Onclose){\r\n onClose = this.props.Onclose;\r\n }\r\n if (this.props.isFloating) {\r\n return (\r\n
\r\n
\r\n {this.props.responses.map((response, index) =>\r\n
\r\n
\r\n \r\n
\r\n
{this.getType(response.type).title}
\r\n {response.message}\r\n
\r\n
\r\n {console.log(index); onClose(index,response)}}>\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n {this.props.responses.map((response, index) =>\r\n
\r\n {console.log(index); onClose(index,response)}}>\r\n {response.message}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n }\r\n\r\n getType(type: GBResponseType): ResponseTypeSettings {\r\n let returnType: ResponseTypeSettings = new ResponseTypeSettings({ icon: IconName.statusCancel, className: \"error-box\", title: \"\" });\r\n\r\n switch (type) {\r\n case GBResponseType.error:\r\n default:\r\n returnType.icon = IconName.statusCancel\r\n returnType.className = \"error\"\r\n returnType.title = Translate(\"Error\",\"Error\");\r\n break;\r\n case GBResponseType.ok:\r\n returnType.icon = IconName.statusAccept\r\n returnType.className = \"success\"\r\n returnType.title = Translate(\"Success\",\"Success\");\r\n break;\r\n case GBResponseType.warning:\r\n returnType.icon = IconName.statusWarning\r\n returnType.className = \"warning\"\r\n returnType.title = Translate(\"Warning\",\"Warning\");\r\n break;\r\n case GBResponseType.attention:\r\n returnType.icon = IconName.statusAttention\r\n returnType.className = \"attention\"\r\n returnType.title = Translate(\"Attention\",\"Attention\");\r\n break;\r\n case GBResponseType.info:\r\n returnType.icon = IconName.statusInfo\r\n returnType.className = \"info\"\r\n returnType.title = Translate(\"Info\",\"Info\");\r\n break;\r\n }\r\n return returnType;\r\n }\r\n}","import { GBResponseMessage } from \"components/basic/ResponseHandler/GBResponse\";\r\nimport React from \"react\";\r\n\r\n\r\ninterface IMessageContextState {\r\n MessageList: GBResponseMessage[];\r\n}\r\ninterface IMessageContext {\r\n state: IMessageContextState,\r\n addMessage: Function,\r\n removeMessage: Function\r\n}\r\nclass MessageContextProvider extends React.Component<{}, IMessageContextState> implements IMessageContext {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n MessageList: []\r\n }\r\n this.addMessage = this.addMessage.bind(this);\r\n this.removeMessage = this.removeMessage.bind(this);\r\n }\r\n addMessage(message: GBResponseMessage) {\r\n let list = this.state.MessageList;\r\n list.push(message);\r\n this.setState({MessageList: list})\r\n }\r\n removeMessage(index) {\r\n let list = this.state.MessageList;\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n }\r\n \r\n this.setState({MessageList: list})\r\n }\r\n\r\n\r\n\r\n render() {\r\n const { children } = this.props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\n\r\nconst MessageContext = React.createContext({\r\n addMessage: undefined,\r\n removeMessage: undefined,\r\n state: {\r\n MessageList: []\r\n }\r\n});\r\n\r\nconst MessageContextConsumer = MessageContext.Consumer\r\nexport { MessageContext, MessageContextProvider, MessageContextConsumer };\r\n","import React from 'react';\r\nimport keyStylesLarge from './Animations/GBLargePanel.module.scss';\r\nimport keyStylesMedium from './Animations/GBMediumPanel.module.scss';\r\nimport keyStylesSmall from './Animations/GBSmallPanel.module.scss';\r\nimport GBIcon, { IconName } from 'components/basic/Icon/GBIcon';\r\nimport { Translate } from 'utils/Language';\r\nimport GBEaseIn from 'components/animations/EaseIn/GBEaseIn';\r\nimport GBFade from 'components/animations/Fade/GBFade';\r\n\r\n\r\nexport enum PanelSize {\r\n Small,\r\n Medium,\r\n Large\r\n}\r\nexport interface GBPanelProps {\r\n Id?: string;\r\n CornerClose?: boolean;\r\n EasyClose?: boolean;\r\n AlignLeft?: boolean;\r\n PanelSize?: PanelSize;\r\n Open: boolean;\r\n ToggleFunction: Function;\r\n HeaderElement?: JSX.Element;\r\n FooterElement?: JSX.Element;\r\n className?: string;\r\n}\r\n\r\nexport interface GBPanelState {\r\n status: string;\r\n}\r\n\r\nexport default class GBPanel extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\"\r\n };\r\n this.getKeyStyles = this.getKeyStyles.bind(this);\r\n this.getSize = this.getSize.bind(this);\r\n }\r\n\r\n render() {\r\n let show = this.props.Open;\r\n return (\r\n
\r\n\r\n
this.props.ToggleFunction(false)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.props.CornerClose &&\r\n
\r\n {this.props.HeaderElement !== undefined &&\r\n
\r\n {this.props.HeaderElement}\r\n
\r\n }\r\n
this.props.ToggleFunction(false)}>\r\n \r\n {Translate(\"close\", \"Close\")}\r\n
\r\n
\r\n }\r\n
\r\n {this.props.children}\r\n
\r\n\r\n {this.props.FooterElement !== undefined &&\r\n
\r\n {this.props.FooterElement}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n
\r\n );\r\n }\r\n // easyClose(){\r\n // console.log(\"easyclose\")\r\n // this.props.ToggleFunction(this,false)\r\n // }\r\n private getSize(): string {\r\n switch (this.props.PanelSize) {\r\n case PanelSize.Small:\r\n default:\r\n return \"small\";\r\n case PanelSize.Medium:\r\n return \"medium\";\r\n case PanelSize.Large:\r\n return \"large\";\r\n }\r\n }\r\n private getKeyStyles() {\r\n switch (this.props.PanelSize) {\r\n case PanelSize.Small:\r\n default:\r\n return { easeIn: \"small-ease-in\", easeOut: \"small-ease-out\" };\r\n case PanelSize.Medium:\r\n return { easeIn: \"medium-ease-in\", easeOut: \"medium-ease-out\" };\r\n case PanelSize.Large:\r\n return { easeIn: \"large-ease-in\", easeOut: \"large-ease-out\" };\r\n }\r\n }\r\n}\r\n\r\n","import GBGhostButton from 'components/basic/GhostButton/GBGhostButton';\r\nimport { PageIndex } from 'entitites/PageIndex';\r\nimport React, { Fragment } from 'react';\r\nimport { Translate } from 'utils/Language';\r\nimport { Link } from 'react-router-dom';\r\nimport Seperator from 'components/basic/Seperator/Seperator';\r\nimport AjaxHelper, { getGBDomain, getGBDomainAlternate } from 'utils/AjaxHelper';\r\nimport { CreateMemberAddressString } from 'utils/Generator';\r\nimport { MessageContextConsumer } from 'Contexts/MessageContext';\r\nimport { GBResponseMessage, GBResponseType } from 'components/basic/ResponseHandler/GBResponse';\r\n\r\n\r\n\r\nexport interface ReceiptProps {\r\n Id?: string;\r\n location?: any;\r\n history?: any;\r\n}\r\n\r\nexport interface Receiptstate {\r\n status: string;\r\n\r\n}\r\n\r\nexport default class Receipt extends React.Component {\r\n locationState = null;\r\n constructor(props, context) {\r\n super(props, context);\r\n let locationState =\r\n this.state = {\r\n status: \"\"\r\n };\r\n this.locationState = this.props.location.state;\r\n if (this.locationState === null || this.locationState === undefined) {\r\n this.props.history.push(PageIndex.Home);\r\n }\r\n // localStorage.removeItem(\"tranactionGuid\")\r\n this.toGolfBox = this.toGolfBox.bind(this);\r\n }\r\n\r\n render() {\r\n if (this.locationState === null || this.locationState === undefined) {\r\n return (
)\r\n }\r\n return (\r\n \r\n\r\n
\r\n {Translate(\"receipt\", \"Receipt\")}\r\n
\r\n {/* {Translate(\"receipt\", \"Receipt\")} */}\r\n {Translate(\"order_number\", \"Order number\") + \": \" + this.locationState.order.orderNumber}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {Translate(\"selling-part\", \"Selling part\")}\r\n {this.locationState.club.name}\r\n {this.locationState.club.address}\r\n {this.locationState.club.zipCode + \" \" + this.locationState.club.city}\r\n
\r\n {this.locationState.club.phone}\r\n {this.locationState.club.email}\r\n
\r\n
\r\n {Translate(\"customer_information\", \"Customer information\")}\r\n {this.locationState.member.fullName}\r\n {CreateMemberAddressString({\r\n roadName: this.locationState.member.address.roadName,\r\n roadNumber: this.locationState.member.address.roadNumber,\r\n houseLetter: this.locationState.member.address.houseLetter,\r\n houseFloor: this.locationState.member.address.houseFloor,\r\n houseSide: this.locationState.member.address.houseSide\r\n })}\r\n {this.getMemberZipString()}\r\n
\r\n {this.locationState.member.mobilePhone}\r\n {this.locationState.member.email}\r\n
\r\n
\r\n \r\n
\r\n {this.locationState.order.orderLines.map((e, index) => (\r\n \r\n { e.quantity > 0 &&\r\n
\r\n {e.text}\r\n {e.quantity + \" x \" + e.price.toLocaleString(undefined, { minimumFractionDigits: 2 }) + \" \" + this.locationState.order.currency + \".\"}\r\n
\r\n }\r\n
\r\n ))}\r\n
\r\n {Translate(\"total\", \"Total\")}\r\n {this.getSumOfOrderlines() + \" \" + this.locationState.order.currency + \".\"}\r\n
\r\n
\r\n
\r\n {Translate(\"this_receipt_has_also_been_sent_to_your_email\", \"This receipt has also been sent to your email\")}\r\n
\r\n \r\n
\r\n
\r\n \r\n {MessageContext => (\r\n\r\n \r\n {\r\n this.toGolfBox(MessageContext)\r\n }} className={\"w-100\"} highlight={true} text={Translate(\"to_GolfBox\", \"To GolfBox\")}>\r\n )}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n toGolfBox(messageContext) {\r\n new AjaxHelper().simpleGet(\"/API/SSO?handler=SSOToken\", (e) => {\r\n console.log(e)\r\n if (e.data.success) {\r\n new AjaxHelper().redirectToExternal(apiUrl + \"/external/internationallogin/receivesso.asp?token=\" + e.data.data);\r\n } else {\r\n messageContext.addMessage(new GBResponseMessage(GBResponseType.error, e.data.message))\r\n }\r\n }, (error) => { console.log(error) }, true)\r\n let apiUrl = getGBDomain();\r\n }\r\n getSumOfOrderlines() {\r\n let sum: number = 0;\r\n let root = this.locationState.order.orderLines;\r\n root.forEach(line => {\r\n let lineprice: number = 0;\r\n lineprice += line.price;\r\n sum += lineprice;\r\n });\r\n return sum.toLocaleString(undefined, { minimumFractionDigits: 2 });\r\n }\r\n // getmemberAddressString() {\r\n // let string = \"\"\r\n // let root = this.locationState.member.address\r\n // if (root.roadName !== null) {\r\n // string += root.roadName\r\n // }\r\n // if (root.roadNumber !== null) {\r\n // string += \" \" + root.roadNumber\r\n // }\r\n // if (root.houseLetter !== null && root.houseLetter !== \"\") {\r\n // string += \"\" + root.houseLetter\r\n // }\r\n // if (root.houseFloor !== null && root.houseFloor !== \"\") {\r\n // string += \", \" + root.houseFloor\r\n // }\r\n // if (root.houseSide !== null && root.houseSide !== \"\") {\r\n // string += \".\" + root.houseSide + \".\"\r\n // }\r\n // return string;\r\n // }\r\n \r\n getMemberZipString() {\r\n let string = \"\"\r\n let root = this.locationState.member.address\r\n if (root.zipCode !== null) {\r\n string += root.zipCode + \" \"\r\n }\r\n if (root.city !== null) {\r\n string += root.city\r\n }\r\n return string;\r\n }\r\n}\r\n\r\n","import GBGhostButton from 'components/basic/GhostButton/GBGhostButton';\r\nimport { PageIndex } from 'entitites/PageIndex';\r\nimport React, { Fragment } from 'react';\r\nimport { Spinner } from 'react-bootstrap';\r\nimport { currentAuth } from 'routes/AllRoutes';\r\nimport AjaxHelper from 'utils/AjaxHelper';\r\nimport { Translate } from 'utils/Language';\r\nimport { Link } from 'react-router-dom';\r\n\r\n\r\n\r\nexport interface WaitingPageProps {\r\n Id?: string;\r\n history?: any;\r\n}\r\n\r\nexport interface WaitingPagestate {\r\n status: string;\r\n backbutton: boolean;\r\n}\r\n\r\nexport default class WaitingPage extends React.Component {\r\n transactionGuid = null;\r\n startTime: Date = null;\r\n timer = null;\r\n backTimer = null;\r\n endTimer = null;\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\",\r\n backbutton: false\r\n };\r\n this.startTime = new Date();\r\n console.log(this.startTime);\r\n // this.startTime.\r\n this.tryFinished();\r\n this.endTries()\r\n this.addBackTimer()\r\n this.transactionGuid = JSON.parse(localStorage.getItem(\"tranactionGuid\")).guid;\r\n }\r\n\r\n addBackTimer() {\r\n this.endTimer = setTimeout(()=>{\r\n clearTimeout(this.backTimer);\r\n this.setState({backbutton: true})\r\n },120000)\r\n }\r\n endTries() {\r\n this.endTimer = setTimeout(()=>{\r\n clearTimeout(this.timer);\r\n clearTimeout(this.backTimer);\r\n clearTimeout(this.endTimer);\r\n this.setState({status: Translate(\"waiting_timed_out\",\"Waiting timed out\")})\r\n },600000)\r\n }\r\n tryFinished() {\r\n this.timer = setTimeout(() => {\r\n new AjaxHelper().simplePost(\"/public/CheckPayment?handler=CheckStatus\", { PaymentId: this.transactionGuid }, (e) => {\r\n let val = e.data;\r\n if (this.timer !== null) {\r\n\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n if (val.success) {\r\n if (val.data !== \"\") {\r\n localStorage.setItem(\"Token\", JSON.stringify(val.data.token));\r\n currentAuth.authenticate(true);\r\n this.props.history.push({\r\n pathname: PageIndex.receipt,\r\n search: '',\r\n state: e.data.data\r\n })\r\n } else {\r\n this.tryFinished()\r\n }\r\n } else {\r\n this.setState({ status: val.message })\r\n }\r\n }\r\n }, ()=>{\r\n clearTimeout(this.timer);\r\n this.tryFinished()\r\n });\r\n\r\n }, 2000)\r\n }\r\n componentWillUnmount() {\r\n if (this.timer !== null) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.status === \"\" ?\r\n \r\n \r\n Loading...\r\n \r\n \r\n \r\n {this.state.backbutton && \r\n \r\n {\r\n clearTimeout(this.timer);\r\n clearTimeout(this.backTimer);\r\n clearTimeout(this.endTimer);\r\n }} text={Translate(\"back\", \"Back\")}>\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\nimport React, { useEffect, useState } from \"react\";\r\n\r\nconst GBEaseIn = ({styles, show, children }) => {\r\n const [shouldRender, setRender] = useState(show);\r\n\r\n useEffect(() => {\r\n if (show) setRender(true);\r\n }, [show]);\r\n\r\n const onAnimationEnd = () => {\r\n if (!show) {\r\n setRender(false);}\r\n };\r\n \r\n return (\r\n shouldRender && (\r\n
\r\n \r\n {children}\r\n
\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default GBEaseIn;","\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nconst GBFade = ({ show, children }) => {\r\n const [shouldRender, setRender] = useState(show);\r\n\r\n useEffect(() => {\r\n if (show) setRender(true);\r\n }, [show]);\r\n\r\n const onAnimationEnd = () => {\r\n if (!show) { setRender(false);}\r\n };\r\n return (\r\n shouldRender && (\r\n \r\n {children}\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default GBFade;","import GBPanel from 'components/advanced/Panel/GBPanel';\r\nimport React, { Fragment } from 'react';\r\nimport { Spinner } from 'react-bootstrap';\r\n\r\n\r\n\r\nexport interface TermsAndConditionPanelProps {\r\n Id?: string;\r\n open: boolean;\r\n toggleFunction: Function;\r\n content: string;\r\n }\r\n\r\nexport interface TermsAndConditionPanelstate {\r\n status: string;\r\n}\r\n\r\nexport default class TermsAndConditionPanel extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status:\"\",\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\r\n}\r\n\r\n","import GBGhostButton, { Mode } from 'components/basic/GhostButton/GBGhostButton';\r\nimport { IconName } from 'components/basic/Icon/GBIcon';\r\nimport GBLabelPair from 'components/basic/LabelPair/GBLabelPair';\r\nimport Seperator from 'components/basic/Seperator/Seperator';\r\nimport { SignupContext, SignupContextConsumer } from 'Contexts/SignupContext';\r\nimport { PageIndex } from 'entitites/PageIndex';\r\nimport React, { Fragment, useContext } from 'react';\r\nimport { Translate } from 'utils/Language';\r\nimport { Link } from 'react-router-dom';\r\nimport { longDateString } from 'utils/DateHelper';\r\nimport { MemberShipPackDisplay } from 'localComponents/MemberShipPacks';\r\nimport AjaxHelper, { GetGBDomain } from 'utils/AjaxHelper';\r\nimport { CreateMemberAddressString, PopupCenter } from 'utils/Generator';\r\nimport GBCheckBoxSlider from 'components/basic/Checkbox/GBCheckBoxSlider';\r\nimport TermsAndConditionPanel from 'localComponents/TermsAndConditionPanel';\r\nimport { MessageContext, MessageContextConsumer } from 'Contexts/MessageContext';\r\nimport { GBResponseMessage, GBResponseType } from 'components/basic/ResponseHandler/GBResponse';\r\n\r\n\r\n\r\n\r\nexport interface OverviewPageProps {\r\n Id?: string;\r\n history?: any;\r\n}\r\n\r\nexport interface OverviewPagestate {\r\n status: string;\r\n confirmedConditions: boolean;\r\n showConditions: boolean;\r\n}\r\n\r\n// const messageContext = useContext(MessageContext);\r\nexport default class OverviewPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\",\r\n confirmedConditions: false,\r\n showConditions: false\r\n };\r\n\r\n if (this.context.state.memberShipPack == undefined || this.context.state.signupFormData == undefined) {\r\n this.props.history.push(PageIndex.Home);\r\n }\r\n }\r\n\r\n render() {\r\n if (this.context.state.memberShipPack == undefined || this.context.state.signupFormData == undefined) {\r\n return ();\r\n }\r\n return (\r\n \r\n \r\n {signupContext => (\r\n
\r\n
\r\n
\r\n {MemberShipPackDisplay(signupContext.state.memberShipPack, 1, false, 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
\r\n
\r\n
\r\n
\r\n
\r\n { this.setState({ confirmedConditions: !this.state.confirmedConditions }) }}>\r\n
{Translate(\"confirm\", \"Confirm\")}
{ this.setState({ showConditions: true }) }}>{Translate(\"terms_and_conditions\", \"terms and conditions\")}
{Translate(\"from_the_club_before_you_continue\", \"from the club before you continue\")}
\r\n
\r\n {this.state.showConditions &&\r\n this.setState({ showConditions: false })} content={signupContext.state.memberShipPack.internetPaymentTerms} open={true} >\r\n }\r\n \r\n
\r\n \r\n { }}>\r\n \r\n
\r\n \r\n {MessageContext => (\r\n\r\n { this.onSubmit(MessageContext) }}>\r\n )}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n // getmemberAddressString(roadName, roadNumber, houseFloor, houseLetter, houseSide) {\r\n // let string = \"\"\r\n // if (roadName !== null) {\r\n // string += roadName\r\n // }\r\n // if (roadNumber !== null) {\r\n // string += \" \" + roadNumber\r\n // }\r\n // if (houseLetter !== null && houseLetter !== \"\") {\r\n // string += \"\" + houseLetter\r\n // }\r\n // if (houseFloor !== null && houseFloor !== \"\") {\r\n // string += \", \" + houseFloor\r\n // }\r\n // if (houseSide !== null && houseSide !== \"\") {\r\n // string += \".\" + houseSide + \".\"\r\n // }\r\n // return string;\r\n // }\r\n onSubmit(messageContext) {\r\n let window = PopupCenter({ url: undefined, title: \"Payment\", w: \"600\", h: \"600\" });\r\n new AjaxHelper().simplePost(\"/public/FormHandler\", { userdata: this.context.state.signupFormData, membershipPack: this.context.state.memberShipPack }, ((e) => {\r\n if (e.data.success) {\r\n\r\n if (e.data.data != null) {\r\n localStorage.setItem(\"tranactionGuid\", JSON.stringify({ guid: e.data.data }));\r\n window.location.href = GetGBDomain() + '/site/members/memberlicense/internetpayment/payment_init.asp?GUID=' + e.data.data;\r\n // let test = window.open();\r\n // test.\r\n // test.location.href = GetGBDomain()+'/site/members/memberlicense/internetpayment/payment_init.asp?GUID=' + e.data.data;\r\n // window.open(GetGBDomain()+'/site/members/memberlicense/internetpayment/payment_init.asp?GUID=' + e.data.data,\"_blank\", \"toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400\");\r\n // alert(Translate(\"redirect_to_new_payment_window\",\"Redirect to new payment window\"))\r\n this.props.history.push(PageIndex.waitingPage);\r\n\r\n }\r\n } else {\r\n window.close();\r\n this.props.history.push(PageIndex.Userdata);\r\n messageContext.addMessage(new GBResponseMessage(GBResponseType.error, e.data.message))\r\n }\r\n\r\n }))\r\n }\r\n\r\n}\r\n\r\nOverviewPage.contextType = SignupContext;","\r\nexport const longDateString = (currentDate: Date): string =>{\r\n var options = { weekday: 'long',month: 'long', day: '2-digit', year: 'numeric' };\r\n return new Intl.DateTimeFormat('en-US', options).format(currentDate)\r\n}\r\nexport const shortDateString = (currentDate: Date): string =>{\r\n var options = {day: '2-digit', month: 'short'};\r\n return new Intl.DateTimeFormat('en-US', options).format(currentDate)\r\n}\r\n\r\nexport const timeString = (currentDate: Date): string =>{\r\n var options = {hour: \"2-digit\", minute: \"2-digit\" };\r\n return new Intl.DateTimeFormat('en-US', options).format(currentDate)\r\n}","import React, { Fragment } from \"react\";\r\n\r\nimport { Route } from 'react-router-dom'\r\nimport { PageIndex } from \"entitites/PageIndex\";\r\nimport Index from \"pages/Index\";\r\nimport Userdata from \"pages/Userdata\";\r\nimport Receipt from \"pages/Receipt\";\r\nimport WaitingPage from \"pages/WaitingPage\";\r\nimport { SignupContextProvider } from \"Contexts/SignupContext\";\r\nimport OverviewPage from \"pages/OverviewPage\";\r\n\r\nexport const AllRoutes = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport const PrivateRoute = ({ component: Component, redirectPage, ...rest }) => (\r\n (\r\n currentAuth.isAuthenticated === true\r\n ? : \r\n // : \r\n )} />\r\n)\r\nexport const currentAuth = {\r\n isAuthenticated: false,\r\n authenticate(val) {\r\n currentAuth.isAuthenticated = val;\r\n },\r\n signout() {\r\n currentAuth.isAuthenticated = false;\r\n }\r\n};\r\n\r\n","import React, { Fragment } from 'react';\r\nimport { AllRoutes } from 'routes/AllRoutes';\r\nimport {Switch } from 'react-router-dom'\r\n\r\nexport interface ArticleProps {\r\n Id?: string;\r\n}\r\n\r\nexport interface Articlestate {\r\n status: string;\r\n\r\n}\r\n\r\nexport default class Article extends React.Component {\r\n testString: string = \"\";\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n status: \"\"\r\n };\r\n }\r\n render() {\r\n return (\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","import React from 'react';\r\n\r\nconst AppContext = React.createContext(undefined);\r\n\r\nconst AppProvider = AppContext.Provider\r\nconst AppConsumer = AppContext.Consumer\r\nexport { AppContext, AppProvider, AppConsumer };","import React, { Fragment } from 'react';\r\nimport Article from './components/Layout/Article';\r\nimport { HashRouter} from 'react-router-dom'\r\nimport { createBrowserHistory } from \"history\";\r\nimport Language from 'utils/Language';\r\nimport { AppProvider } from 'AppContext';\r\nimport { MessageContextConsumer, MessageContextProvider } from 'Contexts/MessageContext';\r\nimport GBResponse from 'components/basic/ResponseHandler/GBResponse';\r\n\r\nconst history = createBrowserHistory();\r\n\r\n\r\nexport interface AppProps {\r\n Id?: string;\r\n CssClass?: string;\r\n Style?: string;\r\n Text?: string;\r\n Icon?: string;\r\n buttonFunction: any;\r\n\r\n}\r\nexport interface Appstate {\r\n status: string;\r\n menuOpen: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\nexport default class App extends React.Component<{}, Appstate> {\r\n constructor(props, context) {\r\n super(props, context);\r\n if (localStorage.getItem(\"Language\") === null) {\r\n localStorage.setItem(\"Language\", JSON.stringify(navigator.language))\r\n }\r\n this.isLoading = this.isLoading.bind(this);\r\n this.initLoading()\r\n this.state = {\r\n status: \"\",\r\n menuOpen: false,\r\n isLoading: true\r\n };\r\n this.ToggleMainMenu = this.ToggleMainMenu.bind(this)\r\n }\r\n // bookingguideStart = '!function (a) { function e(e) { for (var r, t, n = e[0], o = e[1], u = e[2], l = 0, f = []; l < n.length; l++)t = n[l], Object.prototype.hasOwnProperty.call(i, t) && i[t] && f.push(i[t][0]), i[t] = 0; for (r in o) Object.prototype.hasOwnProperty.call(o, r) && (a[r] = o[r]); for (s && s(e); f.length;)f.shift()(); return c.push.apply(c, u || []), p() } function p() { for (var e, r = 0; r < c.length; r++) { for (var t = c[r], n = !0, o = 1; o < t.length; o++) { var u = t[o]; 0 !== i[u] && (n = !1) } n && (c.splice(r--, 1), e = l(l.s = t[0])) } return e } var t = {}, i = { 1: 0 }, c = []; function l(e) { if (t[e]) return t[e].exports; var r = t[e] = { i: e, l: !1, exports: {} }; return a[e].call(r.exports, r, r.exports, l), r.l = !0, r.exports } l.m = a, l.c = t, l.d = function (e, r, t) { l.o(e, r) || Object.defineProperty(e, r, { enumerable: !0, get: t }) }, l.r = function (e) { \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: \"Module\" }), Object.defineProperty(e, \"__esModule\", { value: !0 }) }, l.t = function (r, e) { if (1 & e && (r = l(r)), 8 & e) return r; if (4 & e && \"object\" == typeof r && r && r.__esModule) return r; var t = Object.create(null); if (l.r(t), Object.defineProperty(t, \"default\", { enumerable: !0, value: r }), 2 & e && \"string\" != typeof r) for (var n in r) l.d(t, n, function (e) { return r[e] }.bind(null, n)); return t }, l.n = function (e) { var r = e && e.__esModule ? function () { return e.default } : function () { return e }; return l.d(r, \"a\", r), r }, l.o = function (e, r) { return Object.prototype.hasOwnProperty.call(e, r) }, l.p = \"/\"; var r = this[\"webpackJsonpgolfbox.player\"] = this[\"webpackJsonpgolfbox.player\"] || [], n = r.push.bind(r); r.push = e, r = r.slice(); for (var o = 0; o < r.length; o++)e(r[o]); var s = n; p() }([])';\r\n async initLoading() {\r\n await Promise.all([Language.Instance.LoadLanguage(() => { })]\r\n \r\n ).then(()=>{this.isLoading(false)}).catch(() => { localStorage.setItem(\"Language\", JSON.stringify(\"en-GB\"));this.isLoading(false) });\r\n }\r\n\r\n isLoading(val) {\r\n this.setState({ isLoading: val })\r\n }\r\n render() {\r\n if (this.state.isLoading) {\r\n return (
isloading
)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {messageContext => (\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 ToggleMainMenu(val: boolean = undefined) {\r\n this.setState({ menuOpen: val !== undefined ? val : !this.state.menuOpen })\r\n }\r\n editUserFunction() {\r\n alert('hi');\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n","// 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://bit.ly/CRA-PWA\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.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: 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(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href\r\n );\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 const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\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://bit.ly/CRA-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: string, config?: 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://bit.ly/CRA-PWA.'\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: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\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();\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(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.scss';\r\n//import './styles/PublicStyles/GB-icons.scss';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\ndocument.getElementById('GMS-OnlineSignup').classList.add(\"theme-dark\");\r\nReactDOM.render(, document.getElementById('GMS-OnlineSignup'));\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://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}