{"version":3,"sources":["images/refresh.svg","images/glansgarant.png","images/customer.svg","images/calendar.svg","images/previous.svg","images/home.svg","images/user.svg","images/logout.svg","images/add.svg","images/housetype-blue.svg","images/info.svg","images/selected.svg","images/success.svg","images/notfilled.svg","images/checklist-filled.svg","images/checklist.svg","images/success_small.svg","images/users.svg","images/search.svg","images/add-white.svg","images/business.svg","pages/login/login.Constants.js","pages/login/login.Reducer.js","pages/lead/housingType/housingType.Constants.js","pages/lead/housingType/housingType.Reducer.js","pages/lead/housingType/product/product.Constants.js","pages/lead/housingType/product/product.Reducer.js","pages/lead/housingFace/housingFace.Constants.js","pages/lead/housingFace/housingFace.Reducer.js","pages/lead/leadCalculation/leadCalculation.Constants.js","pages/lead/leadCalculation/leadCalculation.Reducer.js","pages/lead/leadConfirm/leadConfirm.Constants.js","pages/lead/leadConfirm/leadConfirm.Reducer.js","pages/lead/leadCustomer/leadCustomer.Constants.js","pages/lead/leadCustomer/customer-add/customeradd.Constants.js","pages/lead/leadCustomer/leadCustomer.Reducer.js","pages/lead/leadHousingPlan/leadHousingPlan.Constants.js","pages/lead/leadHousingPlan/leadHousingPlan.Reducer.js","pages/lead/leadFinish/leadFinish.Constants.js","pages/lead/leadFinish/leadFinish.Reducer.js","pages/lead/leadOverview/leadOverview.Constants.js","pages/lead/leadOverview/leadOverview.Reducer.js","pages/lead/leadPhoto/photoPanel/photoPanel.Constants.js","pages/lead/leadPhoto/photoPanel/photoPanel.Reducer.js","components/layout/header/header.Constants.js","helpers/history.js","components/route/PrivateRoute.jsx","helpers/TelemetryService.js","components/layout/title/title.Component.jsx","components/layout/header/header.Component.jsx","components/layout/header/header.Action.js","helpers/responseHandler.js","helpers/api.js","helpers/authHeader.js","pages/lead/leadConfirm/leadConfirm.Action.js","pages/lead/leadOverview/leadOverview.Action.js","pages/home/home.Component.jsx","pages/login/login.Action.js","pages/login/login.Component.jsx","pages/lead/housingType/housingTypeRow/housingTypeRow.Component.jsx","pages/lead/housingType/housingType.Component.jsx","pages/lead/housingType/housingType.Action.js","pages/lead/housingType/product/product.Action.js","pages/lead/housingFace/housingFace.Action.js","pages/lead/housingFace/housingElementRow/implementation/implementation.Component.jsx","pages/lead/housingFace/housingElementRow/housingElementRow.Component.jsx","pages/lead/housingFace/housingFaceModal/housingFaceModal.Component.jsx","pages/lead/housingFace/housingFaceResume/housingFaceResume.Component.jsx","components/questionBox/questionBox.Component.jsx","pages/lead/housingFace/housingFace.Component.jsx","pages/lead/leadCalculation/leadCalculation.Action.js","pages/lead/leadCalculation/foundationPlan/foundationPlan.Component.jsx","pages/lead/leadCalculation/paymentPlan/paymentPlan.Component.jsx","pages/lead/leadCalculation/leadCalculation.Component.jsx","pages/lead/leadOverview/leadUser/leadUser.Component.jsx","pages/lead/leadOverview/leadHousingPlan/leadHousingPlan.Component.jsx","pages/lead/leadOverview/leadOverview.Component.jsx","pages/lead/leadCustomer/customer/customer.Component.jsx","pages/lead/leadCustomer/leadCustomer.Action.js","pages/lead/leadCustomer/leadCustomer.Component.jsx","pages/lead/leadFinish/leadFinish.Component.jsx","pages/lead/leadFinish/leadFinish.Action.js","pages/lead/leadHousingPlan/leadHousingPlan.Action.js","pages/lead/leadHousingPlan/leadHousingPlanCalculation.Action.js","pages/lead/leadHousingPlan/overview/overviewHousingPlan.Component.jsx","pages/lead/leadHousingPlan/overview/overviewHousingPlan.Action.js","pages/lead/leadHousingPlan/edit/editHousingPlan.Action.js","pages/lead/leadHousingPlan/edit/editHousingPlan.Component.jsx","pages/lead/leadHousingPlan/leadHousingPlan.Component.jsx","pages/lead/leadCustomer/customer-add/customerAdd.Component.jsx","pages/lead/leadCustomer/customer-add/create/create.Component.jsx","pages/lead/leadCustomer/customer-add/customerAdd.Action.js","pages/lead/leadPhoto/photoPanel/photoPanel.Component.jsx","pages/lead/leadPhoto/photoPanel/photoPanel.Action.js","pages/lead/leadConfirm/leadConfirm.Component.jsx","pages/lead/leadPhoto/leadPhoto.Component.jsx","components/error/ErrorBoundary.jsx","pages/version/version.Component.jsx","pages/idleTimer/idleTimerView.Component.jsx","app/App.jsx","index.js","Store.js","images/next.svg"],"names":["module","exports","__webpack_require__","p","loginConstants","LOGIN_SUCCESS","LOGIN_FAIL","RESET_MESSAGE","initialState","user","message","loggedIn","loginReducer","state","arguments","length","undefined","action","type","error","toString","Object","objectSpread","housingTypeConstants","HOUSINGTYPE_GETLIST_SUCCESS","HOUSINGTYPE_GETLIST_FAIL","HOUSINGTYPE_SELECTED","RESET_HOUSINGTYPES","data","loaded","selectedHousingTypeId","housingTypeReducer","housingTypeId","productConstants","PRODUCT_LIST_FAIL","PRODUCT_LIST_SUCCESS","PRODUCT_LIST_RESET","products","productReducer","housingFaceConstants","ELEMENTIMPLEMENTATION_CLEARLIST","HOUSINGTYPE_FILTERDATA","HOUSINGTYPEDATA_UPDATELIST","HOUSINGTYPE_CHANGED","IMPLEMENTATION_UPDATE_COUNT","HOUSINGFACE_UPDATEACCESSIBILITY","RESET","selectedElements","filteredHousingFaces","housingFaceReducer","implementation","count","housingElementImplementationId","HOUSINGFACE_RESET","copy","LeadCalculationConstants","REQUEST_FOUNDATION_CALCULATION_SUCCESS","REQUEST_FOUNDATION_CALCULATION_FAIL","REQUEST_PAYMENTPLAN_CALCULATION_SUCCESS","REQUEST_PAYMENYPLAN_CALCULATION_FAIL","RESET_LEADCALCULATIONS","SELECTED_CALCULATION","foundationCalculationData","foundationCalculationType","foundationCalculationInput","paymentPlanCalculationData","paymentPlanCalculationType","paymentPlanCalculationInput","foundationIsLoaded","paymentIsLoaded","selectedCalculation","leadCalculationReducer","result","calculationType","calculationResult","calculationInput","isValid","paymentFoundationIsValid","leadConfirmConstants","accessibilityConfirmed","repairs","leadConfirmReducer","toConsumableArray","push","repairs1","index","text","repairs2","splice","leadCustomerConstants","CUSTOMER_SEARCH_SUCCES","CUSTOMER_SEARCH_FAIL","CUSTOMER_SELECTED_SUCCES","RESET_LEADCUSTOMER","customerAddConstants","ADD_CUSTOMER_SUCCESS","ADD_CUSTOMER_FAIL","searchCustomers","selectedCustomer","LeadCustomerReducer","leadHousingPlanConstants","GETLIST_PRODUCT_SUCCES","GETLIST_PRODUCT_FAIL","STORE_HOUSINGPLANDATA","HOUSING_PLAN_ABBODURAGE","HOUSING_PLAN_STARTYEAR","RESET_LEADHOUSINGPLAN","RESET_LEADHOUSINGPLAN_PRODUCTS","housingPlanData","housingPlanDurage","housingPlanStart","Date","getFullYear","housingPlanReducer","OVERVIEWHOUSINGPLAN_REQUEST","leadFinishConstants","MAIL_SUCCESS","MAIL_FAIL","mailSend","mailBody","finishReducer","leadOverviewConstants","ADD_LEAD_SUCCESS","ADD_LEAD_FAIL","RESET_LEADOVERVIEW","UPDATE_LEADCOMMENT","leadId","selectedCalculationType","signed","email","comment","leadOverviewReducer","photoPanelConstants","ADD_PHOTO","UPDATE_PHOTO_DESCRIPTION","DELETE_PHOTO","RESET_PHOTOS","tempId","replace","c","crypto","getRandomValues","Uint8Array","photos","photoPanelReducer","concat","photo","photos1","find","name","description","photos2","indexOf","headerConstants","LOGOUT","HARD_RESET","SOFT_RESET","history","createBrowserHistory","PrivateRoute","_ref","Component","component","rest","objectWithoutProperties","react_default","a","createElement","Route","assign","render","props","localStorage","getItem","Redirect","to","pathname","from","location","appInsights","getAppInsights","ApplicationInsights","config","instrumentationKey","window","hostname","includes","maxBatchInterval","disableFetchTracking","loadAppInsights","trackTrace","severityLevel","customProperties","properties","TitleComponent","_Component","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","apply","inherits","createClass","key","value","onClick","goBack","className","hideBackButton","src","require","alt","title","HeaderComponent","_this","call","logout","bind","assertThisInitialized","dispatch","removeItem","reload","Grid_default","container","direction","alignItems","item","xs","home","fullname","connected","connect","login","responseHandler","response","then","JSON","parse","ok","status","alert","statusText","Promise","reject","url","parts","split","protocol","authHeader","token","Authorization","Content-Type","Access-Control-Allow-Origin","Access-Control-Allow-Methods","Access-Control-Allow-Headers","resetConfirmations","saveLead","generateContract","requestOptions","method","headers","body","stringify","fetch","api","code","customer","signatureDataUrl","success","catch","failure","HomeComponent","_this$props","justify","spacing","Paper_default","organizationId","react","connectedHomeComponent","selectedImplementation","password","setItem","now","packageJson","version","LoginComponent","handleChange","handleSubmit","clearMessage","addEventListener","e","preventDefault","_this$state","LoginAction","_e$target","target","setState","defineProperty","_this$state2","lg","md","onSubmit","onChange","autoComplete","nextfield","Button_default","variant","color","connectedLoginComponent","HousingTypeRowComponent","selected","housingType","style","height","width","maxHeight","CircularProgress_default","selectedHouseType","HousingTypeComponent","HousingTypeAction","_this2","selectedHousingType","housingTypes","map","housingTypeRow_Component_HousingTypeRowComponent","productsLoaded","LoadingOverlay_default","active","spinner","productsError","title_Component_TitleComponent","connectedHousingTypeComponent","updateImplementationCount","Implementation","minClassName","size","handleMin","handleAdd","HousingElementRowComponent","Add","elementImplementations","elementImplementation","HousingFaceAction","Min","implementations","housingElement","price","implementation_Component_Implementation","connectedHousingElementRowComponent","customStyles","content","top","left","right","bottom","padding","marginRight","transform","border","HousingFaceModal","modalIsOpen","openModal","closeModal","housingFace","list","housingElements","elementsWithImplementation","filter","TableBody_default","TableRow_default","TableCell_default","housingElementName","subIndex","lib_default","isOpen","onRequestClose","contentLabel","Table_default","TableHead_default","HousingFaceResumeComponent","hasFilledImplementations","element","findFilledImplementations","i","housingFaces","j","filledImplementations","k","QuestionBox","items","onCancel","aria-labelledby","centered","backgroundColor","HousingFaceComponent","handlePanel","panel","event","expanded","faceIndex","showResume","showBackModal","getSelectedFace","handleFaceClick","handleResumeClick","handleBack","handleBackQuestion","handleBackQuestionClose","elements","newElement","summarySelectedClass","Fragment","questionBox_Component","FilledElements","housingFaceModal_Component_connected","housingFaceResume_Component_connected","filled","ExpansionPanel_default","ExpansionPanelSummary_default","expandIcon","ExpandMore_default","Typography_default","ExpansionPanelDetails_default","elementIndex","handleNext","selectedImplementations","getFoundationCalculation","months","yearList","housingPlanYear","yearTotalPriceWithCorrection","yearTotalPrice","year","amount","years","totalMonths","SeverityLevel","Information","getPaymentPlanCalculation","amountFinance","borderRadius","FoundationPlanComponent","leadFoundationCalculation","open","changeMonths","newValue","LeadCalculationAction","monthPrice","lowestPrice","onceAmount","lowestBalanceYear","hasCalculationData","calculation","monthAmount","toFixed","balance","Warning","getBalanceClass","handleTooltipClose","tooltipError","ClickAwayListener_default","onClickAway","display","Tooltip_default","PopperProps","disablePortal","onClose","disableFocusListener","disableHoverListener","disableTouchListener","Help_default","placeholder","handleCalculation","calculationName","margin","leadCalculation","toLowStyle","outline","PaymentPlanComponent","paymentPlanCalculation","Math","round","paymentPlanMonths","toLow","changeOnceAmount","onChangeMonth","onChangeOnceAmount","str","isNaN","parseFloat","isNumeric","roundedValue","paymentPlanMonthPrice","paymentPlanTotalMonths","foundationMonthPrice","foundationTotalMonths","interestRate","totalPriceInclFinance","monthAmountFinance","monthsFinance","monthInterest","sumIncludingFinance","fontSize","LeadCalculationComponent","resetCalculations","foundationPlan_Component_connected","paymentPlan_Component_connected","connectedLeadCalculationComponent","LeadUserComponent","street","houseNumber","houseNumberAddition","zipCode","city","selectedHousingTypeName","phoneLine","leadCustomers","LeadHousingPlanComponent","housingPlan","selectedProductDescription","LeadOverviewComponent","sigPad","trimmedDataURL","savingContract","savingLead","busySavingLead","sendOrder","handleInternalComment","checkValidSelectedCalculation","busySavingContractLead","lead","selectedCalculationData","selectedCalculationInput","housingTypeData","leadOverview","photoData","userData","sigImage","getTrimmedCanvas","toDataURL","selectedHousingFaces","leadData","createdBy","userId","id","internalComment","photoTempId","requiredRepairs","subscriptionStartYear","selectedHousingTypeData","setSelectedCalculation","LeadAction","leadUser_Component_connected","leadHousingPlan_Component_connected","rows","build_default","penColor","canvasProps","ref","disabled","react_spinners","sizeUnit","loading","leadPhoto","leadConfirmation","CustomerComponent","LeadCustomerAction","handleSelectedCustomer","zippCode","LeadCustomerComponent","lastname","zipcode","handleLastName","handleZipCode","handleHouseNumber","loggedInUser","newCustomerBttn","searchedCustomers","customer_Component_connected","LeadFinishComponent","sentMail","handleEmail","handleBody","getEmailBody","json","_this3","LeadFinishAction","ts","onEditorChange","init","storeHousingPlanData","calculatePrices","housingData","minAmount","housingFaceData","housingFaceElements","faceElement","factor","housingElementSelectedProductFactor","max","housingElementSelectedProductMinAmount","newFactorPrice","housingElementTotalPrice","housingElementFactorPrice","correctionPrice","Number","OverviewHousingPlanComponent","durageYear","startYear","durageMessage","showDurageMessage","startYearMessage","showStartYearMessage","handleCorrection","handleProductChangeByYear","handleAbboDurage","handleAbboDurageApply","handleAbboStartYear","handleAbboStartYearApply","currentCorrection","yearPlanData","parseInt","HousingPlanOverviewAction","HousingPlanAction","productAbb","product","abbreviation","selectedProduct","selectedProductFactor","selectedProductMinAmount","housingElementSelectedProduct","housingElementProductDescription","HousingPlanCalculationAction","durage","totalPrice","TextField_default","InputLabelProps","shrink","paddingLeft","addCorrection","Select_default","input","OutlinedInput_default","labelWidth","val","MenuItem_default","colSpan","totalYears","selectedHousingData","loadGrid","selectedHousingFace","handleSelectCell","selectedCells","isSelected","housingElementId","cell","createCell","housingPlanElement","selectedHousingPlanYear","selectedHousingFaceData","housingFaceId","findHousingPlanElement","EditHousingPlanComponent","handleProductChange","handleSelectedYear","yearSelected","cellState","elementsOtherYear","selectedCell","housingFaceSelectedData","cells","projectAbb","EditHousingPlanAction","HousingPlanCalculations","yearHandler","columns","handleYearDropdown","TabContainer","children","handleHeadTabChange","headValue","loadData","prevProps","planDurage","currentHousingPlanData","startyear","productSortList","productSort","HER","INSP","OHB","getStaticProductSort","productYearCyclus","currentYearData","currentProduct","yearData","totalYearPrice","housingFaceTemplateId","housingFaceName","housingFaceTotalPrice","elementTotalPrice","l","factorElementPrice","housingElementTemplateId","LeadHousingPlanAction","jsxToLoad","AppBar_default","position","Tabs_default","indicatorColor","textColor","scrollButtons","Tab_default","label","row","overviewHousingPlan_Component_connected","editHousingPlan_Component_connected","handleNextButton","connectedLeadBestekComponent","CustomerAddComponent","Link","CreateCustomerComponent","companyName","companyContactName","personBegin","initials","personInsert","personName","phoneNumber","isLoading","validate","onQuestionBoxClose","onQuestionBoxSubmit","submit","s","formData","customerOption","match","params","companyContactPerson","toUpperCase","charAt","slice","capitalize","missingInformation","isBusiness","_this$state3","personBegins","CustomerAddAction","PhotoPanelPhotoComponent","onDrop","uploadFile","updateDescription","delete","handleErrorClose","uploadKey","showErrorMessage","file","category","resetPhotos","addPhoto","fileName","checkName","Resizer","imageFileResizer","blob","image","FormData","append","contentType","URL","createObjectURL","forEach","updatePhotoDescription","deletePhoto","revokeObjectURL","_this$props2","index_es","sm","compiled_default","withIcon","buttonText","imgExtension","maxFileSize","mapDispatchToProps","LeadConfirmComponent","checked","deleteRepair","updateRepair","photoPanel_Component","repair","handleUpdateRepair","handleDeleteRepair","handleAddRepair","handleConfirmAccessibility","LeadPhotoComponent","hasOverviewPhoto","hasDetailPhoto","ErrorBoundary","errorInfo","trackException","Error","whiteSpace","componentStack","React","VersionComponent","process","setTimeout","IdleTimerViewComponent","App","shouldCheckActive","expiredTime","dateNow","floor","listen","trackPageView","userName","username","setUserActive","idleTimerView_Component","console","log","versionInBrowser","version_Component","error_ErrorBoundary","Router","Switch","exact","path","PrivateRoute_PrivateRoute","connectedApp","baseUrl","document","getElementsByTagName","getAttribute","store","persistedState","appReducer","combineReducers","Login","HousingType","Product","LeadCalculation","LeadCustomer","HousingFace","HousingPlan","housingPlanFinish","FinishPlan","LeadOverviewReducer","LeadConfirmReducer","middleware","thunk","routerMiddleware","enhancer","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","applyMiddleware","createStore","configureStore","basename","subscribe","getState","rootElement","getElementById","ReactDOM","es"],"mappings":"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","file":"static/js/main.c4676bbe.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/refresh.ae01565d.svg\";","module.exports = __webpack_public_path__ + \"static/media/glansgarant.c8aff5a2.png\";","module.exports = __webpack_public_path__ + \"static/media/customer.31cfa996.svg\";","module.exports = __webpack_public_path__ + \"static/media/calendar.a6cbd951.svg\";","module.exports = __webpack_public_path__ + \"static/media/previous.1254fec7.svg\";","module.exports = __webpack_public_path__ + \"static/media/home.a781e53d.svg\";","module.exports = __webpack_public_path__ + \"static/media/user.3d07a9c4.svg\";","module.exports = __webpack_public_path__ + \"static/media/logout.e57b22fb.svg\";","module.exports = __webpack_public_path__ + \"static/media/add.9332f51d.svg\";","module.exports = __webpack_public_path__ + \"static/media/housetype-blue.24327e05.svg\";","module.exports = __webpack_public_path__ + \"static/media/info.3cdafa91.svg\";","module.exports = __webpack_public_path__ + \"static/media/selected.28ffa551.svg\";","module.exports = __webpack_public_path__ + \"static/media/success.ed1da4ac.svg\";","module.exports = __webpack_public_path__ + \"static/media/notfilled.a54c8269.svg\";","module.exports = __webpack_public_path__ + \"static/media/checklist-filled.f2c3935b.svg\";","module.exports = __webpack_public_path__ + \"static/media/checklist.06ad2f9e.svg\";","module.exports = __webpack_public_path__ + \"static/media/success_small.62b87ac2.svg\";","module.exports = __webpack_public_path__ + \"static/media/users.82bc5017.svg\";","module.exports = __webpack_public_path__ + \"static/media/search.584285ea.svg\";","module.exports = __webpack_public_path__ + \"static/media/add-white.d1cc05ec.svg\";","module.exports = __webpack_public_path__ + \"static/media/business.ab10b2be.svg\";","export const loginConstants = {\r\n LOGIN_SUCCESS: 'LOGIN_SUCCESS',\r\n LOGIN_FAIL: 'LOGIN_FAIL',\r\n\r\n RESET_MESSAGE: 'RESET_MESSAGE'\r\n};\r\n","import { loginConstants } from './login.Constants';\r\n\r\nconst initialState = {\r\n user: '',\r\n message: '',\r\n loggedIn: false\r\n}\r\n\r\nexport const loginReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case loginConstants.LOGIN_SUCCESS:\r\n return {\r\n loggedIn: true,\r\n message: '',\r\n user: action.user\r\n };\r\n case loginConstants.LOGIN_FAIL:\r\n return {\r\n loggedIn: false,\r\n message: 'Er ging iets mis tijdens het inloggen: ' + action.error.toString()\r\n };\r\n case loginConstants.RESET_MESSAGE: \r\n return { \r\n ...state,\r\n message: ''\r\n }\r\n default:\r\n return state; \r\n }\r\n}\r\n","export const housingTypeConstants = {\r\n HOUSINGTYPE_GETLIST_SUCCESS: 'HOUSINGTYPE_GETLIST_SUCCESS',\r\n HOUSINGTYPE_GETLIST_FAIL: 'HOUSINGTYPE_GETLIST_FAIL',\r\n\r\n HOUSINGTYPE_SELECTED: 'HOUSINGTYPE_SELECTED',\r\n\r\n RESET_HOUSINGTYPES: 'RESET_HOUSINGTYPES'\r\n};\r\n","import { housingTypeConstants } from './housingType.Constants';\r\n\r\nconst initialState = {\r\n data: [],\r\n loaded: false,\r\n error: false,\r\n selectedHousingTypeId: 0\r\n}\r\n\r\nexport const housingTypeReducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n switch (action.type) {\r\n case housingTypeConstants.HOUSINGTYPE_GETLIST_SUCCESS:\r\n return {\r\n data: action.data,\r\n loaded: true,\r\n error: false\r\n };\r\n case housingTypeConstants.HOUSINGTYPE_GETLIST_FAIL:\r\n return {\r\n data: [],\r\n loaded: true,\r\n error: true,\r\n selectedHousingTypeId: 0\r\n }\r\n case housingTypeConstants.HOUSINGTYPE_SELECTED:\r\n return { \r\n selectedHousingTypeId: action.housingTypeId,\r\n loaded: true,\r\n error: false,\r\n data: state.data\r\n }\r\n case housingTypeConstants.RESET_HOUSINGTYPES:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n","export const productConstants = {\r\n PRODUCT_LIST_FAIL: 'PRODUCT_LIST_FAIL',\r\n PRODUCT_LIST_SUCCESS: 'PRODUCT_LIST_SUCCESS',\r\n PRODUCT_LIST_RESET: 'PRODUCT_LIST_RESET'\r\n};\r\n ","import { productConstants } from './product.Constants';\r\n\r\nconst initialState = {\r\n products: [],\r\n loaded: false,\r\n error: false\r\n}\r\n\r\nexport const productReducer = (state, action) => {\r\n state = state || initialState;\r\n \r\n switch (action.type) {\r\n case productConstants.PRODUCT_LIST_SUCCESS: \r\n return {\r\n products: action.data,\r\n loaded: true,\r\n error: false\r\n };\r\n case productConstants.PRODUCT_LIST_FAIL: \r\n return {\r\n products: [],\r\n loaded: true,\r\n error: true\r\n };\r\n default:\r\n return state;\r\n }\r\n}","export const housingFaceConstants = {\r\n ELEMENTIMPLEMENTATION_CLEARLIST: 'ELEMENTIMPLEMENTATION_CLEARLIST',\r\n\r\n HOUSINGTYPE_FILTERDATA: 'HOUSINGTYPE_FILTERDATA',\r\n\r\n HOUSINGTYPEDATA_UPDATELIST: 'HOUSINGTYPEDATA_CHANGE',\r\n\r\n HOUSINGTYPE_CHANGED: 'HOUSINGTYPE_CHANGED',\r\n\r\n IMPLEMENTATION_UPDATE_COUNT: 'IMPLEMENTATION_UPDATE_COUNT',\r\n \r\n HOUSINGFACE_UPDATEACCESSIBILITY: 'HOUSINGFACE_UPDATEACCESSIBILITY',\r\n\r\n RESET :'RESET'\r\n}\r\n","import { housingFaceConstants } from './housingFace.Constants';\r\n\r\nconst initialState = {\r\n selectedElements: {},\r\n filteredHousingFaces: []\r\n}\r\n\r\nexport const housingFaceReducer = (state, action) => {\r\n state = state || initialState;\r\n switch (action.type) {\r\n case housingFaceConstants.IMPLEMENTATION_UPDATE_COUNT:\r\n var selectedElements = state.selectedElements;\r\n if (action.implementation.count === 0){\r\n delete selectedElements[action.implementation.housingElementImplementationId]\r\n } else {\r\n selectedElements[action.implementation.housingElementImplementationId] = action.implementation.count\r\n }\r\n return {\r\n ...state,\r\n selectedElements: {\r\n ...selectedElements\r\n }\r\n }\r\n case housingFaceConstants.HOUSINGFACE_RESET:\r\n return {\r\n ...initialState\r\n }\r\n case housingFaceConstants.HOUSINGTYPE_FILTERDATA:\r\n return {\r\n ...state,\r\n filteredHousingFaces: action.copy\r\n }\r\n default:\r\n return state; \r\n }\r\n}\r\n","export const LeadCalculationConstants = { \r\n REQUEST_FOUNDATION_CALCULATION_SUCCESS: 'REQUEST_FOUNDATION_CALCULATION_SUCCESS',\r\n REQUEST_FOUNDATION_CALCULATION_FAIL: 'REQUEST_FOUNDATION_CALCULATION_FAIL',\r\n\r\n REQUEST_PAYMENTPLAN_CALCULATION_SUCCESS: 'REQUEST_PAYMENTPLAN_CALCULATION_SUCCESS',\r\n REQUEST_PAYMENYPLAN_CALCULATION_FAIL: 'REQUEST_PAYMENYPLAN_CALCULATION_FAIL',\r\n\r\n RESET_LEADCALCULATIONS: 'RESET_LEADCALCULATIONS',\r\n\r\n SELECTED_CALCULATION: 'SELECTED_CALCULATION'\r\n}","import { LeadCalculationConstants} from './leadCalculation.Constants';\r\n\r\nconst initialState = { \r\n foundationCalculationData: '',\r\n foundationCalculationType: '',\r\n foundationCalculationInput: '',\r\n \r\n paymentPlanCalculationData: '',\r\n paymentPlanCalculationType: '',\r\n paymentPlanCalculationInput: '',\r\n\r\n foundationIsLoaded: false,\r\n paymentIsLoaded: false,\r\n selectedCalculation: ''\r\n}\r\n\r\nexport const leadCalculationReducer = (state, action) => { \r\n state = state || initialState;\r\n\r\n switch(action.type) { \r\n case LeadCalculationConstants.REQUEST_FOUNDATION_CALCULATION_SUCCESS: \r\n var result = action.data;\r\n return { \r\n ...state,\r\n foundationCalculationType: result.calculationType,\r\n foundationCalculationData: result.calculationResult,\r\n foundationCalculationInput: result.calculationInput,\r\n isValid: result.isValid,\r\n foundationIsLoaded: true\r\n }\r\n case LeadCalculationConstants.REQUEST_FOUNDATION_CALCULATION_FAIL: {\r\n return state;\r\n }\r\n case LeadCalculationConstants.REQUEST_PAYMENYPLAN_CALCULATION_FAIL: {\r\n return state;\r\n }\r\n case LeadCalculationConstants.REQUEST_PAYMENTPLAN_CALCULATION_SUCCESS: {\r\n return {\r\n ...state,\r\n paymentPlanCalculationData: action.data.calculationResult,\r\n paymentPlanCalculationType: action.data.calculationType, \r\n paymentPlanCalculationInput: action.data.calculationInput,\r\n paymentFoundationIsValid: action.data.isValid,\r\n paymentIsLoaded: true\r\n }\r\n }\r\n case LeadCalculationConstants.RESET_LEADCALCULATIONS: {\r\n state = initialState;\r\n return state;\r\n }\r\n case LeadCalculationConstants.SELECTED_CALCULATION: { \r\n return { \r\n ...state,\r\n selectedCalculation: action.data\r\n }\r\n }\r\n default: \r\n return state;\r\n }\r\n}\r\n","export const leadConfirmConstants = { \r\n ACCESSIBILITY_CONFIRMED: 'ACCESSIBILITY_CONFIRMED',\r\n ADD_REPAIR: 'ADD_REPAIR',\r\n DELETE_REPAIR: 'DELETE_REPAIR',\r\n UPDATE_REPAIR: 'UPDATE_REPAIR',\r\n RESET_CONFIRMATIONS: 'RESET_CONFIRMATIONS'\r\n}\r\n","import { leadConfirmConstants } from './leadConfirm.Constants';\r\n\r\nconst initialState = {\r\n accessibilityConfirmed: false,\r\n repairs: []\r\n}\r\n\r\nexport const leadConfirmReducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n switch (action.type) {\r\n case leadConfirmConstants.ACCESSIBILITY_CONFIRMED:\r\n return {\r\n ...state,\r\n accessibilityConfirmed: action.accessibilityConfirmed\r\n }\r\n\r\n case leadConfirmConstants.ADD_REPAIR:\r\n var repairs = [...state.repairs];\r\n repairs.push('');\r\n return {\r\n ...state,\r\n repairs: repairs\r\n };\r\n\r\n case leadConfirmConstants.UPDATE_REPAIR:\r\n const repairs1 = [...state.repairs];\r\n repairs1[action.index] = action.text;\r\n\r\n return {\r\n ...state,\r\n repairs: repairs1\r\n };\r\n\r\n case leadConfirmConstants.DELETE_REPAIR:\r\n const repairs2 = [...state.repairs];\r\n repairs2.splice(action.index, 1);\r\n\r\n return {\r\n ...state,\r\n repairs: repairs2\r\n };\r\n\r\n case leadConfirmConstants.RESET_CONFIRMATIONS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n","export const leadCustomerConstants = { \r\n CUSTOMER_SEARCH_SUCCES: 'CUSTOMER_SEARCH_SUCCES',\r\n CUSTOMER_SEARCH_FAIL: 'CUSTOMER_SEARCH_FAIL',\r\n\r\n CUSTOMER_SELECTED_SUCCES: 'CUSTOMER_SELECTED_SUCCES',\r\n RESET_LEADCUSTOMER: 'RESET_LEADCUSTOMER'\r\n}","export const customerAddConstants = {\r\n ADD_CUSTOMER_SUCCESS: 'ADD_CUSTOMER_SUCCESS',\r\n ADD_CUSTOMER_FAIL: 'ADD_CUSTOMER_FAIL'\r\n };\r\n ","import { leadCustomerConstants } from './leadCustomer.Constants';\r\nimport { customerAddConstants } from './customer-add/customeradd.Constants';\r\n\r\nconst initialState = {\r\n searchCustomers: [],\r\n selectedCustomer: {},\r\n}\r\n\r\nexport const LeadCustomerReducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n switch (action.type) {\r\n case leadCustomerConstants.CUSTOMER_SEARCH_SUCCES:\r\n return {\r\n searchCustomers: action.data.data\r\n }\r\n case leadCustomerConstants.CUSTOMER_SELECTED_SUCCES:\r\n return {\r\n ...state,\r\n selectedCustomer: action.data\r\n }\r\n case leadCustomerConstants.CUSTOMER_SEARCH_FAIL:\r\n return {};\r\n case leadCustomerConstants.RESET_LEADCUSTOMER:\r\n state = initialState;\r\n return state;\r\n case customerAddConstants.ADD_CUSTOMER_SUCCESS:\r\n return {\r\n ...state,\r\n selectedCustomer: action.data.data,\r\n searchCustomers: [action.data.data]\r\n }\r\n case customerAddConstants.ADD_CUSTOMER_FAIL:\r\n return {}\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n","export const leadHousingPlanConstants = {\r\n GETLIST_PRODUCT_SUCCES: 'GETLIST_PRODUCT_SUCCES',\r\n GETLIST_PRODUCT_FAIL: 'GETLIST_PRODUCT_FAIL',\r\n\r\n STORE_HOUSINGPLANDATA: 'STORE_HOUSINGPLANDATA',\r\n\r\n HOUSING_PLAN_ABBODURAGE: 'HOUSING_PLAN_ABBODURAGE',\r\n HOUSING_PLAN_STARTYEAR: 'HOUSING_PLAN_STARTYEAR',\r\n\r\n RESET_LEADHOUSINGPLAN: 'RESET_LEADHOUSINGPLAN',\r\n RESET_LEADHOUSINGPLAN_PRODUCTS: 'RESET_LEADHOUSINGPLAN_PRODUCTS'\r\n};\r\n","import { leadHousingPlanConstants } from './leadHousingPlan.Constants';\r\n\r\nconst initialState = { \r\n housingPlanData: [],\r\n housingPlanDurage: 15,\r\n housingPlanStart: new Date().getFullYear(),\r\n}\r\n\r\nexport const housingPlanReducer = (state, action) => { \r\n state = state || initialState;\r\n\r\n switch(action.type) {\r\n case leadHousingPlanConstants.OVERVIEWHOUSINGPLAN_REQUEST: \r\n return {\r\n housingPlanData: [],\r\n }\r\n case leadHousingPlanConstants.STORE_HOUSINGPLANDATA: \r\n return {\r\n ...state,\r\n housingPlanData: action.data,\r\n }\r\n case leadHousingPlanConstants.HOUSING_PLAN_ABBODURAGE: \r\n return { \r\n ...state,\r\n housingPlanDurage: action.data,\r\n }\r\n case leadHousingPlanConstants.HOUSING_PLAN_STARTYEAR: \r\n return { \r\n ...state, \r\n housingPlanStart: action.data,\r\n }\r\n case leadHousingPlanConstants.RESET_LEADHOUSINGPLAN: \r\n return {\r\n ...initialState\r\n };\r\n default: \r\n return state\r\n }\r\n}\r\n","export const leadFinishConstants = {\r\n MAIL_SUCCESS: 'MAIL_SUCCESS',\r\n MAIL_FAIL: 'MAIL_FAIL',\r\n};\r\n","import { leadFinishConstants } from './leadFinish.Constants';\r\n\r\nconst initialState = {\r\n mailSend: false,\r\n mailBody: ''\r\n}\r\n\r\nexport const finishReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case leadFinishConstants.MAIL_SUCCESS:\r\n return {\r\n mailSend: true\r\n };\r\n case leadFinishConstants.MAIL_FAIL:\r\n return {\r\n mailSend: false\r\n };\r\n default:\r\n return state; \r\n }\r\n}\r\n","export const leadOverviewConstants = {\r\n ADD_LEAD_SUCCESS: 'ADD_LEAD_SUCCESS',\r\n ADD_LEAD_FAIL: 'ADD_LEAD_FAIL',\r\n RESET_LEADOVERVIEW: 'RESET_LEADOVERVIEW',\r\n UPDATE_LEADCOMMENT: 'UPDATE_LEADCOMMENT',\r\n}\r\n","import { leadOverviewConstants } from './leadOverview.Constants';\r\n\r\nconst initialState = {\r\n leadId: 0,\r\n selectedCalculationType: 0,\r\n signed: false,\r\n email: null,\r\n comment: null\r\n}\r\n\r\nexport const leadOverviewReducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n switch (action.type) {\r\n case leadOverviewConstants.ADD_LEAD_SUCCESS:\r\n return {\r\n leadId: action.data.leadId,\r\n selectedCalculationType: action.data.selectedCalculationType,\r\n email: action.data.email,\r\n signed: action.data.signed\r\n };\r\n case leadOverviewConstants.ADD_LEAD_FAIL:\r\n return {\r\n };\r\n case leadOverviewConstants.UPDATE_LEADCOMMENT: {\r\n return {\r\n ...state,\r\n comment: action.data\r\n };\r\n }\r\n case leadOverviewConstants.RESET_LEADOVERVIEW: {\r\n state = initialState;\r\n return state;\r\n }\r\n default:\r\n return state; \r\n }\r\n}\r\n","export const photoPanelConstants = { \r\n ADD_PHOTO: 'ADD_PHOTO',\r\n UPDATE_PHOTO_DESCRIPTION: 'UPDATE_PHOTO_DESCRIPTION',\r\n DELETE_PHOTO: 'DELETE_PHOTO',\r\n RESET_PHOTOS: 'RESET_PHOTOS'\r\n}\r\n","import { photoPanelConstants } from './photoPanel.Constants';\r\n\r\nconst initialState = {\r\n // eslint-disable-next-line no-mixed-operators\r\n tempId: ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)),\r\n photos: []\r\n}\r\n\r\nexport const photoPanelReducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n switch (action.type) {\r\n case photoPanelConstants.ADD_PHOTO:\r\n return {\r\n ...state,\r\n photos: [...state.photos, action.photo]\r\n }\r\n\r\n case photoPanelConstants.UPDATE_PHOTO_DESCRIPTION:\r\n const photos1 = [...state.photos];\r\n const photo = photos1.find(photo => photo.name === action.photo.name);\r\n photo.description = action.photo.description;\r\n\r\n return {\r\n ...state,\r\n photos: photos1\r\n };\r\n\r\n case photoPanelConstants.DELETE_PHOTO:\r\n const photos2 = [...state.photos];\r\n const index = photos2.indexOf(action.photo);\r\n\r\n if (~index) photos2.splice(index, 1);\r\n\r\n return {\r\n ...state,\r\n photos: photos2\r\n };\r\n\r\n case photoPanelConstants.RESET_PHOTOS:\r\n return initialState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n","export const headerConstants = { \r\n LOGOUT: 'LOGOUT', // Will reset everything\r\n HARD_RESET: 'HARD_RESET', // Will reset everything except login state\r\n SOFT_RESET: 'SOFT_RESET' // Will reset everything except login and leadCustomers state\r\n}","import { createBrowserHistory } from 'history';\r\n\r\nexport const history = createBrowserHistory();\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\n\r\nexport const PrivateRoute = ({ component: Component, ...rest }) => (\r\n\r\n (\r\n localStorage.getItem('user')\r\n ? \r\n : \r\n )} />\r\n\r\n)\r\n","import { ApplicationInsights, SeverityLevel } from '@microsoft/applicationinsights-web';\r\n\r\nlet appInsights = null;\r\n\r\nconst getInstrumentationKey = () => {\r\n if (window.location.hostname.includes(\"localhost\") || window.location.hostname.includes(\"bit-ntb\"))\r\n return '0a025164-ea0a-418c-9a01-fac602d9866e'; // development\r\n else if (window.location.hostname.includes(\"test\"))\r\n return '0e30e5a7-3747-4a63-b5fb-cb709cc18b91'; // test\r\n else\r\n return '2e4f56c5-c006-494c-831a-0fb94704766a'; // production\r\n}\r\n\r\nconst getAppInsights = () => {\r\n if (appInsights == null) {\r\n appInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: getInstrumentationKey(),\r\n maxBatchInterval: 0,\r\n disableFetchTracking: false\r\n }\r\n });\r\n\r\n appInsights.loadAppInsights();\r\n }\r\n\r\n return appInsights;\r\n}\r\n\r\nexport const trackEvent = name => getAppInsights.trackEvent({ event: name });\r\n\r\nexport const trackPageView = (name, user) => {\r\n getAppInsights().trackPageView({ name: name, properties: { userName: user } });\r\n}\r\n\r\nexport const trackTrace = (message, severityLevel, customProperties) => getAppInsights().trackTrace({ message: message, severityLevel: severityLevel, properties: customProperties });\r\n\r\nexport const trackException = error => getAppInsights().trackException({ error: error, severityLevel: SeverityLevel.Error });\r\n\r\n//dependency: {\r\n// id: string;\r\n// name ?: string;\r\n// duration ?: number;\r\n// success ?: boolean;\r\n// responseCode: number;\r\n// correlationContext ?: string;\r\n// type ?: string;\r\n// data ?: string;\r\n// target ?: string;\r\n//}\r\nexport const trackDependency = dependency => getAppInsights().trackDependencyData(dependency);\r\n\r\nexport { SeverityLevel } from '@microsoft/applicationinsights-web';\r\n","import React, { Component } from 'react';\r\nimport { history } from 'helpers/history';\r\nimport './title.Style.css';\r\n\r\nexport class TitleComponent extends Component {\r\n render() {\r\n let onClick;\r\n if(!this.props.onClick){\r\n onClick = () => history.goBack();\r\n } else {\r\n onClick = this.props.onClick;\r\n }\r\n return (\r\n
\r\n {\r\n this.props.hideBackButton ?
:

\"back\" Terug

\r\n }\r\n
{this.props.title}
\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport './header.Style.css';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { history } from 'helpers/history';\r\nimport * as HeaderAction from './header.Action';\r\n\r\nclass HeaderComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.logout = this.logout.bind(this);\r\n }\r\n\r\n logout() {\r\n this.props.dispatch(HeaderAction.logout());\r\n }\r\n\r\n home() {\r\n history.push('/home');\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \"home\"\r\n \r\n \r\n \"logo\"\r\n \r\n \r\n
\"user\" {this.props.user.fullname}
\r\n
\r\n \r\n \"logout\"\r\n \r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n user: state.login.user,\r\n };\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(HeaderComponent);\r\nexport { connected as HeaderComponent };\r\n","import { history } from 'helpers/history';\r\nimport {headerConstants} from './header.Constants';\r\n\r\nexport function logout() {\r\n return dispatch => {\r\n dispatch(Logout());\r\n\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('reduxState');\r\n \r\n history.push('/');\r\n window.location.reload();\r\n \r\n function Logout() { return { type: headerConstants.LOGOUT } }\r\n }\r\n}","export function responseHandler(response) {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n alert(\"Uw token is verlopen, log opnieuw in\");\r\n return '';\r\n }\r\n alert('Er ging iets met het ophalen of opslaan van de data, refresh de pagina en probeer het nog een keer.');\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n return data;\r\n });\r\n}\r\n","const API_URL_DEV = \"https://localhost:44379/api/\";\r\nconst API_URL_DEV2 = \"http://bit-ntb006:60555/api/\";\r\n\r\nexport const url = () => {\r\n if (window.location.hostname.includes(\"localhost\")) {\r\n return API_URL_DEV;\r\n }\r\n else if (window.location.hostname.includes(\"bit-ntb006\")) {\r\n return API_URL_DEV2;\r\n } \r\n else {\r\n var parts = window.location.hostname.split(\".\"); \r\n return `${window.location.protocol}//${parts[0]}api.${parts[1]}.${parts[2]}/api/`;\r\n }\r\n}\r\n","export function authHeader() {\r\n let user = JSON.parse(localStorage.getItem('user'));\r\n\r\n if (user && user.token) {\r\n return {\r\n 'Authorization': 'Bearer ' + user.token,\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'DELETE, POST, GET, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With'\r\n }\r\n }\r\n else {\r\n return {\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'DELETE, POST, GET, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With'\r\n };\r\n }\r\n}\r\n","import { leadConfirmConstants } from './leadConfirm.Constants';\r\n\r\nexport const accessibilityConfirmed = accessibilityConfirmed => ({\r\n type: leadConfirmConstants.ACCESSIBILITY_CONFIRMED,\r\n accessibilityConfirmed: accessibilityConfirmed\r\n})\r\n\r\nexport const addRepair = () => ({\r\n type: leadConfirmConstants.ADD_REPAIR\r\n})\r\n\r\nexport const deleteRepair = index => ({\r\n type: leadConfirmConstants.DELETE_REPAIR,\r\n index: index\r\n})\r\n\r\nexport const updateRepair = (index, text) => ({\r\n type: leadConfirmConstants.UPDATE_REPAIR,\r\n index: index,\r\n text: text\r\n})\r\n\r\nexport const resetConfirmations = () => ({\r\n type: leadConfirmConstants.RESET_CONFIRMATIONS\r\n})\r\n","import { responseHandler } from 'helpers/responseHandler';\r\nimport * as api from 'helpers/api.js';\r\nimport { authHeader } from 'helpers/authHeader';\r\nimport { history } from 'helpers/history';\r\nimport { leadOverviewConstants } from './leadOverview.Constants';\r\nimport { housingTypeConstants } from '../housingType/housingType.Constants';\r\nimport { LeadCalculationConstants } from '../leadCalculation/leadCalculation.Constants';\r\nimport { leadCustomerConstants } from '../leadCustomer/leadCustomer.Constants';\r\nimport { leadHousingPlanConstants } from '../leadHousingPlan/leadHousingPlan.Constants';\r\nimport { photoPanelConstants } from '../leadPhoto/photoPanel/photoPanel.Constants';\r\nimport { resetConfirmations } from '../leadConfirm/leadConfirm.Action';\r\nimport { headerConstants } from '../../../components/layout/header/header.Constants';\r\n\r\nexport function saveLead(data, generateContract) {\r\n return dispatch => {\r\n var auth = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: auth,\r\n body: JSON.stringify(data)\r\n };\r\n\r\n fetch(`${api.url()}Lead/SaveLead`, requestOptions).then(responseHandler)\r\n .then(response => {\r\n // Code 100 = FoundationPlan, 200 = PaymentPlan\r\n response.selectedCalculationType = data.selectedCalculationType.code;\r\n response.email = data.customer.email;\r\n response.signed = generateContract && data.signatureDataUrl !== undefined;\r\n\r\n dispatch(success(response));\r\n dispatch(resetLead());\r\n\r\n history.push('/createLead/finish');\r\n\r\n }).catch(function (error) {\r\n dispatch(failure(error));\r\n });\r\n\r\n function success(data) { return { type: leadOverviewConstants.ADD_LEAD_SUCCESS, data } }\r\n function failure(error) { return { type: leadOverviewConstants.ADD_LEAD_FAIL, error } }\r\n }\r\n}\r\n\r\nexport function updateLeadComment(comment) {\r\n return dispatch => \r\n dispatch({\r\n type: leadOverviewConstants.UPDATE_LEADCOMMENT,\r\n data: comment\r\n });\r\n}\r\n\r\nexport function resetLead() {\r\n return dispatch => {\r\n // Clean up some of the global state.\r\n dispatch({ type: housingTypeConstants.RESET_HOUSINGTYPES });\r\n dispatch({ type: LeadCalculationConstants.RESET_LEADCALCULATIONS });\r\n dispatch({ type: leadCustomerConstants.RESET_LEADCUSTOMER });\r\n dispatch({ type: leadHousingPlanConstants.RESET_LEADHOUSINGPLAN });\r\n dispatch({ type: leadHousingPlanConstants.RESET_LEADHOUSINGPLAN_PRODUCTS });\r\n dispatch({ type: photoPanelConstants.RESET_PHOTOS });\r\n\r\n dispatch(resetConfirmations());\r\n }\r\n}\r\n\r\nexport function resetWholeState() {\r\n return dispatch => {\r\n dispatch({ type: headerConstants.HARD_RESET});\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { HeaderComponent } from 'components';\r\nimport { resetWholeState } from '../lead/leadOverview/leadOverview.Action';\r\n\r\nimport './home.Style.css';\r\n\r\nclass HomeComponent extends Component {\r\n render() {\r\n const { dispatch, user } = this.props;\r\n\r\n const startNewLead = () => {\r\n if (user.organizationId !== null) {\r\n dispatch(resetWholeState());\r\n history.push('/createLead/customer');\r\n }\r\n }\r\n\r\n const continueLead = () => {\r\n if (user.organizationId !== null) {\r\n history.push('/createLead/houseFace');\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Welkom terug, {user.fullname}

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n { user.organizationId !== null ?\r\n \r\n \"add\"\r\n

Nieuwe verkoopkans aanmaken

\r\n
:\r\n

Uw gebruikersaccount is niet gekoppeld aan een organisatie. U kunt met dit systeem geen verkoopkansen aanmaken. Neem contact op met GlansGarant.

\r\n }\r\n
\r\n
\r\n
\r\n {this.props.filteredHousingFaces && this.props.filteredHousingFaces.length > 0 &&\r\n \r\n \r\n
\r\n \"add\"\r\n

Verder met openstaande verkoopkans

\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\nfunction mapStateToProps(state) {\r\n let filteredHousingFaces;\r\n if(state.selectedImplementation && state.selectedImplementation.filteredHousingFaces){ \r\n filteredHousingFaces = state.selectedImplementation.filteredHousingFaces;\r\n }\r\n return {\r\n user: state.login.user,\r\n filteredHousingFaces: filteredHousingFaces\r\n };\r\n}\r\n\r\nconst connectedHomeComponent = connect(mapStateToProps)(HomeComponent);\r\nexport { connectedHomeComponent as HomeComponent };\r\n","import { authHeader } from 'helpers/authHeader';\r\nimport * as api from 'helpers/api.js';\r\nimport { responseHandler } from 'helpers/responseHandler';\r\nimport { loginConstants } from './login.Constants';\r\nimport { history } from 'helpers/history';\r\n\r\nimport packageJson from '../../../package.json';\r\n\r\nexport function login(email, password) {\r\n\r\n return dispatch => {\r\n var header = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: header,\r\n body: JSON.stringify({ email, password })\r\n };\r\n\r\n fetch(`${api.url()}User/Login`, requestOptions).then(responseHandler)\r\n .then(data => {\r\n localStorage.setItem('user', JSON.stringify(data));\r\n localStorage.setItem(\"_expiredTime\", Date.now());\r\n localStorage.setItem('version', packageJson.version)\r\n dispatch(success(data));\r\n history.push('/home');\r\n\r\n }).catch(function (error) {\r\n logout();\r\n dispatch(failure(error));\r\n });\r\n\r\n function success(user) { return { type: loginConstants.LOGIN_SUCCESS, user } }\r\n function failure(error) { return { type: loginConstants.LOGIN_FAIL, error } }\r\n }\r\n}\r\n\r\nexport function checkLogin() {\r\n return dispatch => {\r\n var user = localStorage.getItem('user');\r\n if (user) {\r\n history.push('/home');\r\n }\r\n }\r\n}\r\n\r\nexport function clearMessage() { \r\n return dispatch => { \r\n dispatch(resetMessage());\r\n \r\n function resetMessage() { return { type: loginConstants.RESET_MESSAGE } }\r\n }\r\n}\r\n\r\nexport function logout() {\r\n return dispatch => {\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('reduxState');\r\n\r\n history.push('/');\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Button from '@material-ui/core/Button';\r\nimport * as LoginAction from './login.Action';\r\n\r\nimport './login.Style.css';\r\n\r\nclass LoginComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n email: '',\r\n password: ''\r\n }\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.clearMessage = this.clearMessage.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.props.dispatch(LoginAction.checkLogin());\r\n\r\n window.addEventListener('beforeunload', this.clearMessage);\r\n }\r\n\r\n clearMessage() {\r\n this.props.dispatch(LoginAction.clearMessage());\r\n }\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n\r\n const { email, password } = this.state;\r\n if (email && password) {\r\n this.props.dispatch(LoginAction.login(email, password));\r\n }\r\n }\r\n\r\n handleChange(e) {\r\n const { name, value } = e.target;\r\n\r\n this.setState({ [name]: value });\r\n }\r\n\r\n render() {\r\n const { email, password } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \"login\"\r\n
Inloggen
\r\n
\r\n
\r\n
Email
\r\n \r\n
\r\n
\r\n
Wachtwoord
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

{this.props.message}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n message: state.login.message\r\n };\r\n}\r\n\r\nconst connectedLoginComponent = connect(mapStateToProps)(LoginComponent);\r\nexport { connectedLoginComponent as LoginComponent };\r\n","import React, { Component } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nexport class HousingTypeRowComponent extends Component {\r\n render() {\r\n var selected = 0;\r\n var housingType = this.props.item;\r\n\r\n if(this.props.selected)\r\n {\r\n selected = this.props.housingTypeId;\r\n }\r\n\r\n return (\r\n \r\n {\r\n selected === housingType.housingTypeId ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{housingType.name}
\r\n
\r\n
\r\n
\r\n :\r\n \r\n \r\n \r\n \"housingTypeBlue\"\r\n \r\n \r\n
{housingType.name}
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { history } from 'helpers/history';\r\nimport { HousingTypeRowComponent } from './housingTypeRow/housingTypeRow.Component';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\n\r\nimport * as HousingTypeAction from './housingType.Action';\r\nimport * as ProductAction from './product/product.Action';\r\n\r\nimport './housingType.Style.css';\r\n\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nclass HousingTypeComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.selectedHouseType = this.selectedHouseType.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.dispatch(HousingTypeAction.resetState());\r\n this.props.dispatch(HousingTypeAction.getHousingTypes(this.props.dispatch));\r\n this.props.dispatch(ProductAction.listProducts());\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.selectedHousingTypeId && this.props.selectedHousingTypeId !== 0) {\r\n history.push('/createLead/houseFace');\r\n }\r\n }\r\n\r\n selectedHouseType = (housingType, e) => {\r\n const { dispatch } = this.props\r\n dispatch(HousingTypeAction.saveSelectedHouseType(housingType));\r\n }\r\n\r\n render() {\r\n var selectedHousingTypeId = this.props.selectedHousingType;\r\n var housingTypes = [];\r\n\r\n if (this.props.housingTypes && this.props.housingTypes.length > 0) {\r\n housingTypes = this.props.housingTypes.map(housingType => {\r\n return \r\n });\r\n }\r\n else\r\n {\r\n housingTypes =

Er zijn geen woningtypen gevonden die hier weergegeven kunnen worden

\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {\r\n (!this.props.loaded || !this.props.productsLoaded) &&\r\n \r\n
\r\n \r\n }\r\n {\r\n (this.props.loaded && !this.props.error && this.props.productsLoaded && !this.props.productsError) && \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {housingTypes}\r\n \r\n
\r\n
\r\n }\r\n {\r\n (this.props.error || this.productsError) &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Er is iets misgegaan bij het ophalen van de woningtypen en/of -gevels. Klik op 'Terug' om terug te gaan om het vervolgens opnieuw te proberen.\r\n

\r\n
\r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n if(state.housingTypes && state.products){\r\n return {\r\n housingTypes: state.housingTypes.data,\r\n error: state.housingTypes.error,\r\n loaded: state.housingTypes.loaded,\r\n selectedHousingTypeId: state.housingTypes.selectedHousingTypeId,\r\n productsLoaded: state.products.loaded,\r\n productsError: state.products.error\r\n }\r\n }\r\n return {}\r\n}\r\n\r\nconst connectedHousingTypeComponent = connect(mapStateToProps)(HousingTypeComponent);\r\nexport { connectedHousingTypeComponent as HousingTypeComponent };\r\n","import { responseHandler } from 'helpers/responseHandler';\r\nimport * as api from 'helpers/api.js';\r\nimport { housingTypeConstants } from './housingType.Constants';\r\nimport { headerConstants } from '../../../components/layout/header/header.Constants';\r\nimport { authHeader } from 'helpers/authHeader';\r\n\r\nexport function getHousingTypes() {\r\n return dispatch => {\r\n var auth = authHeader();\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: auth,\r\n };\r\n\r\n return fetch(`${api.url()}HousingType/GetHousingTypes`, requestOptions).then(responseHandler)\r\n .then(data => {\r\n dispatch({ type: housingTypeConstants.HOUSINGTYPE_GETLIST_SUCCESS, data});\r\n }).catch(error => {\r\n dispatch({ type: housingTypeConstants.HOUSINGTYPE_GETLIST_FAIL, error});\r\n });\r\n }\r\n}\r\n\r\nexport function resetState() {\r\n return dispatch => {\r\n dispatch({ type: headerConstants.SOFT_RESET});\r\n }\r\n}\r\n\r\nexport function saveSelectedHouseType(housingType) {\r\n return dispatch => {\r\n var housingTypeId = housingType.housingTypeId;\r\n dispatch({ type: housingTypeConstants.HOUSINGTYPE_SELECTED, housingTypeId });\r\n }\r\n}","import { responseHandler } from 'helpers/responseHandler';\r\nimport * as api from 'helpers/api.js';\r\nimport { productConstants } from './product.Constants';\r\nimport { authHeader } from 'helpers/authHeader';\r\n\r\nexport function listProducts(){\r\n return dispatch => {\r\n var auth = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: auth\r\n }\r\n \r\n return fetch(`${api.url()}Product/GetAll`, requestOptions)\r\n .then(responseHandler)\r\n .then(data => {\r\n dispatch({ type: productConstants.PRODUCT_LIST_SUCCESS, data });\r\n })\r\n .catch(error => {\r\n dispatch({ type: productConstants.PRODUCT_LIST_FAIL, error });\r\n });\r\n }\r\n}\r\n\r\nexport function reset() {\r\n return dispatch => {\r\n dispatch({ type: productConstants.PRODUCT_LIST_RESET });\r\n }\r\n}","import { housingFaceConstants } from './housingFace.Constants';\r\n\r\nexport function filterSelectedFaces(housingFaces) {\r\n return dispatch => {\r\n var copy = [];\r\n\r\n for (var i = 0; i < housingFaces.length; i++) {\r\n var housingFace = housingFaces[i];\r\n\r\n var elements = [];\r\n\r\n for (var j = 0; j < housingFace.housingElements.length; j++) {\r\n\r\n if (housingFace.housingElements[j].elementImplementations.length > 0) {\r\n var housingElements = housingFace.housingElements[j].elementImplementations.filter((e) => e.count > 0);\r\n\r\n if (housingElements.length > 0) {\r\n elements.push(housingFace.housingElements[j]);\r\n }\r\n }\r\n }\r\n\r\n if(elements.length > 0)\r\n {\r\n var newElement = { \r\n housingFace: housingFace,\r\n elements: elements\r\n }\r\n\r\n copy.push(newElement);\r\n }\r\n }\r\n\r\n dispatch({ type: housingFaceConstants.HOUSINGTYPE_FILTERDATA, copy });\r\n }\r\n}\r\n\r\nexport function updateImplementationCount(implementation) {\r\n return dispatch => {\r\n dispatch({ type: housingFaceConstants.IMPLEMENTATION_UPDATE_COUNT, implementation});\r\n }\r\n}\r\n\r\nexport function reset(){\r\n return dispatch => {\r\n dispatch({ type: housingFaceConstants.RESET});\r\n }\r\n}","import React, { Component } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nimport './implementation.Style.css';\r\n\r\nexport class Implementation extends Component {\r\n render() {\r\n var minClassName = this.props.count > 0 ? \"button-min\" : \"button-min-disabled\";\r\n\r\n return (\r\n
\r\n \r\n \r\n
{this.props.count}
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport * as HousingFaceAction from '../housingFace.Action';\r\nimport { Implementation } from './implementation/implementation.Component';\r\n\r\nimport './housingElementRow.Style.css';\r\n\r\nclass HousingElementRowComponent extends Component {\r\n Add = (housingElementImplementationId) => {\r\n if (this.props.elementImplementations) {\r\n var elementImplementation = this.props.elementImplementations.find((e => e.housingElementImplementationId === housingElementImplementationId));\r\n if(elementImplementation)\r\n {\r\n elementImplementation.count = ++elementImplementation.count;\r\n this.props.dispatch(HousingFaceAction.updateImplementationCount(elementImplementation));\r\n }\r\n }\r\n }\r\n\r\n Min = (housingElementImplementationId) => {\r\n if (this.props.elementImplementations) {\r\n var elementImplementation = this.props.elementImplementations.find((e => e.housingElementImplementationId === housingElementImplementationId));\r\n if(elementImplementation && elementImplementation.count > 0)\r\n {\r\n elementImplementation.count = --elementImplementation.count;\r\n this.props.dispatch(HousingFaceAction.updateImplementationCount(elementImplementation));\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n var housingElement = this.props.housingElement;\r\n var implementations = housingElement.elementImplementations.map((implementation, index) => {\r\n return (\r\n \r\n \r\n \r\n {implementation.name} €{implementation.price} \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n \r\n {\r\n implementations.length > 0 ? implementations :
Bij dit element zijn geen uitvoeringen gevonden.
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst connectedHousingElementRowComponent = connect()(HousingElementRowComponent);\r\nexport { connectedHousingElementRowComponent as HousingElementRowComponent };\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Modal from 'react-modal';\r\nimport Button from '@material-ui/core/Button';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\n\r\nimport './housingFaceModal.Style.css';\r\n\r\nconst customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n padding: '0 !important',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '100vh',\r\n height: '75vh',\r\n border: '0 !important'\r\n }\r\n};\r\n\r\nclass HousingFaceModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n modalIsOpen: false\r\n }\r\n\r\n this.openModal = this.openModal.bind(this);\r\n this.closeModal = this.closeModal.bind(this);\r\n }\r\n\r\n openModal() {\r\n this.setState({ modalIsOpen: true });\r\n }\r\n\r\n closeModal() {\r\n this.setState({ modalIsOpen: false });\r\n }\r\n\r\n render() {\r\n var housingFace = this.props.housingFace\r\n var list = [];\r\n\r\n if (housingFace != null) {\r\n for (var index = 0; index < housingFace.housingElements.length; index++) {\r\n var housingElement = housingFace.housingElements[index];\r\n if (housingElement) {\r\n var elementsWithImplementation = housingElement.elementImplementations.filter((e) => e.count > 0);\r\n if (elementsWithImplementation && elementsWithImplementation.length > 0) {\r\n list.push(\r\n \r\n \r\n {housingElement.housingElementName}\r\n \r\n \r\n \r\n {\r\n elementsWithImplementation.map((elementImplementation, subIndex) => {\r\n return (\r\n \r\n {elementImplementation.name}\r\n {elementImplementation.count} stuks(s) \r\n );\r\n })\r\n }\r\n \r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \"information\"\r\n\r\n \r\n
\r\n
\r\n
\r\n

Gevel informatie

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Element\r\n Implementatie\r\n Aantal\r\n \r\n \r\n {list}\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\nconst connected = connect()(HousingFaceModal);\r\nexport { connected as HousingFaceModal };\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport './housingFaceResume.Style.css';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\n\r\nclass HousingFaceResumeComponent extends Component {\r\n render() {\r\n const hasFilledImplementations = (housingFace) => housingFace.housingElements.filter(element => findFilledImplementations(element).length > 0).length > 0;\r\n const findFilledImplementations = (element) => element.elementImplementations.filter((e) => e.count > 0);\r\n\r\n var list = [];\r\n\r\n for (var i = 0; i < this.props.housingFaces.length; i++) {\r\n var housingFace = this.props.housingFaces[i];\r\n\r\n if (hasFilledImplementations(housingFace)) {\r\n list.push(\r\n \r\n {housingFace.name}\r\n \r\n \r\n \r\n \r\n )\r\n\r\n for (var j = 0; j < housingFace.housingElements.length; j++) {\r\n var element = housingFace.housingElements[j];\r\n var filledImplementations = findFilledImplementations(element);\r\n\r\n if (filledImplementations.length > 0) {\r\n list.push(\r\n \r\n \r\n {element.housingElementName}\r\n \r\n \r\n \r\n )\r\n\r\n for (var k = 0; k < filledImplementations.length; k++) {\r\n list.push(\r\n \r\n \r\n \r\n {filledImplementations[k].name}\r\n {filledImplementations[k].count} stuk(s)\r\n \r\n )\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n

Samenvatting

\r\n \r\n \r\n \r\n Gevel\r\n Element\r\n Implementatie\r\n Aantal\r\n \r\n \r\n \r\n {list}\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst connected = connect()(HousingFaceResumeComponent);\r\nexport { connected as HousingFaceResumeComponent };","import React from 'react';\r\nimport './questionBox.Style.css';\r\nimport Modal from 'react-modal';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nconst QuestionBox = props => {\r\n const {\r\n title,\r\n message,\r\n items,\r\n onSubmit,\r\n onCancel\r\n } = props;\r\n\r\n // To override react-bootstrap modal component\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n padding: '0 !important',\r\n marginRight: '-50%',\r\n transform: 'translate(50%, 50%)',\r\n width: '50vw',\r\n height: '50vh',\r\n border: '0 !important',\r\n backgroundColor: 'white'\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n

{title}

\r\n
\r\n
\r\n
\r\n
\r\n {message}\r\n {\r\n (items && items.length > 0) &&\r\n
\r\n
    \r\n {\r\n items.map(item =>
  • {item}
  • )\r\n }\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {\r\n onSubmit && \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default QuestionBox;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { history } from 'helpers/history';\r\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\r\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\r\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport { HousingElementRowComponent } from './housingElementRow/housingElementRow.Component';\r\nimport { HousingFaceModal } from './housingFaceModal/housingFaceModal.Component';\r\nimport { HousingFaceResumeComponent } from './housingFaceResume/housingFaceResume.Component';\r\nimport * as HousingFaceAction from './housingFace.Action';\r\nimport QuestionBox from '../../../components/questionBox/questionBox.Component';\r\n\r\nimport './housingFace.Style.css';\r\n\r\nclass HousingFaceComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n faceIndex: 0,\r\n showResume: false,\r\n expanded: null,\r\n showBackModal: false\r\n }\r\n\r\n this.getSelectedFace = this.getSelectedFace.bind(this);\r\n this.handleFaceClick = this.handleFaceClick.bind(this);\r\n this.handleResumeClick = this.handleResumeClick.bind(this);\r\n this.handlePanel = this.handlePanel.bind(this);\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleBackQuestion = this.handleBackQuestion.bind(this);\r\n this.handleBackQuestionClose = this.handleBackQuestionClose.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getSelectedFace(0);\r\n }\r\n\r\n getSelectedFace(index) {\r\n var selectedFace = this.props.housingFaces[index];\r\n\r\n if (selectedFace != null) {\r\n this.setState({\r\n faceIndex: index\r\n });\r\n }\r\n }\r\n\r\n handlePanel = panel => (event, expanded) => { \r\n this.setState({\r\n expanded: expanded ? panel: false\r\n });\r\n }\r\n\r\n handleFaceClick(index) {\r\n this.setState({\r\n faceIndex: index,\r\n showResume: false,\r\n expanded: null\r\n });\r\n\r\n this.getSelectedFace(index);\r\n }\r\n\r\n handleResumeClick(event) {\r\n this.setState({\r\n showResume: true\r\n });\r\n }\r\n\r\n handleNext(e) {\r\n this.props.dispatch(HousingFaceAction.filterSelectedFaces(this.props.housingFaces)); \r\n history.push('/createLead/HousingPlan');\r\n }\r\n\r\n handleBackQuestion(e) {\r\n this.setState({showBackModal: true});\r\n }\r\n\r\n handleBack(e) {\r\n this.props.dispatch(HousingFaceAction.reset());\r\n history.goBack();\r\n }\r\n\r\n handleBackQuestionClose(e) {\r\n this.setState({showBackModal: false});\r\n }\r\n\r\n render() {\r\n const { expanded } = this.state;\r\n var summarySelectedClass = this.state.showResume ? \"selection-face selected\" : \"selection-face notselected\";\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n this.state.showBackModal && \r\n <>\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {\r\n this.props.housingFaces.map((housingFace, i) => {\r\n var result = FilledElements(housingFace);\r\n\r\n if (i === this.state.faceIndex && !this.state.showResume) {\r\n return
\r\n \r\n \"selected\" \r\n this.handleFaceClick(i)}> {housingFace.name} \r\n \r\n \r\n
\r\n }\r\n else if (result) {\r\n return
\r\n
\r\n \r\n \"success\" \r\n this.handleFaceClick(i)}> {housingFace.name} \r\n \r\n \r\n
\r\n
\r\n }\r\n else {\r\n return
\r\n \r\n \"notfilled\"\r\n this.handleFaceClick(i)}> {housingFace.name} \r\n \r\n \r\n
\r\n }\r\n })\r\n }\r\n {\r\n this.state.showResume \r\n ?\r\n \r\n \"checked\"\r\n this.handleResumeClick(e)}> Samenvatting \r\n \r\n \r\n :\r\n \r\n \"checked\"\r\n this.handleResumeClick(e)}> Samenvatting \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n {\r\n this.state.showResume\r\n ?\r\n \r\n :\r\n
\r\n {\r\n this.props.housingFaces[this.state.faceIndex] ? this.props.housingFaces[this.state.faceIndex].housingElements.map((housingElement, i) => {\r\n var elementsFilled = housingElement.elementImplementations.filter((e) => e.count > 0);\r\n\r\n var filled = '';\r\n if(elementsFilled.length > 0)\r\n {\r\n filled = \"success-small\";\r\n }\r\n\r\n return \r\n }>\r\n {housingElement.housingElementName}\r\n {filled} \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.handleNext()}> Volgende \"next\" \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n// Kijk of in de gevel een bepaald element is ingevuld. Is dat al ingevuld? Dan moet vinkje groen. \r\nfunction FilledElements(housingFace) {\r\n if (housingFace != null) {\r\n for (var i = 0; i < housingFace.housingElements.length; i++) {\r\n var housingElement = housingFace.housingElements[i];\r\n\r\n for(let j = 0; j < housingElement.elementImplementations.length; j++) {\r\n if (housingElement.elementImplementations[j].count > 0) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n var selectedHousingType = state.housingTypes.data.find((housingType) => housingType.housingTypeId === state.housingTypes.selectedHousingTypeId);\r\n\r\n return {\r\n selectedImplementations: state.selectedImplementation.selectedElements,\r\n housingFaces: selectedHousingType ? selectedHousingType.housingFaces : []\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(HousingFaceComponent);\r\nexport { connected as HousingFaceComponent };\r\n\r\n\r\n","import { responseHandler } from 'helpers/responseHandler';\r\nimport * as api from 'helpers/api.js';\r\nimport { authHeader } from 'helpers/authHeader';\r\nimport { LeadCalculationConstants } from './leadCalculation.Constants';\r\nimport { trackTrace, SeverityLevel } from '../../../helpers/TelemetryService';\r\n\r\nexport function setSelectedCalculationPlan(data) {\r\n return dispatch => {\r\n dispatch(selectedCalculation(data));\r\n\r\n function selectedCalculation(data) { return { type: LeadCalculationConstants.SELECTED_CALCULATION, data } }\r\n }\r\n}\r\n\r\nexport function resetCalculations() {\r\n return dispatch => {\r\n dispatch({ type: LeadCalculationConstants.RESET_LEADCALCULATIONS });\r\n }\r\n}\r\n\r\nexport function getFoundationCalculation(data, months) {\r\n return dispatch => {\r\n if (data) {\r\n var yearList = [];\r\n for (var i = 0; i < data.housingPlanData.length; i++) {\r\n var housingPlanYear = data.housingPlanData[i];\r\n var price = 0;\r\n\r\n if (housingPlanYear.yearTotalPriceWithCorrection !== \"\") {\r\n price = housingPlanYear.yearTotalPriceWithCorrection;\r\n }\r\n else {\r\n price = housingPlanYear.yearTotalPrice;\r\n }\r\n\r\n var item = {\r\n year: housingPlanYear.year,\r\n amount: price\r\n }\r\n\r\n yearList.push(item);\r\n }\r\n\r\n var totalMonths = 0;\r\n\r\n if (months > 0) {\r\n totalMonths = months;\r\n }\r\n else {\r\n totalMonths = (data.housingPlanDurage - 1) * 12;\r\n }\r\n\r\n var housingPlanData = {\r\n years: yearList,\r\n totalMonths: totalMonths\r\n }\r\n\r\n var auth = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: auth,\r\n body: JSON.stringify(housingPlanData)\r\n };\r\n\r\n trackTrace(\"Calling GetFoundationCalculation\", SeverityLevel.Information, { requestOptions: requestOptions });\r\n\r\n fetch(`${api.url()}Calculation/GetFoundationCalculation`, requestOptions).then(responseHandler)\r\n .then(data => {\r\n dispatch({ type: LeadCalculationConstants.REQUEST_FOUNDATION_CALCULATION_SUCCESS, data });\r\n }).catch(error => {\r\n dispatch({ type: LeadCalculationConstants.REQUEST_FOUNDATION_CALCULATION_FAIL, error });\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport function getPaymentPlanCalculation(data, months, amountFinance) {\r\n return dispatch => {\r\n if (data) {\r\n var yearList = [];\r\n for (var i = 0; i < data.housingPlanData.length; i++) {\r\n var housingPlanYear = data.housingPlanData[i];\r\n var price = 0;\r\n\r\n if (housingPlanYear.yearTotalPriceWithCorrection !== \"\") {\r\n price = housingPlanYear.yearTotalPriceWithCorrection;\r\n }\r\n else {\r\n price = housingPlanYear.yearTotalPrice;\r\n }\r\n\r\n var item = {\r\n year: housingPlanYear.year,\r\n amount: price,\r\n }\r\n\r\n yearList.push(item);\r\n }\r\n\r\n var totalMonths = 0;\r\n\r\n if (months > 0) {\r\n totalMonths = months;\r\n }\r\n else {\r\n totalMonths = (data.housingPlanDurage - 1) * 12;\r\n } \r\n\r\n var housingPlanData = { \r\n years: yearList,\r\n totalMonths: totalMonths,\r\n amountFinance: amountFinance\r\n }\r\n\r\n var auth = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: auth,\r\n body: JSON.stringify(housingPlanData)\r\n };\r\n\r\n trackTrace(\"Calling GetPlaymentPlanCalculation\", SeverityLevel.Information, { requestOptions: requestOptions });\r\n\r\n fetch(`${api.url()}Calculation/GetPaymentPlanCalculation`, requestOptions).then(responseHandler)\r\n .then(data => {\r\n dispatch({ type: LeadCalculationConstants.REQUEST_PAYMENTPLAN_CALCULATION_SUCCESS, data });\r\n }).catch(function (error) {\r\n dispatch({ type: LeadCalculationConstants.REQUEST_PAYMENYPLAN_CALCULATION_FAIL, error });\r\n });\r\n }\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Button from '@material-ui/core/Button';\r\nimport * as LeadCalculationAction from '../leadCalculation.Action';\r\nimport { trackTrace, SeverityLevel } from '../../../../helpers/TelemetryService';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\n\r\nimport '../plan.Style.css';\r\n\r\nconst customStyles = {\r\n width: \"100%\",\r\n borderRadius: \"0\"\r\n};\r\n\r\nclass FoundationPlanComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n months: props.leadFoundationCalculation && props.leadFoundationCalculation.foundationCalculationInput ? props.leadFoundationCalculation.foundationCalculationInput.months : 168,\r\n open: false\r\n }\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.changeMonths = this.changeMonths.bind(this);\r\n }\r\n\r\n onChange(event) {\r\n var newValue = \"\";\r\n if(this.props.leadFoundationCalculation && this.props.leadFoundationCalculation.foundationCalculationInput){\r\n newValue = this.state.months === \"\" ? this.props.leadFoundationCalculation.foundationCalculationInput.months : event.target.value;\r\n }\r\n \r\n if(newValue === \"\"){\r\n newValue = 1;\r\n }\r\n\r\n this.setState({\r\n months: newValue\r\n });\r\n\r\n this.changeMonths(newValue);\r\n }\r\n\r\n changeMonths(months) {\r\n if (months > 0 && months < 999) {\r\n this.props.dispatch(LeadCalculationAction.getFoundationCalculation(this.props.housingPlanData, months));\r\n }\r\n }\r\n\r\n render() {\r\n var monthPrice = 0;\r\n var lowestPrice = 0;\r\n var onceAmount = 0;\r\n var totalMonths = 0;\r\n var lowestBalanceYear = 0;\r\n var isValid = false;\r\n var hasCalculationData = false;\r\n\r\n if (this.props.leadFoundationCalculation != null) {\r\n var calculation = this.props.leadFoundationCalculation;\r\n\r\n if (calculation.foundationCalculationData && calculation.foundationCalculationData !== \"\" && calculation.foundationCalculationInput) {\r\n monthPrice = this.props.leadFoundationCalculation.foundationCalculationData.monthAmount.toFixed(2);\r\n lowestPrice = this.props.leadFoundationCalculation.foundationCalculationData.lowestBalanceYear.balance.toFixed(2);\r\n onceAmount = this.props.leadFoundationCalculation.foundationCalculationData.onceAmount.toFixed(2);\r\n totalMonths = this.props.leadFoundationCalculation.foundationCalculationInput.months;\r\n lowestBalanceYear = this.props.leadFoundationCalculation.foundationCalculationData.lowestBalanceYear.year;\r\n isValid = this.props.leadFoundationCalculation.isValid;\r\n\r\n hasCalculationData = true;\r\n }\r\n }\r\n\r\n if (!hasCalculationData) {\r\n trackTrace(\"No calculation data in foundationPlan.Component\", SeverityLevel.Warning, { calculation: this.props.leadFoundationCalculation });\r\n }\r\n\r\n const getBalanceClass = (balance) => !isValid ? \"tooNegativeBalance\" : (balance < 0) ? \"negativeBalance\" : \"positiveBalance\";\r\n\r\n const handleTooltipClose = () => {\r\n this.setState({open: false});\r\n };\r\n \r\n const handleTooltipOpen = () => {\r\n this.setState({open: true});\r\n }; \r\n\r\n const tooltipError = \r\n
\r\n \r\n Click\r\n \r\n
\r\n
;\r\n return (\r\n \r\n \r\n
\r\n
\r\n {this.props.title}\r\n

Maandelijks abonnement

\r\n
\r\n
\r\n {\r\n hasCalculationData && \r\n \r\n
\r\n
\r\n \r\n Aantal maanden : {totalMonths}\r\n {\r\n !isValid && \r\n <> Laagste saldo : {lowestBalanceYear} - € {lowestPrice}{tooltipError}\r\n }\r\n {\r\n isValid && \r\n <> Laagste saldo : {lowestBalanceYear} - € {lowestPrice}\r\n }\r\n Eenmalig factureren : € {onceAmount}\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n !hasCalculationData && \r\n \r\n
\r\n
\r\n Door een technische storing kon de berekening niet worden gemaakt. Probeer het later opnieuw.\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n hasCalculationData && \r\n
\r\n \r\n \r\n \r\n \r\n \r\n this.onChange(e)} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
this.props.handleCalculation(this.props.calculationName)} style={{ margin: \"auto\" }}>\r\n € {monthPrice}\r\n

Kies dit pakket

\r\n
\r\n
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n leadFoundationCalculation: state.leadCalculation,\r\n housingPlanData: state.housingPlanData\r\n }\r\n}\r\n\r\n\r\nconst connected = connect(mapStateToProps)(FoundationPlanComponent);\r\nexport { connected as FoundationPlanComponent };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Button from '@material-ui/core/Button';\r\nimport { trackTrace, SeverityLevel } from '../../../../helpers/TelemetryService';\r\nimport * as LeadCalculationAction from '../leadCalculation.Action';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\n\r\nimport '../plan.Style.css';\r\n\r\nconst customStyles = {\r\n width: \"100%\",\r\n borderRadius: \"0\"\r\n };\r\n\r\nconst toLowStyle = {\r\n outline: \"2px solid red\"\r\n};\r\n\r\nclass PaymentPlanComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n let onceAmount = 2500;\r\n if(props.paymentPlanCalculation && props.paymentPlanCalculation.paymentPlanCalculationData) {\r\n if(props.paymentPlanCalculation.paymentPlanCalculationData.onceAmount && props.paymentPlanCalculation.paymentPlanCalculationData.onceAmount >= onceAmount){\r\n onceAmount = Math.round(props.paymentPlanCalculation.paymentPlanCalculationData.onceAmount);\r\n }\r\n }\r\n\r\n this.state = {\r\n paymentPlanMonths: props.paymentPlanCalculation && props.paymentPlanCalculation.paymentPlanCalculationInput ? props.paymentPlanCalculation.paymentPlanCalculationInput.months : 168,\r\n onceAmount: onceAmount,\r\n open: false,\r\n toLow: false\r\n }\r\n \r\n this.changeOnceAmount = this.changeOnceAmount.bind(this);\r\n this.changeMonths = this.changeMonths.bind(this);\r\n this.onChangeMonth = this.onChangeMonth.bind(this);\r\n this.onChangeOnceAmount = this.onChangeOnceAmount.bind(this);\r\n }\r\n\r\n isNumeric(str) {\r\n if (typeof str != \"string\") return false // we only process strings! \r\n return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\r\n !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail\r\n }\r\n\r\n onChangeOnceAmount(event) {\r\n this.setState({\r\n onceAmount: event.target.value,\r\n toLow: event.target.value < 2500\r\n });\r\n\r\n if(this.isNumeric(event.target.value) && event.target.value >= 2500){\r\n this.changeOnceAmount(event.target.value);\r\n }\r\n }\r\n\r\n changeOnceAmount(onceAmount) {\r\n if (onceAmount >= 0) {\r\n var roundedValue = parseFloat(onceAmount).toFixed(0);\r\n this.props.dispatch(LeadCalculationAction.getPaymentPlanCalculation(this.props.housingPlanData, this.state.paymentPlanMonths, roundedValue));\r\n this.setState({ onceAmount: roundedValue, toLow: false});\r\n }\r\n }\r\n\r\n onChangeMonth(event) {\r\n if(event.target.value !== \"\"){\r\n var newValue = (this.state.paymentPlanMonths === \"\") ? this.props.leadFoundationCalculation.paymentPlanCalculationInput.months : event.target.value;\r\n\r\n if(newValue !== \"\"){\r\n this.setState({\r\n paymentPlanMonths: newValue\r\n });\r\n \r\n this.changeMonths(newValue); \r\n }\r\n }\r\n }\r\n \r\n changeMonths(paymentPlanMonths) {\r\n if (paymentPlanMonths > 0 && paymentPlanMonths < 999) {\r\n this.props.dispatch(LeadCalculationAction.getPaymentPlanCalculation(this.props.housingPlanData, paymentPlanMonths, this.state.onceAmount));\r\n }\r\n }\r\n\r\n render() {\r\n var paymentPlanMonthPrice, paymentPlanTotalMonths, foundationMonthPrice, foundationTotalMonths, interestRate, onceAmount, lowestPrice, lowestBalanceYear, totalPriceInclFinance;\r\n var hasCalculationData = false;\r\n var isValid = false;\r\n\r\n const getBalanceClass = (balance) => !isValid ? \"tooNegativeBalance\" : (balance < 0) ? \"negativeBalance\" : \"positiveBalance\";\r\n\r\n const handleTooltipClose = () => {\r\n this.setState({open: false});\r\n };\r\n \r\n const handleTooltipOpen = () => {\r\n this.setState({open: true});\r\n }; \r\n\r\n const tooltipError = \r\n
\r\n \r\n Click\r\n \r\n
\r\n
;\r\n\r\n if (this.props.paymentPlanCalculation != null) {\r\n var calculation = this.props.paymentPlanCalculation;\r\n\r\n if (calculation.paymentPlanCalculationData && calculation.paymentPlanCalculationData !== \"\" && calculation.paymentPlanCalculationInput && calculation.paymentPlanCalculationInput !== \"\"){\r\n paymentPlanMonthPrice = calculation.paymentPlanCalculationData.monthAmountFinance.toFixed(2);\r\n paymentPlanTotalMonths = calculation.paymentPlanCalculationInput.monthsFinance;\r\n foundationMonthPrice = calculation.paymentPlanCalculationData.monthAmount.toFixed(2);\r\n foundationTotalMonths = calculation.paymentPlanCalculationInput.months;\r\n interestRate = calculation.paymentPlanCalculationInput.monthInterest;\r\n onceAmount = calculation.paymentPlanCalculationData.onceAmount.toFixed(2);\r\n lowestBalanceYear = calculation.paymentPlanCalculationData.lowestBalanceYear.year;\r\n lowestPrice = calculation.paymentPlanCalculationData.lowestBalanceYear.balance.toFixed(2);\r\n isValid = calculation.isValid;\r\n\r\n totalPriceInclFinance = calculation.paymentPlanCalculationData.sumIncludingFinance.toFixed(2);\r\n\r\n hasCalculationData = true;\r\n }\r\n }\r\n \r\n if (!hasCalculationData) {\r\n trackTrace(\"No calculation data in paymentPlan.Component\", SeverityLevel.Warning, { calculation: this.props.paymentPlanCalculation });\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n {this.props.title}\r\n

Maandelijks abonnement

\r\n
\r\n
\r\n {\r\n hasCalculationData && \r\n \r\n
\r\n
\r\n \r\n Aantal maanden : {foundationTotalMonths}\r\n Aantal maanden financiering : {paymentPlanTotalMonths}\r\n {\r\n !isValid && \r\n <> Laagste saldo : {lowestBalanceYear} - € {lowestPrice}{tooltipError}\r\n }\r\n {\r\n isValid && \r\n <> Laagste saldo : {lowestBalanceYear} - € {lowestPrice}\r\n }\r\n Totaal abonnement incl. financiering : {totalPriceInclFinance}\r\n Eenmalig factureren : {onceAmount} \r\n Rente financiering : {interestRate}%\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n !hasCalculationData && \r\n \r\n
\r\n
\r\n Door een technische storing kon de berekening niet worden gemaakt. Probeer het later opnieuw.\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n hasCalculationData && \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n this.onChangeMonth(e)} />\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.onChangeOnceAmount(e)} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n this.state.toLow && \r\n
alert(\"Te lenen bedrag moet groter of kleiner zijn dan 2500\")} style={{ margin: \"auto\" }}>\r\n € {foundationMonthPrice} (+ € {paymentPlanMonthPrice})\r\n
\r\n }\r\n {\r\n !this.state.toLow && \r\n
this.props.handleCalculation(this.props.calculationName)} style={{ margin: \"auto\" }}>\r\n € {foundationMonthPrice} (+ € {paymentPlanMonthPrice})\r\n

Kies dit pakket

\r\n
\r\n }\r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n paymentPlanCalculation: {\r\n paymentPlanCalculationData: state.leadCalculation.paymentPlanCalculationData,\r\n paymentPlanCalculationInput: state.leadCalculation.paymentPlanCalculationInput,\r\n paymentPlanCalculationType: state.leadCalculation.paymentPlanCalculationType,\r\n isValid: state.leadCalculation.paymentFoundationIsValid\r\n },\r\n housingPlanData: state.housingPlanData\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(PaymentPlanComponent);\r\nexport { connected as PaymentPlanComponent };","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport { FoundationPlanComponent } from './foundationPlan/foundationPlan.Component';\r\nimport { PaymentPlanComponent } from './paymentPlan/paymentPlan.Component';\r\nimport * as LeadCalculationAction from './leadCalculation.Action';\r\n\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nimport './leadCalculation.Style.css';\r\n\r\nclass LeadCalculationComponent extends Component {\r\n constructor(props) { \r\n super(props);\r\n\r\n this.handleCalculation = this.handleCalculation.bind(this);\r\n }\r\n\r\n handleNextButton() {\r\n history.push('/createLead/photo');\r\n }\r\n\r\n componentDidMount() {\r\n this.resetCalculations();\r\n this.getFoundationCalculation();\r\n this.getPaymentPlanCalculation();\r\n }\r\n\r\n resetCalculations() {\r\n this.props.dispatch(LeadCalculationAction.resetCalculations());\r\n }\r\n\r\n getFoundationCalculation() {\r\n const { calculation } = this.props;\r\n var months = calculation && calculation.foundationCalculationInput ? calculation.foundationCalculationInput.months : 0;\r\n this.props.dispatch(LeadCalculationAction.getFoundationCalculation(this.props.housingPlanData, months));\r\n }\r\n\r\n getPaymentPlanCalculation() {\r\n const { calculation } = this.props;\r\n var months = calculation && calculation.paymentPlanCalculationInput ? calculation.paymentPlanCalculationInput.months : 0;\r\n var amountFinance = calculation && calculation.paymentPlanCalculationInput ? calculation.paymentPlanCalculationInput.amountFinance: 0;\r\n this.props.dispatch(LeadCalculationAction.getPaymentPlanCalculation(this.props.housingPlanData, months, amountFinance));\r\n }\r\n\r\n handleCalculation(data) {\r\n this.props.dispatch(LeadCalculationAction.setSelectedCalculationPlan(data));\r\n history.push('/createLead/overview');\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 this.props.calculation.foundationIsLoaded && \r\n \r\n } \r\n {\r\n this.props.calculation.paymentIsLoaded &&\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\nfunction mapStateToProps(state) {\r\n return {\r\n housingPlanData: state.housingPlanData,\r\n calculation: state.leadCalculation\r\n }\r\n}\r\n\r\nconst connectedLeadCalculationComponent = connect(mapStateToProps)(LeadCalculationComponent);\r\nexport { connectedLeadCalculationComponent as LeadCalculationComponent };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport './leadUser.Style.css';\r\n\r\nclass LeadUserComponent extends Component {\r\n\r\n render() {\r\n return
\r\n \r\n
\r\n

Persoonlijke gegevens

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Naam\r\n {this.props.customer.name} \r\n \r\n \r\n Adres\r\n {this.props.customer.street} {this.props.customer.houseNumber} {this.props.customer.houseNumberAddition} \r\n \r\n \r\n Postcode/ Plaats\r\n {this.props.customer.zipCode} {this.props.customer.city} \r\n \r\n \r\n Soort woning\r\n {this.props.selectedHousingTypeName} \r\n \r\n \r\n Email\r\n {this.props.customer.email} \r\n \r\n \r\n Telefoonnummer\r\n {this.props.customer.phoneLine} \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const selectedHousingType = state.housingTypes.data.find(housingType => housingType.housingTypeId === state.housingTypes.selectedHousingTypeId);\r\n return {\r\n selectedHousingTypeName: selectedHousingType ? selectedHousingType.name : \"onbekend\",\r\n customer: state.leadCustomers.selectedCustomer,\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(LeadUserComponent);\r\nexport { connected as LeadUserComponent };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\n\r\nimport './leadHousingPlan.Style.css';\r\n\r\nclass LeadHousingPlanComponent extends Component {\r\n\r\n render() {\r\n return
\r\n \r\n
\r\n

Meerjaren onderhoudsplan

\r\n\r\n \r\n \r\n \r\n Jaar\r\n Korte omschrijving\r\n \r\n \r\n \r\n {\r\n this.props.housingPlan.map((item, i) => (\r\n \r\n {item.year}\r\n {item.selectedProductDescription} \r\n \r\n ))\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n housingPlan: state.housingPlanData.housingPlanData\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(LeadHousingPlanComponent);\r\nexport { connected as LeadHousingPlanComponent };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Button from '@material-ui/core/Button';\r\nimport { HeaderComponent, TitleComponent } from '../../../components';\r\nimport { LeadUserComponent } from './leadUser/leadUser.Component';\r\nimport { LeadHousingPlanComponent } from './leadHousingPlan/leadHousingPlan.Component';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport * as LeadAction from './leadOverview.Action';\r\nimport SignatureCanvas from 'react-signature-canvas';\r\nimport { ClipLoader } from 'react-spinners';\r\nimport './leadOverview.Style.css';\r\n\r\nclass LeadOverviewComponent extends Component {\r\n sigPad = {}\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n trimmedDataURL: null,\r\n savingContract: false,\r\n savingLead: false,\r\n busySavingLead: false,\r\n }\r\n\r\n this.sendOrder = this.sendOrder.bind(this);\r\n this.handleInternalComment = this.handleInternalComment.bind(this);\r\n this.checkValidSelectedCalculation = this.checkValidSelectedCalculation.bind(this);\r\n }\r\n\r\n handleInternalComment(event) {\r\n const { dispatch } = this.props;\r\n dispatch(LeadAction.updateLeadComment(event.target.value));\r\n }\r\n\r\n componentDidMount(){\r\n if(this.state.busySavingLead || this.state.busySavingContractLead){\r\n this.setState({\r\n busySavingLead: false\r\n });\r\n }\r\n }\r\n\r\n setSelectedCalculation(lead, calculation) {\r\n if (calculation.selectedCalculation === \"FoundationPlan\"){\r\n lead.selectedCalculationType = calculation.foundationCalculationType;\r\n lead.selectedCalculationData = calculation.foundationCalculationData;\r\n lead.selectedCalculationInput = calculation.foundationCalculationInput;\r\n } else if(calculation.selectedCalculation === \"PaymentPlan\") {\r\n lead.selectedCalculationType = calculation.paymentPlanCalculationType;\r\n lead.selectedCalculationData = calculation.paymentPlanCalculationData;\r\n lead.selectedCalculationInput = calculation.paymentPlanCalculationInput;\r\n }\r\n }\r\n\r\n checkValidSelectedCalculation(calculation) {\r\n if (calculation.selectedCalculation === \"FoundationPlan\") {\r\n return calculation.isValid;\r\n } else if (calculation.selectedCalculation === \"PaymentPlan\") {\r\n return calculation.paymentFoundationIsValid;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n sendOrder(generateContract) {\r\n const {\r\n calculation,\r\n customer,\r\n housingPlanData,\r\n housingType,\r\n housingTypeData,\r\n leadOverview,\r\n photoData,\r\n repairs,\r\n userData,\r\n selectedImplementation\r\n } = this.props;\r\n\r\n var sigImage = this.checkValidSelectedCalculation(this.props.calculation) && this.sigPad.getTrimmedCanvas().toDataURL('image/png');\r\n\r\n var selectedHousingFaces = [];\r\n for(let i = 0; i < selectedImplementation.filteredHousingFaces.length; i++) {\r\n selectedHousingFaces.push(selectedImplementation.filteredHousingFaces[i].housingFace);\r\n }\r\n \r\n var leadData = {\r\n housingPlanData: housingPlanData.housingPlanData,\r\n housingType: housingType,\r\n customer: customer,\r\n housingTypeData: housingTypeData,\r\n organizationId: userData.organizationId,\r\n createdBy: userData.fullname,\r\n userId: userData.id,\r\n internalComment: leadOverview.comment,\r\n signatureDataUrl: generateContract ? sigImage : null,\r\n photos: photoData.photos,\r\n photoTempId: photoData.tempId,\r\n requiredRepairs: repairs,\r\n generateContract: generateContract,\r\n subscriptionStartYear: housingPlanData.housingPlanStart,\r\n selectedHousingTypeData: {\r\n housingFaces: selectedHousingFaces\r\n }\r\n }\r\n\r\n this.setSelectedCalculation(leadData, calculation);\r\n\r\n this.setState({\r\n savingContract: generateContract,\r\n savingLead: !generateContract,\r\n busySavingLead: true \r\n });\r\n\r\n this.props.dispatch(LeadAction.saveLead(leadData, generateContract));\r\n }\r\n\r\n render() {\r\n const { leadOverview } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n ((!this.props.calculation.isValid && this.props.calculation.selectedCalculation === \"FoundationPlan\")) || (!this.props.calculation.paymentFoundationIsValid && this.props.calculation.selectedCalculation === \"PaymentPlan\") && \r\n \r\n \r\n
\r\n

Bij deze calculatie komt het saldo op enig moment onder het maximaal toelaatbare negatieve saldo.
U kunt het onderhoudsplan wel opslaan, maar u dient daarna contact op te nemen met het hoofdkantoor voor akkoord.

\r\n
\r\n
\r\n
\r\n }\r\n \r\n \r\n \r\n \r\n
\r\n

Commentaar

\r\n \r\n
\r\n
\r\n
\r\n {\r\n (this.checkValidSelectedCalculation(this.props.calculation)) &&\r\n \r\n \r\n
\r\n

Handtekening

\r\n this.sigPad = ref} />\r\n
\r\n
\r\n
\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n this.props.calculation.isValid && this.props.calculation.selectedCalculation === \"FoundationPlan\" && \r\n \r\n }\r\n {\r\n this.props.calculation.paymentFoundationIsValid && this.props.calculation.selectedCalculation === \"PaymentPlan\" &&\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\nfunction mapStateToProps(state) {\r\n const selectedHousingType = state.housingTypes.data.find(housingType => housingType.housingTypeId === state.housingTypes.selectedHousingTypeId);\r\n return {\r\n housingPlanData: state.housingPlanData,\r\n housingType: selectedHousingType,\r\n calculation: state.leadCalculation,\r\n customer: state.leadCustomers.selectedCustomer,\r\n userData: state.login.user,\r\n photoData: state.leadPhoto,\r\n repairs: state.leadConfirmation.repairs,\r\n leadOverview: state.leadOverview,\r\n selectedImplementation: state.selectedImplementation\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(LeadOverviewComponent);\r\nexport { connected as LeadOverviewComponent };","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport * as LeadCustomerAction from '../leadCustomer.Action';\r\n\r\nimport './customer.Style.css';\r\n\r\nclass CustomerComponent extends Component {\r\n\r\n handleSelectedCustomer(customer) {\r\n this.props.dispatch(LeadCustomerAction.storeSelectedCustomer(customer));\r\n history.push('/createLead/houseType');\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
this.handleSelectedCustomer(this.props.data)}>\r\n
\r\n \"users\"\r\n
\r\n
\r\n
this.handleSelectedCustomer(this.props.data)}>\r\n
\r\n
\r\n

{this.props.data.name}

\r\n

{this.props.data.street} {this.props.data.houseNumber} {this.props.data.houseNumberAddition}
{this.props.data.zippCode} {this.props.data.city}

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst connected = connect()(CustomerComponent);\r\nexport { connected as CustomerComponent };\r\n","import { responseHandler } from 'helpers/responseHandler';\r\nimport * as api from 'helpers/api.js';\r\nimport { authHeader } from 'helpers/authHeader';\r\nimport { leadCustomerConstants } from './leadCustomer.Constants';\r\n\r\nexport function getSearchResults(data) {\r\n return dispatch => {\r\n var auth = authHeader();\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: auth,\r\n body: JSON.stringify(data)\r\n };\r\n\r\n fetch(`${api.url()}Customer/SearchCustomer`, requestOptions).then(responseHandler)\r\n .then(data => {\r\n dispatch({ type: leadCustomerConstants.CUSTOMER_SEARCH_SUCCES, data });\r\n }).catch(function (error) {\r\n dispatch({ type: leadCustomerConstants.CUSTOMER_SEARCH_FAIL, error });\r\n });\r\n }\r\n}\r\n\r\nexport function storeSelectedCustomer(customer) {\r\n return dispatch => {\r\n dispatch({ type: leadCustomerConstants.CUSTOMER_SELECTED_SUCCES, data: customer });\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Button from '@material-ui/core/Button';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport { CustomerComponent } from './customer/customer.Component';\r\nimport * as LeadCustomerAction from './leadCustomer.Action';\r\n\r\nimport './leadCustomer.Style.css';\r\n\r\nclass LeadCustomerComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n lastname: '',\r\n zipcode: '',\r\n houseNumber: ''\r\n }\r\n\r\n this.handleLastName = this.handleLastName.bind(this);\r\n this.handleZipCode = this.handleZipCode.bind(this);\r\n this.handleHouseNumber = this.handleHouseNumber.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n handleNextButton() {\r\n history.push('/createLead/houseType');\r\n }\r\n\r\n handleLastName(event) {\r\n this.setState({\r\n lastname: event.target.value\r\n })\r\n }\r\n\r\n handleZipCode(event) {\r\n this.setState({\r\n zipcode: event.target.value\r\n });\r\n }\r\n\r\n handleHouseNumber(event) {\r\n this.setState({\r\n houseNumber: event.target.value\r\n });\r\n }\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n const { lastname, zipcode, houseNumber } = this.state;\r\n\r\n var data = {\r\n lastname: lastname,\r\n zipCode: zipcode,\r\n houseNumber: houseNumber,\r\n organizationId: this.props.loggedInUser.user.organizationId\r\n };\r\n\r\n if (data != null) {\r\n this.props.dispatch(LeadCustomerAction.getSearchResults(data));\r\n }\r\n }\r\n\r\n newCustomerBttn() {\r\n history.push('/createLead/customer/add');\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 \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.props.searchedCustomers != null ?
\r\n {\r\n this.props.searchedCustomers.map((item, i) => (\r\n \r\n ))\r\n }\r\n
\r\n : \r\n
\r\n Er zijn geen resultaten gevonden.\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\nfunction mapStateToProps(state) {\r\n return {\r\n searchedCustomers: state.leadCustomers.searchCustomers,\r\n loggedInUser: state.login\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(LeadCustomerComponent);\r\nexport { connected as LeadCustomerComponent };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Button from '@material-ui/core/Button';\r\nimport { authHeader } from 'helpers/authHeader';\r\nimport * as api from 'helpers/api.js';\r\nimport { HeaderComponent, TitleComponent } from 'components';\r\nimport * as LeadFinishAction from './leadFinish.Action';\r\nimport { ClipLoader } from 'react-spinners';\r\nimport { Editor } from '@tinymce/tinymce-react';\r\nimport { history } from 'helpers/history';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { headerConstants } from '../../../components/layout/header/header.Constants';\r\n\r\nimport './leadFinish.Style.css';\r\n\r\nclass LeadFinishComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n email: this.props.leadOverview.email,\r\n body: '',\r\n loading: false,\r\n sentMail: false\r\n }\r\n\r\n this.handleEmail = this.handleEmail.bind(this);\r\n this.handleBody = this.handleBody.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.home = this.home.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { leadOverview } = this.props;\r\n this.getEmailBody(leadOverview.leadId);\r\n }\r\n\r\n getEmailBody(leadId) {\r\n var header = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: header\r\n };\r\n\r\n fetch(`${api.url()}Mail/GetEmailBody/${leadId}`, requestOptions)\r\n .then(data => data.json())\r\n .then(mailBody => this.setState({ body: mailBody }));\r\n }\r\n\r\n handleEmail(e) {\r\n this.setState({\r\n email: e.target.value\r\n });\r\n }\r\n\r\n handleBody(value) {\r\n this.setState({\r\n body: value\r\n });\r\n }\r\n\r\n handleSubmit(e) {\r\n const { leadOverview, dispatch } = this.props;\r\n\r\n e.preventDefault();\r\n\r\n this.setState({\r\n loading: true\r\n })\r\n\r\n const { email, body } = this.state;\r\n var leadId = leadOverview.leadId;\r\n\r\n if (email && leadId > 0) {\r\n dispatch(LeadFinishAction.sendEmail(email, body, leadId))\r\n .then(() => {\r\n this.setState({ loading: false, sentMail: true });\r\n dispatch({ type: headerConstants.HARD_RESET });\r\n });\r\n }\r\n }\r\n\r\n home() {\r\n const { dispatch } = this.props;\r\n dispatch({ type: headerConstants.HARD_RESET });\r\n history.push('/home');\r\n }\r\n\r\n render() {\r\n const { email, body, sentMail } = this.state;\r\n const { leadOverview } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n !sentMail &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Bedankt, het onderhoudsplan is succesvol opgeslagen.

\r\n {\r\n this.props.leadOverview.selectedCalculationType === 200 && \r\n

Er wordt contact met u opgenomen wanneer de financiering akkoord is.

\r\n }\r\n {\r\n leadOverview.signed && \r\n \r\n \r\n
\r\n
\r\n
Email
\r\n \r\n
\r\n
\r\n
Bericht
\r\n {\r\n body && \r\n }\r\n
\r\n
\r\n
\r\n \r\n {\r\n body && \r\n }\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n } \r\n {\r\n sentMail &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {\r\n (sentMail || !leadOverview.signed) &&\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\nconst mapStateToProps = (state) => {\r\n return {\r\n leadOverview: state.leadOverview\r\n };\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(LeadFinishComponent);\r\nexport { connected as LeadFinishComponent };\r\n","import { authHeader } from 'helpers/authHeader';\r\nimport * as api from 'helpers/api.js';\r\nimport { responseHandler } from 'helpers/responseHandler';\r\nimport { leadFinishConstants } from './leadFinish.Constants';\r\n\r\nexport function sendEmail(email, body, leadId) {\r\n return dispatch => {\r\n\r\n var header = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: header,\r\n body: JSON.stringify({\r\n email: email,\r\n body: body,\r\n leadId: leadId\r\n })\r\n };\r\n\r\n return fetch(`${api.url()}Mail/SendEmailForFoundation`, requestOptions).then(responseHandler)\r\n .then(data => dispatch({ type: leadFinishConstants.MAIL_SUCCESS, data }))\r\n .catch(error => dispatch({ type: leadFinishConstants.MAIL_FAIL, error }));\r\n }\r\n}\r\n","import { leadHousingPlanConstants } from './leadHousingPlan.Constants';\r\n\r\nexport function storeHousingPlanData(data) {\r\n return dispatch => {\r\n dispatch({ type: leadHousingPlanConstants.STORE_HOUSINGPLANDATA, data });\r\n }\r\n}\r\n\r\nexport function reset() {\r\n return dispatch => {\r\n dispatch({ type: leadHousingPlanConstants.RESET_LEADHOUSINGPLAN });\r\n }\r\n}\r\n\r\nexport function getColumns(startYear, years) {\r\n var columns = [];\r\n\r\n var firstColumn = {\r\n name: 'overview',\r\n title: 'Overzicht'\r\n };\r\n\r\n columns.push(firstColumn);\r\n\r\n}\r\n\r\nexport function getColumnStyle(years) {\r\n var columns = [];\r\n\r\n var firstColumn = {\r\n columnName: 'overview',\r\n width: 400\r\n };\r\n\r\n columns.push(firstColumn);\r\n}\r\n","\r\nimport { leadHousingPlanConstants} from './leadHousingPlan.Constants';\r\n\r\nexport function changeAbboDurage(durage) { \r\n return dispatch => { \r\n dispatch(change(durage));\r\n function change(data) { return { type: leadHousingPlanConstants.HOUSING_PLAN_ABBODURAGE, data } }\r\n }\r\n}\r\n\r\nexport function changeAbboStartYear(startYear) {\r\n return dispatch => {\r\n dispatch(change(startYear));\r\n function change(data) { return { type: leadHousingPlanConstants.HOUSING_PLAN_STARTYEAR, data } }\r\n }\r\n}\r\n\r\n// Voordat de gehele bestek gevuld wordt. wordt hier de lijst geinitialiseerd. \r\n//Hierbij wordt gekeken naar de jaren, daarna de gevels en dan de elementen in een gevel.\r\nexport function initialHousingPlanData(startyear, totalYears, selectedHousingFaces, products, currentHousingPlanData) {\r\n var productSortList = getStaticProductSort(products);\r\n var housingPlanData = [];\r\n var year = startyear;\r\n var productYearCyclus = 0;\r\n\r\n // Als eerste, jaren. Op overzicht kan je per jaar gebruiken. \r\n for (var i = 0; i < totalYears; i++) {\r\n var currentYearData;\r\n if (currentHousingPlanData) {\r\n currentYearData = currentHousingPlanData[i];\r\n if (currentYearData) {\r\n currentYearData.year = startyear + i;\r\n }\r\n }\r\n\r\n if (currentYearData) {\r\n housingPlanData.push(currentYearData);\r\n }\r\n else {\r\n var currentProduct = productSortList[productYearCyclus];\r\n\r\n if (currentProduct != null) {\r\n var factor = currentProduct.factor;\r\n var minAmount = currentProduct.minAmount;\r\n\r\n var yearData = {\r\n year: year,\r\n yearTotalPrice: 0,\r\n correctionPrice: '',\r\n yearTotalPriceWithCorrection: 0,\r\n selectedProduct: currentProduct.abbreviation,\r\n selectedProductFactor: currentProduct.factor,\r\n selectedProductMinAmount: currentProduct.minAmount,\r\n selectedProductDescription: currentProduct.name,\r\n housingFaceData: []\r\n }\r\n\r\n var totalYearPrice = 0;\r\n\r\n // Daarna de gevels. \r\n for (var j = 0; j < selectedHousingFaces.length; j++) {\r\n var housingFace = selectedHousingFaces[j];\r\n\r\n var housingFaceData = {\r\n housingFaceId: housingFace.housingFace.housingFaceId,\r\n housingFaceTemplateId: housingFace.housingFace.housingFaceTemplateId,\r\n housingFaceName: housingFace.housingFace.name,\r\n housingFaceElements: []\r\n }\r\n\r\n var housingFaceTotalPrice = 0;\r\n\r\n // Daarna de elementen bij een gevel. \r\n for (var k = 0; k < housingFace.elements.length; k++) {\r\n var element = housingFace.elements[k];\r\n\r\n var elementTotalPrice = 0;\r\n for (var l = 0; l < element.elementImplementations.length; l++) {\r\n var price = element.elementImplementations[l].price * element.elementImplementations[l].count\r\n elementTotalPrice += price;\r\n }\r\n\r\n housingFaceTotalPrice += elementTotalPrice;\r\n var factorElementPrice = Math.round(elementTotalPrice * factor);\r\n\r\n var housingElement = {\r\n housingElementId: element.housingElementId,\r\n housingElementName: element.housingElementName,\r\n housingElementTemplateId: element.housingElementTemplateId,\r\n housingElementTotalPrice: elementTotalPrice,\r\n housingElementFactorPrice: factorElementPrice,\r\n housingElementSelectedProduct: currentProduct.abbreviation,\r\n housingElementSelectedProductFactor: currentProduct.factor,\r\n housingElementSelectedProductMinAmount: currentProduct.minAmount,\r\n housingElementProductDescription: currentProduct.name\r\n }\r\n housingFaceData.housingFaceElements.push(housingElement);\r\n }\r\n yearData.housingFaceData.push(housingFaceData);\r\n\r\n totalYearPrice += housingFaceTotalPrice;\r\n }\r\n\r\n yearData.yearTotalPrice = Math.max(totalYearPrice, minAmount);\r\n\r\n housingPlanData.push(yearData);\r\n }\r\n }\r\n\r\n if (productYearCyclus === productSortList.length - 1) {\r\n productYearCyclus = -1;\r\n }\r\n ++productYearCyclus;\r\n\r\n ++year;\r\n }\r\n\r\n return housingPlanData;\r\n}\r\n\r\n// Wanneer in overzicht een product bij een bepaald jaar wordt gewijzigd.\r\nexport function changingProductsByHouseYear(yearPlanData, product) {\r\n if (yearPlanData[0] != null && product != null) {\r\n yearPlanData[0].selectedProduct = product.abbreviation;\r\n yearPlanData[0].selectedProductDescription = product.name;\r\n yearPlanData[0].selectedProductFactor = product.factor;\r\n yearPlanData[0].selectedProductMinAmount = product.minAmount;\r\n\r\n for (var i = 0; i < yearPlanData[0].housingFaceData.length; i++) {\r\n var housingFace = yearPlanData[0].housingFaceData[i];\r\n\r\n for (var j = 0; j < housingFace.housingFaceElements.length; j++) {\r\n var faceElement = housingFace.housingFaceElements[j];\r\n faceElement.housingElementSelectedProduct = product.abbreviation;\r\n faceElement.housingElementProductDescription = product.name;\r\n faceElement.housingElementSelectedProductFactor = product.factor;\r\n faceElement.housingElementSelectedProductMinAmount = product.minAmount;\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Calculatie proces. \r\nexport function calculatePrices(housingData) {\r\n var hardMinimum = 75; // Prices may never be less than this number!!!\r\n for (var i = 0; i < housingData.length; i++) {\r\n var yearTotalPrice = 0;\r\n var minAmount = 0;\r\n\r\n for (var j = 0; j < housingData[i].housingFaceData.length; j++) {\r\n var housingFace = housingData[i].housingFaceData[j];\r\n\r\n for (var k = 0; k < housingFace.housingFaceElements.length; k++) {\r\n var faceElement = housingFace.housingFaceElements[k];\r\n var factor = faceElement.housingElementSelectedProductFactor;\r\n minAmount = Math.max(faceElement.housingElementSelectedProductMinAmount);\r\n\r\n var newFactorPrice = Math.round(faceElement.housingElementTotalPrice * factor);\r\n faceElement.housingElementFactorPrice = newFactorPrice;\r\n\r\n yearTotalPrice += newFactorPrice;\r\n }\r\n }\r\n\r\n housingData[i].yearTotalPrice = Math.max(yearTotalPrice, minAmount);\r\n if (housingData[i].yearTotalPrice < hardMinimum) {\r\n housingData[i].yearTotalPrice = hardMinimum;\r\n }\r\n housingData[i].yearTotalPriceWithCorrection = housingData[i].yearTotalPrice + (housingData[i].correctionPrice === '' ? 0 : Number(housingData[i].correctionPrice));\r\n if (housingData[i].yearTotalPriceWithCorrection < hardMinimum) {\r\n housingData[i].yearTotalPriceWithCorrection = hardMinimum;\r\n }\r\n }\r\n}\r\n\r\n// Dit is een default lijstje die wordt gebruikt bij het initialiseren van de lijst. \r\nexport function getStaticProductSort(products) {\r\n var productSort = [];\r\n\r\n if (products.length > 0) {\r\n var HER = products.filter((e) => e.abbreviation === \"HER\");\r\n var INSP = products.filter((e) => e.abbreviation === \"INSP\");\r\n var OHB = products.filter((e) => e.abbreviation === \"OHB\");\r\n\r\n productSort.push(HER[0]);\r\n productSort.push(INSP[0]);\r\n productSort.push(INSP[0]);\r\n productSort.push(OHB[0]);\r\n productSort.push(INSP[0]);\r\n productSort.push(INSP[0]);\r\n }\r\n\r\n return productSort;\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport Select from '@material-ui/core/Select';\r\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\n\r\nimport * as HousingPlanAction from '../leadHousingPlan.Action';\r\nimport * as HousingPlanCalculationAction from '../leadHousingPlanCalculation.Action';\r\nimport * as HousingPlanOverviewAction from './overviewHousingPlan.Action';\r\n\r\nimport './overviewHousingPlan.Style.css';\r\n\r\nclass OverviewHousingPlanComponent extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n durageYear: this.props.housingPlanData.housingPlanDurage,\r\n startYear: this.props.housingPlanData.housingPlanStart,\r\n\r\n durageMessage: '',\r\n showDurageMessage: false,\r\n startYearMessage: '',\r\n showStartYearMessage: false\r\n }\r\n\r\n this.handleCorrection = this.handleCorrection.bind(this);\r\n this.handleProductChangeByYear = this.handleProductChangeByYear.bind(this);\r\n\r\n this.handleAbboDurage = this.handleAbboDurage.bind(this);\r\n this.handleAbboDurageApply = this.handleAbboDurageApply.bind(this);\r\n this.handleAbboStartYear = this.handleAbboStartYear.bind(this);\r\n this.handleAbboStartYearApply = this.handleAbboStartYearApply.bind(this);\r\n }\r\n\r\n addCorrection(amount, year) {\r\n const housingPlanYear = this.props.housingPlanData.housingPlanData.find(item => item.year === year);\r\n const currentCorrection = housingPlanYear.correctionPrice === \"\" ? 0 : Number(housingPlanYear.correctionPrice);\r\n\r\n this.handleCorrection(amount + currentCorrection, year);\r\n }\r\n\r\n handleCorrection(amount, year) {\r\n HousingPlanOverviewAction.handlePriceCorrection(year, this.props.housingPlanData.housingPlanData, amount);\r\n this.props.dispatch(HousingPlanAction.storeHousingPlanData(this.props.housingPlanData.housingPlanData));\r\n }\r\n\r\n handleProductChangeByYear(event, year) {\r\n var productAbb = event.target.value;\r\n var product = this.props.products.find((e) => e.abbreviation === productAbb);\r\n var yearPlanData = this.props.housingPlanData.housingPlanData.filter((e) => e.year === parseInt(year));\r\n\r\n HousingPlanCalculationAction.changingProductsByHouseYear(yearPlanData, product);\r\n HousingPlanCalculationAction.calculatePrices(this.props.housingPlanData.housingPlanData);\r\n this.props.dispatch(HousingPlanAction.storeHousingPlanData(this.props.housingPlanData.housingPlanData));\r\n }\r\n\r\n handleAbboDurage(event) {\r\n var durage = parseInt(event.target.value);\r\n if (!isNaN(durage)){\r\n this.setState({\r\n durageYear: durage\r\n });\r\n }\r\n }\r\n\r\n handleAbboDurageApply() {\r\n if (this.state.durageYear >= 5 && this.state.durageYear <= 30) {\r\n this.props.dispatch(HousingPlanCalculationAction.changeAbboDurage(this.state.durageYear));\r\n\r\n this.setState({\r\n durageMessage: 'Bestek is veranderd naar ' + this.state.durageYear + ' jaren',\r\n showDurageMessage: true,\r\n durageYear: this.state.durageYear\r\n });\r\n } else {\r\n this.setState({\r\n durageMessage: 'LET OP: Minimum jaren is 5 en maximum aantal jaren is 30. Pas dit aan.',\r\n showDurageMessage: true\r\n });\r\n }\r\n }\r\n\r\n handleAbboStartYear(event) {\r\n let startYear = parseInt(event.target.value);\r\n if (!isNaN(startYear)){\r\n this.setState({\r\n startYear: startYear\r\n });\r\n }\r\n }\r\n\r\n handleAbboStartYearApply() {\r\n if (this.state.startYear >= 2000) {\r\n this.props.dispatch(HousingPlanCalculationAction.changeAbboStartYear(this.state.startYear));\r\n\r\n this.setState({\r\n startYearMessage: 'Startjaar is veranderd naar ' + this.state.startYear,\r\n showStartYearMessage: true,\r\n startYear: this.state.startYear\r\n }); \r\n } else {\r\n this.setState({\r\n startYearMessage: 'LET OP: Het startjaar moet na 2000 zijn.',\r\n showStartYearMessage: true\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n var totalPrice = HousingPlanOverviewAction.getTotalPrice(this.props.housingPlanData.housingPlanData);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Jaartal\r\n Basis\r\n Correctie\r\n Totaal\r\n Wijzig product\r\n \r\n \r\n \r\n {\r\n this.props.housingPlanData.housingPlanData.map((item, i) => (\r\n \r\n \r\n {item.year}\r\n \r\n \r\n € {item.yearTotalPrice.toFixed(2)}\r\n \r\n \r\n \r\n \r\n this.handleCorrection(e.target.value, item.year)}\r\n /> \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n € { item.yearTotalPriceWithCorrection.toFixed(2) }\r\n \r\n \r\n \r\n }\r\n onChange={(val) => this.handleProductChangeByYear(val, item.year)}\r\n >\r\n \r\n None\r\n \r\n {\r\n this.props.products.map((product, i) => (\r\n {product.abbreviation}\r\n ))\r\n }\r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n Totaal\r\n € {totalPrice.toFixed(2)}\r\n \r\n \r\n \r\n
\r\n\r\n

Startjaar wijzigen

\r\n \r\n \r\n this.handleAbboStartYear(e)} autoComplete=\"off\" />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.showStartYearMessage ?
{this.state.startYearMessage}
:
\r\n }\r\n
\r\n
\r\n\r\n

Abonnementsduur wijzigen

\r\n \r\n \r\n this.handleAbboDurage(e)} autoComplete=\"off\" />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.showDurageMessage ?
{this.state.durageMessage}
:
\r\n }\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n products: state.products.products,\r\n selectedHousingData: state.housingTypeData,\r\n housingPlanData: state.housingPlanData\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(OverviewHousingPlanComponent);\r\nexport { connected as OverviewHousingPlanComponent };\r\n\r\n\r\n\r\n","export function handlePriceCorrection(year, housingPlanData, correctionPrice) {\r\n var yearPlanData = housingPlanData.find((e) => e.year === parseInt(year));\r\n var hardMinimum = 75; // Prices may never be less than this number!!!\r\n if (yearPlanData != null) {\r\n if(yearPlanData.yearTotalPrice + Number(correctionPrice) < hardMinimum) {\r\n // User inserted an invalid correcion\r\n yearPlanData.yearTotalPriceWithCorrection = yearPlanData.yearTotalPrice\r\n yearPlanData.correctionPrice = 0;\r\n } else {\r\n yearPlanData.yearTotalPriceWithCorrection = yearPlanData.yearTotalPrice + Number(correctionPrice);\r\n yearPlanData.correctionPrice = correctionPrice;\r\n }\r\n }\r\n}\r\n\r\nexport function getTotalPrice(housingPlanData) {\r\n var totalPrice = 0;\r\n\r\n for (var i = 0; i < housingPlanData.length; i++) {\r\n totalPrice += Number(housingPlanData[i].yearTotalPriceWithCorrection);\r\n }\r\n\r\n return totalPrice;\r\n}\r\n","import React from 'react';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Select from '@material-ui/core/Select';\r\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\n\r\n// Bij het wijzigen van een product bij een gevel of element. \r\nexport function changehousingDataProducts(yearPlanData, selectedCells, selectedHousingFace, product) {\r\n if (yearPlanData.length > 0) {\r\n for (var i = 0; i < yearPlanData[0].housingFaceData.length; i++) {\r\n var housingFace = yearPlanData[0].housingFaceData[i];\r\n \r\n if (housingFace.housingFaceId === selectedHousingFace.housingFace.housingFaceId) {\r\n // Elementen wijzigen die hierin zitten EN geselecteerd zijn. \r\n\r\n for (var j = 0; j < housingFace.housingFaceElements.length; j++) {\r\n var housingElement = housingFace.housingFaceElements[j];\r\n\r\n for (var k = 0; k < selectedCells.length; k++) {\r\n var cell = selectedCells[k];\r\n\r\n if (housingElement.housingElementId === cell.housingElementId) {\r\n housingElement.housingElementSelectedProduct = product.abbreviation;\r\n housingElement.housingElementSelectedProductFactor = product.factor;\r\n housingElement.housingElementSelectedProductMinAmount = product.minAmount;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Alle elementen in de bestek overzicht worden horizontaal getoond in de header.\r\nexport function leadHeaderColumns(elements) {\r\n var columns = [];\r\n\r\n for (var i = 0; i < elements.length; i++) {\r\n var element = elements[i];\r\n\r\n if (element) {\r\n columns.push(\r\n {elements[i].housingElementName}\r\n )\r\n }\r\n }\r\n return columns;\r\n}\r\n\r\nexport function loadDropdowns(startYear, totalYears, products, handleYearDropdown) {\r\n var rows = [];\r\n\r\n var year = startYear;\r\n for (var i = 0; i < totalYears; i++) {\r\n rows.push(\r\n \r\n \r\n \r\n }\r\n onChange={((val) => handleYearDropdown(val))}\r\n >\r\n \r\n None\r\n \r\n {\r\n products.map((product, i) => (\r\n {product.abbreviation}\r\n ))\r\n }\r\n \r\n \r\n \r\n )\r\n year++;\r\n }\r\n\r\n return rows;\r\n}\r\n\r\nexport function loadYears(startYear, totalYears, yearHandler) {\r\n var rows = [];\r\n\r\n var year = startYear;\r\n for (var i = 0; i < totalYears; i++) {\r\n rows.push(\r\n \r\n yearHandler(e)}>\r\n {year}\r\n \r\n \r\n )\r\n year++;\r\n }\r\n\r\n return rows;\r\n}\r\n\r\nexport function loadGrid(startYear, totalYears, elements, housingPlanData, selectedHousingFace, handleSelectCell, selectedCells) {\r\n var rows = [];\r\n var year = 0;\r\n\r\n const findHousingPlanElement = (year, housingElementId) => { \r\n var selectedHousingPlanYear = housingPlanData.find((e) => e.year === year);\r\n if(selectedHousingPlanYear) {\r\n var selectedHousingFaceData = selectedHousingPlanYear.housingFaceData.find((e) => e.housingFaceId === selectedHousingFace.housingFaceId);\r\n return selectedHousingFaceData.housingFaceElements.find((e) => e.housingElementId === housingElementId);\r\n }\r\n return selectedHousingFaceData;\r\n }\r\n \r\n const isSelected = (year, housingElementId) => selectedCells.filter(cell => cell.year === year.toString() && cell.housingElementId === housingElementId).length > 0;\r\n\r\n const createCell = (item, i) => {\r\n var housingPlanElement = findHousingPlanElement(startYear + year, item.housingElementId);\r\n if(housingPlanElement) {\r\n return handleSelectCell(e, item)}>\r\n {housingPlanElement.housingElementSelectedProduct}\r\n \r\n }\r\n return <>;\r\n };\r\n\r\n for (year = 0; year < totalYears; year++) {\r\n rows.push(\r\n \r\n {\r\n elements.map(createCell)\r\n }\r\n \r\n )\r\n }\r\n\r\n return rows;\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport * as EditHousingPlanAction from './editHousingPlan.Action';\r\nimport * as HousingPlanAction from '../leadHousingPlan.Action';\r\nimport * as HousingPlanCalculations from '../leadHousingPlanCalculation.Action';\r\n\r\nclass EditHousingPlanComponent extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n selectedCells: []\r\n }\r\n\r\n this.handleSelectCell = this.handleSelectCell.bind(this);\r\n this.handleProductChange = this.handleProductChange.bind(this);\r\n this.handleSelectedYear = this.handleSelectedYear.bind(this);\r\n }\r\n\r\n // Wanneer een cell geselecteerd wordt, dan toevoegen aan de geselecteerde cells. \r\n handleSelectCell(event, element) {\r\n var yearSelected = event.target.id;\r\n var cellState = this.state.selectedCells;\r\n\r\n // 1. Kijk in de state of er andere jaren inzitten, zoja? Dan state leeg maken en alleen dit jaar. \r\n var elementsOtherYear = cellState.filter((item) => item.year !== yearSelected);\r\n\r\n if (elementsOtherYear.length > 0) {\r\n cellState.splice(elementsOtherYear, elementsOtherYear.length);\r\n }\r\n\r\n // 2. Kijk of cell al geselecteerd is, zoja? Dan weghalen. \r\n var selectedCell = cellState.find((item) => item.housingElementId === element.housingElementId);\r\n\r\n if (selectedCell) {\r\n cellState.splice(selectedCell, 1);\r\n }\r\n else {\r\n var cell = {\r\n housingElementId: element.housingElementId,\r\n year: yearSelected\r\n }\r\n\r\n cellState.push(cell);\r\n }\r\n\r\n this.setState({\r\n selectedCells: cellState\r\n });\r\n }\r\n\r\n handleSelectedYear(event) {\r\n if (this.props.housingFaceSelectedData) {\r\n var elements = this.props.housingFaceSelectedData.elements;\r\n var yearSelected = event.target.id;\r\n\r\n var cells = [];\r\n \r\n for (var i = 0; i < elements.length; i++) {\r\n var cell = {\r\n housingElementId: elements[i].housingElementId,\r\n year: yearSelected\r\n }\r\n cells.push(cell);\r\n }\r\n \r\n this.setState({\r\n selectedCells: cells\r\n });\r\n }\r\n }\r\n\r\n handleProductChange(event) {\r\n var projectAbb = event.target.value;\r\n var year = event.target.name;\r\n\r\n var product = this.props.products.filter((e) => e.abbreviation === projectAbb);\r\n var yearPlanData = this.props.housingPlanData.filter((e) => e.year === parseInt(year));\r\n var selectedCells = this.state.selectedCells;\r\n\r\n EditHousingPlanAction.changehousingDataProducts(yearPlanData, selectedCells, this.props.housingFaceSelectedData, product[0]);\r\n\r\n // Erna de geselecteerde cells weer leegmaken. \r\n this.setState({\r\n selectedCells: []\r\n });\r\n\r\n HousingPlanCalculations.calculatePrices(this.props.housingPlanData);\r\n this.props.dispatch(HousingPlanAction.storeHousingPlanData(this.props.housingPlanData));\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 Jaar\r\n \r\n \r\n \r\n \r\n {EditHousingPlanAction.loadYears(this.props.startYear, this.props.totalYears, this.handleSelectedYear)}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {EditHousingPlanAction.leadHeaderColumns(this.props.housingFaceSelectedData.elements)}\r\n \r\n \r\n \r\n {EditHousingPlanAction.loadGrid(this.props.startYear, this.props.totalYears, this.props.housingFaceSelectedData.elements, this.props.housingPlanData, this.props.housingFaceSelectedData.housingFace, this.handleSelectCell, this.state.selectedCells)}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Wijzig product\r\n \r\n \r\n \r\n \r\n {EditHousingPlanAction.loadDropdowns(this.props.startYear, this.props.totalYears, this.props.products, this.handleProductChange)}\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n housingTypeData: state.selectedImplementation.filteredHousingFaces,\r\n products: state.products.products,\r\n housingPlanData: state.housingPlanData.housingPlanData\r\n }\r\n}\r\n\r\nconst connected = connect(mapStateToProps)(EditHousingPlanComponent);\r\nexport { connected as EditHousingPlanComponent };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\n\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { OverviewHousingPlanComponent } from './overview/overviewHousingPlan.Component';\r\nimport { EditHousingPlanComponent } from './edit/editHousingPlan.Component';\r\n\r\nimport * as LeadHousingPlanAction from './leadHousingPlan.Action';\r\nimport * as HousingPlanCalculationAction from './leadHousingPlanCalculation.Action';\r\n\r\nimport QuestionBox from '../../../components/questionBox/questionBox.Component';\r\n\r\nimport './leadHousingPlan.Style.css';\r\n\r\nfunction TabContainer(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nTabContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nclass LeadHousingPlanComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n headValue: 0,\r\n showBackModal: false\r\n }\r\n\r\n this.handleHeadTabChange = this.handleHeadTabChange.bind(this);\r\n this.loadData = this.loadData.bind(this);\r\n\r\n this.handleBack = this.handleBack.bind(this);\r\n this.handleBackQuestion = this.handleBackQuestion.bind(this);\r\n this.handleBackQuestionClose = this.handleBackQuestionClose.bind(this);\r\n }\r\n\r\n handleBackQuestion(e) {\r\n this.setState({showBackModal: true});\r\n }\r\n\r\n handleBack(e) {\r\n this.props.dispatch(LeadHousingPlanAction.reset());\r\n history.goBack();\r\n }\r\n\r\n handleBackQuestionClose(e) {\r\n this.setState({showBackModal: false});\r\n }\r\n\r\n handleNextButton() {\r\n history.push('/createLead/photo');\r\n }\r\n\r\n componentDidMount() {\r\n // If somewent back to this page we don't want to reload everything because nothing can be changed after this page.\r\n if(history.action === \"PUSH\") {\r\n this.loadData(this.props.housingPlanData.housingPlanDurage);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if(prevProps.housingPlanData.housingPlanStart !== this.props.housingPlanData.housingPlanStart || \r\n prevProps.housingPlanData.housingPlanDurage !== this.props.housingPlanData.housingPlanDurage){\r\n this.loadData(this.props.housingPlanData.housingPlanDurage, this.props.housingPlanData.housingPlanData);\r\n }\r\n }\r\n\r\n loadData(planDurage, currentHousingPlanData) {\r\n var data = HousingPlanCalculationAction.initialHousingPlanData(this.props.housingPlanData.housingPlanStart, planDurage, this.props.selectedHousingFaces, this.props.products, currentHousingPlanData);\r\n \r\n HousingPlanCalculationAction.calculatePrices(data);\r\n this.props.dispatch(LeadHousingPlanAction.storeHousingPlanData(data));\r\n }\r\n\r\n handleHeadTabChange = (event, value) => {\r\n this.setState({\r\n headValue: value\r\n });\r\n };\r\n\r\n render() {\r\n const { headValue } = this.state;\r\n\r\n var jsxToLoad;\r\n\r\n if(this.props.selectedHousingFaces.length !== 0){\r\n jsxToLoad =
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n this.state.showBackModal && \r\n <>\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.props.selectedHousingFaces.map((row, i) => (\r\n \r\n ))\r\n }\r\n \r\n {headValue === 0 && }\r\n {\r\n this.props.selectedHousingFaces.map((row, i) => (\r\n headValue === (i + 1) && \r\n ))\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n this.handleNextButton()}> Volgende \"next\" \r\n
\r\n
\r\n
;\r\n } else if(this.props.selectedHousingFaces.length === 0) {\r\n jsxToLoad =
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

U heeft geen gevelinformatie opgegeven, ga terug naar de vorige pagina om deze alsnog op te geven.

\r\n
\r\n
\r\n \r\n
;\r\n }\r\n\r\n return (\r\n jsxToLoad \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n selectedHousingFaces: state.selectedImplementation.filteredHousingFaces,\r\n housingPlanData: state.housingPlanData,\r\n products: state.products.products\r\n }\r\n}\r\n\r\nconst connectedLeadBestekComponent = connect(mapStateToProps)(LeadHousingPlanComponent);\r\nexport { connectedLeadBestekComponent as LeadHousingPlanComponent };","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport { Link } from 'react-router-dom'\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport './customerAdd.Style.css';\r\n\r\nclass CustomerAddComponent extends Component {\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 \"business\"\r\n

Zakelijk

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \"customer\"\r\n

Particulier

\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\nconst connected = connect()(CustomerAddComponent);\r\nexport { connected as CustomerAddComponent };\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { history } from 'helpers/history';\r\nimport Button from '@material-ui/core/Button';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Select from '@material-ui/core/Select';\r\nimport QuestionBox from '../../../../../components/questionBox/questionBox.Component';\r\nimport { ClipLoader } from 'react-spinners';\r\n\r\nimport * as CustomerAddAction from '../customerAdd.Action';\r\n\r\nimport './create.Style.css';\r\n\r\nclass CreateCustomerComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n companyName: '',\r\n companyContactName: '',\r\n personBegin: 0,\r\n initials: '',\r\n personInsert: '',\r\n personName: '',\r\n email: '',\r\n phoneLine: '',\r\n phoneNumber: '',\r\n street: '',\r\n zipCode: '',\r\n houseNumber: '',\r\n houseNumberAddition: '',\r\n city: '',\r\n\r\n error: [],\r\n isLoading: false\r\n }\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.validate = this.validate.bind(this);\r\n this.onQuestionBoxClose = this.onQuestionBoxClose.bind(this);\r\n this.onQuestionBoxSubmit = this.onQuestionBoxSubmit.bind(this);\r\n this.submit = this.submit.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n if(this.state.isLoading) {\r\n this.setState({isLoading: false});\r\n }\r\n }\r\n\r\n handleBack() {\r\n history.goBack();\r\n }\r\n\r\n submit(){\r\n const { companyName, companyContactName, initials, personBegin, personInsert, personName, email, phoneNumber, phoneLine, street, zipCode, houseNumber, houseNumberAddition, city } = this.state;\r\n\r\n const capitalizeAll = (s) => {\r\n if (s !== null && typeof s !== 'string') return ''\r\n return s.toUpperCase()\r\n }\r\n\r\n const capitalize = (s) => {\r\n if (s !== null && typeof s !== 'string') return ''\r\n return s.charAt(0).toUpperCase() + s.slice(1)\r\n }\r\n \r\n if (((companyName && companyContactName) || personName) && street && zipCode && city) {\r\n var formData = {\r\n customerOption: this.props.match.params.id,\r\n companyName: companyName,\r\n companyContactPerson: companyContactName,\r\n initials: capitalizeAll(initials),\r\n personBegin: personBegin,\r\n personInsert: personInsert,\r\n personName: capitalize(personName),\r\n email: email,\r\n phoneNumber: phoneNumber,\r\n phoneLine: phoneLine,\r\n street: street,\r\n zipCode: zipCode,\r\n houseNumber: houseNumber,\r\n houseNumberAddition: houseNumberAddition,\r\n city: city,\r\n organizationId: this.props.loggedInUser.organizationId\r\n }\r\n\r\n this.props.dispatch(CustomerAddAction.AddCustomer(formData));\r\n this.setState({ isLoading: true});\r\n }\r\n }\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n \r\n let isValid = this.validate();\r\n if(!isValid){\r\n return;\r\n }\r\n\r\n this.submit();\r\n }\r\n\r\n handleChange(e) {\r\n const { name, value } = e.target;\r\n\r\n this.setState({ [name]: value });\r\n }\r\n\r\n validate() {\r\n let missingInformation = [];\r\n const isBusiness = (this.props.match.params.id === \"1\");\r\n const { companyName, companyContactName, initials, personName, email, phoneNumber, phoneLine, street, zipCode, houseNumber, city } = this.state;\r\n if (isBusiness) {\r\n if(!companyContactName) {\r\n missingInformation.push(\"Contactgegevens bedrijf (verplicht)\");\r\n }\r\n if(!companyName) {\r\n missingInformation.push(\"Bedrijfsnaam (verplicht)\");\r\n }\r\n } else {\r\n if(!personName) {\r\n missingInformation.push(\"Achternaam (verplicht)\");\r\n }\r\n if(!initials) {\r\n missingInformation.push(\"Initialen\");\r\n }\r\n }\r\n\r\n if(!email) {\r\n missingInformation.push(\"E-mailadres\");\r\n }\r\n\r\n if(!phoneNumber && !phoneLine) {\r\n missingInformation.push(\"(Mobiel)telefoonnummer\");\r\n }\r\n\r\n if(!street) {\r\n missingInformation.push(\"Straat (verplicht)\");\r\n }\r\n\r\n if(!zipCode) {\r\n missingInformation.push(\"Postcode (verplicht)\");\r\n }\r\n\r\n if(!houseNumber) {\r\n missingInformation.push(\"Huisnummer\");\r\n }\r\n\r\n if(!city) {\r\n missingInformation.push(\"Plaats (verplicht)\");\r\n }\r\n if(missingInformation.length != 0){\r\n this.setState({\"error\": missingInformation});\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onQuestionBoxClose() {\r\n this.setState({\"error\": []});\r\n }\r\n\r\n onQuestionBoxSubmit() {\r\n this.setState({\"error\": []});\r\n this.submit();\r\n }\r\n\r\n render() {\r\n const { error, initials, companyName, companyContactName, personBegin, personInsert, personName, email, phoneNumber, phoneLine, street, zipCode, houseNumber, houseNumberAddition, city } = this.state;\r\n const isBusiness = (this.props.match.params.id === \"1\");\r\n\r\n return
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n isBusiness ? : \r\n }\r\n
\r\n
\r\n {\r\n error.length > 0 && \r\n \r\n }\r\n \r\n \r\n
\r\n \r\n {\r\n isBusiness ?
\r\n

Bedrijf

\r\n\r\n \r\n \r\n
\r\n
Bedrijfsnaam*
\r\n \r\n
\r\n
\r\n
Contactpersoon*
\r\n \r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n

Relatie

\r\n\r\n \r\n \r\n
\r\n
Aanhef
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Initialen
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Tussenvoegsel
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Achternaam
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n }\r\n\r\n

Contact

\r\n\r\n \r\n \r\n
\r\n
Telefoonnummer
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Mobiel
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
Email
\r\n \r\n
\r\n\r\n

Adres

\r\n \r\n \r\n
\r\n
Straat*
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Huisnummer
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Toevoeging
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
Postcode*
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Plaats*
\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\nfunction mapStateToProps(state) {\r\n return {\r\n loggedInUser: state.login.user\r\n }\r\n}\r\n\r\n\r\nconst connected = connect(mapStateToProps)(CreateCustomerComponent);\r\nexport { connected as CreateCustomerComponent };\r\n\r\n","import { authHeader } from 'helpers/authHeader';\r\nimport * as api from 'helpers/api.js';\r\nimport { responseHandler } from 'helpers/responseHandler';\r\nimport { customerAddConstants } from './customeradd.Constants';\r\nimport { history } from 'helpers/history';\r\nimport React from 'react';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\n\r\nexport function AddCustomer(data) {\r\n return dispatch => {\r\n var header = authHeader();\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: header,\r\n body: JSON.stringify(data)\r\n };\r\n\r\n fetch(`${api.url()}Customer/SaveCustomer`, requestOptions).then(responseHandler)\r\n .then(data => {\r\n dispatch({ type: customerAddConstants.ADD_CUSTOMER_SUCCESS, data });\r\n history.replace('/createLead/houseType');\r\n }).catch(function (error) {\r\n alert(\"Er ging iets mis met opslaan van een klant\");\r\n dispatch({ type: customerAddConstants.ADD_CUSTOMER_FAIL, error } );\r\n });\r\n }\r\n}\r\n\r\nexport function loadPersonBegin() {\r\n var rows = [];\r\n\r\n let personBegins = [\r\n { id: 0, name: '' },\r\n { id: 1, name: 'Dhr.' },\r\n { id: 2, name: 'Mevr.' }\r\n ]\r\n\r\n for (var i = 0; i < personBegins.length; i++) {\r\n rows.push(\r\n {personBegins[i].name}\r\n )\r\n }\r\n\r\n return rows;\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Grid, Paper } from '@material-ui/core';\r\nimport * as api from 'helpers/api.js';\r\nimport ImageUploader from 'react-images-upload';\r\nimport Resizer from \"react-image-file-resizer\";\r\nimport { connect } from 'react-redux';\r\nimport { addPhoto, updatePhotoDescription, deletePhoto, resetPhotos } from './photoPanel.Action';\r\nimport './photoPanel.Style.css';\r\nimport QuestionBox from '../../../../components/questionBox/questionBox.Component';\r\n\r\nclass PhotoPanelPhotoComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onDrop = this.onDrop.bind(this);\r\n this.uploadFile = this.uploadFile.bind(this);\r\n this.updateDescription = this.updateDescription.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.handleErrorClose = this.handleErrorClose.bind(this);\r\n\r\n this.state = {\r\n uploadKey: 1,\r\n showErrorMessage: false\r\n };\r\n }\r\n\r\n uploadFile(file) {\r\n const { leadPhoto, category, resetPhotos, addPhoto } = this.props;\r\n const { uploadKey } = this.state;\r\n\r\n if (!leadPhoto.tempId) {\r\n resetPhotos();\r\n }\r\n\r\n var fileName = file.name;\r\n if (fileName === \"image.jpg\") {\r\n // photo taken by camera on IOS is always named \"image.jpg\"\r\n // rename the file so we can take more than one photo\r\n var index = 1;\r\n const checkName = photo => photo.name === `camera_${index}.jpg`;\r\n while (leadPhoto.photos.find(checkName)) {\r\n index++;\r\n }\r\n\r\n fileName = `camera_${index}.jpg`;\r\n }\r\n\r\n if (!leadPhoto.photos.find(photo => photo.name === fileName)) {\r\n Resizer.imageFileResizer(\r\n file, // the file from input\r\n 1024, // width\r\n 1024, // height\r\n \"JPEG\", // compress format WEBP, JPEG, PNG\r\n 70, // quality\r\n 0, // rotation\r\n blob => {\r\n const image = blob.size < file.size ? blob : file;\r\n\r\n let formData = new FormData();\r\n formData.append(\"name\", fileName); // we cannot change the name of the file object, so we send the name we want to use in an extra form field\r\n formData.append(\"file\", image);\r\n\r\n const user = JSON.parse(localStorage.getItem('user'));\r\n const headers = {\r\n 'Authorization': 'Bearer ' + user.token,\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'DELETE, POST, GET, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With',\r\n };\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: headers,\r\n body: formData\r\n };\r\n\r\n fetch(`${api.url()}Photo/UploadPhoto/${leadPhoto.tempId}`, requestOptions).then(response => {\r\n if (response.ok) {\r\n return response.blob();\r\n }\r\n }).then(result => {\r\n const photo = {\r\n name: fileName,\r\n category: category,\r\n contentType: file.type,\r\n data: window.URL.createObjectURL(result)\r\n };\r\n\r\n addPhoto(photo);\r\n }).catch(() => {\r\n this.setState({\r\n showErrorMessage: true\r\n });\r\n });\r\n },\r\n \"blob\" // blob or base64 default base64\r\n );\r\n }\r\n\r\n this.setState({ uploadKey: uploadKey + 1 });\r\n }\r\n\r\n onDrop(photos) {\r\n [].forEach.call(photos, this.uploadFile);\r\n }\r\n\r\n updateDescription(e, photo) {\r\n const { updatePhotoDescription } = this.props;\r\n\r\n photo.description = e.target.value;\r\n updatePhotoDescription(photo);\r\n }\r\n\r\n delete(photo) {\r\n const { deletePhoto } = this.props;\r\n\r\n window.URL.revokeObjectURL(photo.data);\r\n deletePhoto(photo);\r\n }\r\n\r\n handleErrorClose(){\r\n this.setState({\r\n showErrorMessage: false\r\n });\r\n }\r\n\r\n render() {\r\n const { category, leadPhoto } = this.props;\r\n const { uploadKey } = this.state;\r\n\r\n return (\r\n \r\n {\r\n this.state.showErrorMessage &&\r\n \r\n }\r\n
{category}
\r\n \r\n \r\n \r\n \r\n {leadPhoto && leadPhoto.photos.map(photo =>\r\n photo.category === category &&\r\n \r\n
\r\n {photo.data && {photo.name}}\r\n
\r\n
\r\n {photo.name}\r\n
\r\n
\r\n this.updateDescription(e, photo)} />\r\n
\r\n
this.delete(photo)}>
\r\n
\r\n )}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n leadPhoto: state.leadPhoto,\r\n})\r\n\r\nconst mapDispatchToProps = {\r\n addPhoto,\r\n deletePhoto,\r\n resetPhotos,\r\n updatePhotoDescription\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PhotoPanelPhotoComponent);\r\n","import { photoPanelConstants } from './photoPanel.Constants';\r\n\r\nexport const addPhoto = photo => ({\r\n type: photoPanelConstants.ADD_PHOTO,\r\n photo: photo\r\n})\r\n\r\nexport const deletePhoto = photo => ({\r\n type: photoPanelConstants.DELETE_PHOTO,\r\n photo: photo\r\n})\r\n\r\nexport const updatePhotoDescription = photo => ({\r\n type: photoPanelConstants.UPDATE_PHOTO_DESCRIPTION,\r\n photo: photo\r\n})\r\n\r\nexport const resetPhotos = () => ({\r\n type: photoPanelConstants.RESET_PHOTOS\r\n})\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport { Button, Paper, Checkbox, Input } from '@material-ui/core';\r\nimport PhotoPanel from '../leadPhoto/photoPanel/photoPanel.Component';\r\n\r\nimport { accessibilityConfirmed, addRepair, deleteRepair, updateRepair } from './leadConfirm.Action';\r\nimport './leadConfirm.Style.css';\r\n\r\nclass LeadConfirmComponent extends Component {\r\n\r\n handleConfirmAccessibility(checked) {\r\n const { dispatch } = this.props;\r\n dispatch(accessibilityConfirmed(checked));\r\n }\r\n\r\n handleNextButton() {\r\n history.push('/createLead/calculation');\r\n }\r\n\r\n handleAddRepair() {\r\n const { dispatch } = this.props;\r\n dispatch(addRepair());\r\n }\r\n\r\n handleDeleteRepair(index) {\r\n const { dispatch } = this.props;\r\n dispatch(deleteRepair(index));\r\n }\r\n\r\n handleUpdateRepair(index, text) {\r\n const { dispatch } = this.props;\r\n dispatch(updateRepair(index, text));\r\n }\r\n\r\n render() {\r\n const { accessibilityConfirmed, repairs } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n

Plaats hier foto's van slechte delen of delen met houtrot.

\r\n \r\n \r\n

Nog uit te voeren herstelwerkzaamheden

\r\n
\r\n {repairs && repairs.map((repair, index) =>\r\n
\r\n this.handleUpdateRepair(index, e.target.value)} />\r\n \r\n
\r\n )}\r\n
\r\n \r\n
this.handleConfirmAccessibility(checked)} />De bereikbaarheid van de te schilderen onderdelen is naar waarheid ingevoerd.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n this.handleNextButton()}> Volgende \"next\" \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) { \r\n return {\r\n accessibilityConfirmed: state.leadConfirmation.accessibilityConfirmed,\r\n photos: state.leadPhoto.photos,\r\n repairs: state.leadConfirmation.repairs\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(LeadConfirmComponent);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { history } from 'helpers/history';\r\nimport { TitleComponent, HeaderComponent } from 'components';\r\nimport PhotoPanel from './photoPanel/photoPanel.Component';\r\n\r\nimport './leadPhoto.Style.css';\r\n\r\nclass LeadPhotoComponent extends Component {\r\n\r\n handleNextButton() {\r\n history.push('/createLead/confirm');\r\n }\r\n\r\n render() {\r\n const hasOverviewPhoto = this.props.photos.find(photo => photo.category === 'Overzicht\\/omgeving');\r\n const hasDetailPhoto = this.props.photos.find(photo => photo.category === 'Detailfoto\\'s');\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
\r\n
\r\n this.handleNextButton()}> Volgende \"next\" \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n photos: state.leadPhoto.photos\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(LeadPhotoComponent);\r\n","import React from 'react'\r\nimport { trackException } from '../../helpers/TelemetryService';\r\n\r\nclass ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n errorInfo: null\r\n };\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // Catch errors in any components below and re-render with error message\r\n this.setState({\r\n error: error,\r\n errorInfo: errorInfo\r\n })\r\n\r\n trackException(error);\r\n }\r\n\r\n render() {\r\n if (this.state.errorInfo) {\r\n // Error path\r\n return (\r\n
\r\n

Er is een onverwachte fout opgetreden.

\r\n

De gegevens van deze fout zijn verzonden voor analyze. Excuses voor het ongemak. Probeert u het alstublieft opnieuw.

\r\n
\r\n {this.state.error && this.state.error.toString()}\r\n
\r\n {this.state.errorInfo.componentStack}\r\n
\r\n
\r\n );\r\n }\r\n // Normally, just render children\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","import React, { Component } from 'react'\r\nimport './version.Style.css';\r\n\r\nclass VersionComponent extends Component {\r\n componentDidMount() {\r\n localStorage.setItem('version', process.env.REACT_APP_VERSION);\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('reduxState');\r\n setTimeout(()=> {\r\n window.location.reload();\r\n }, 3000);\r\n }\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Nieuwe versie

\r\n
\r\n
\r\n
\r\n

\r\n U dient opnieuw in te loggen. Excuses voor het ongemak. \r\n

\r\n

\r\n U wordt automatisch doorverwezen.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default VersionComponent;\r\n","import React, { Component } from 'react'\r\nimport './idleTimerView.Style.css';\r\n\r\nclass IdleTimerViewComponent extends Component {\r\n componentDidMount() {\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('_expiredTime');\r\n setTimeout(()=> {\r\n window.location.reload();\r\n }, 3000);\r\n }\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Uw sessie is verlopen

\r\n
\r\n
\r\n
\r\n

\r\n U dient opnieuw in te loggen. Excuses voor het ongemak. \r\n

\r\n

\r\n U wordt automatisch doorverwezen.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default IdleTimerViewComponent;\r\n","import React, { Component } from 'react';\r\nimport { Router, Route, Switch } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { history } from '../helpers/history';\r\nimport { PrivateRoute } from '../components/route/PrivateRoute';\r\nimport { trackPageView } from '../helpers/TelemetryService';\r\n\r\nimport { HomeComponent } from '../pages/home/home.Component';\r\nimport { LoginComponent } from '../pages/login/login.Component';\r\nimport { HousingTypeComponent } from '../pages/lead/housingType/housingType.Component';\r\nimport { HousingFaceComponent } from '../pages/lead/housingFace/housingFace.Component';\r\nimport { LeadCalculationComponent } from '../pages/lead/leadCalculation/leadCalculation.Component';\r\nimport { LeadOverviewComponent } from '../pages/lead/leadOverview/leadOverview.Component';\r\nimport { LeadCustomerComponent } from '../pages/lead/leadCustomer/leadCustomer.Component';\r\nimport { LeadFinishComponent } from '../pages/lead/leadFinish/leadFinish.Component';\r\nimport { LeadHousingPlanComponent } from '../pages/lead/leadHousingPlan/leadHousingPlan.Component';\r\nimport { CustomerAddComponent } from '../pages/lead/leadCustomer/customer-add/customerAdd.Component';\r\nimport { CreateCustomerComponent } from '../pages/lead/leadCustomer/customer-add/create/create.Component';\r\nimport LeadConfirmComponent from '../pages/lead/leadConfirm/leadConfirm.Component';\r\nimport LeadPhotoComponent from '../pages/lead/leadPhoto/leadPhoto.Component';\r\nimport ErrorBoundary from '../components/error/ErrorBoundary';\r\n\r\nimport VersionComponent from '../pages/version/version.Component';\r\nimport IdleTimerViewComponent from '../pages/idleTimer/idleTimerView.Component';\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n shouldCheckActive: true\r\n }\r\n }\r\n\r\n setUserActive() {\r\n var expiredTime = localStorage.getItem(\"_expiredTime\");\r\n if(expiredTime){\r\n var dateNow = Date.now();\r\n if (Math.floor(expiredTime / 1000) !== Math.floor(dateNow / 1000)) {\r\n localStorage.setItem(\"_expiredTime\", dateNow);\r\n }\r\n }\r\n }\r\n\r\n checkUserActive() {\r\n var expiredTime = localStorage.getItem(\"_expiredTime\");\r\n if(expiredTime){\r\n if (Math.floor((Date.now() / 1000) - 3600) > expiredTime / 1000){ \r\n window.location.reload();\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { user } = this.props;\r\n history.listen(location => trackPageView(location.pathname, user.username));\r\n\r\n window.addEventListener(\"click\", () => this.setUserActive());\r\n\r\n // Enable when app is stable enough.\r\n // window.setInterval(() => {\r\n // this.checkUserActive();\r\n // }, 5000);\r\n }\r\n\r\n render() {\r\n let idleTimerView = ;\r\n let activeUser = true;\r\n let expiredTime = localStorage.getItem(\"_expiredTime\");\r\n if(expiredTime && Math.floor((Date.now() / 1000) - 3600) > expiredTime / 1000){\r\n activeUser = false;\r\n }\r\n\r\n let toRender;\r\n var currentVersion = process.env.REACT_APP_VERSION;\r\n console.log(\"current version: \", currentVersion);;\r\n var versionInBrowser = localStorage.getItem('version');\r\n console.log(\"Version in browser \", versionInBrowser);\r\n if (versionInBrowser && currentVersion !== versionInBrowser) {\r\n toRender = \r\n } else {\r\n toRender = \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 return (\r\n // Should be tested some more, enable in the furture when te app is stable enough.\r\n // <>{ activeUser ? toRender : idleTimerView }\r\n toRender\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n user: state.login && state.login.loggedIn && state.login.user\r\n };\r\n}\r\n\r\nconst connectedApp = connect(mapStateToProps)(App);\r\nexport { connectedApp as App }; \r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport './index.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { createBrowserHistory } from 'history';\r\nimport configureStore from './Store';\r\nimport { App } from './app/App';\r\n\r\n// Create browser history to use in the Redux store\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst history = createBrowserHistory({ basename: baseUrl });\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst persistedState = localStorage.getItem('reduxState') ? JSON.parse(localStorage.getItem('reduxState')) : {}\r\n\r\nconst store = configureStore(history, persistedState);\r\n\r\nstore.subscribe(() => {\r\n localStorage.setItem('reduxState', JSON.stringify(store.getState()));\r\n})\r\n\r\nconst rootElement = document.getElementById('app');\r\n\r\nconsole.log(`${process.env.REACT_APP_NAME} ${process.env.REACT_APP_VERSION}`);\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { routerMiddleware } from 'react-router-redux';\r\n\r\nimport * as Login from './pages/login/login.Reducer';\r\nimport * as HousingType from './pages/lead/housingType/housingType.Reducer';\r\nimport * as Product from './pages/lead/housingType/product/product.Reducer';\r\nimport * as HousingFace from './pages/lead/housingFace/housingFace.Reducer';\r\nimport * as LeadCalculation from './pages/lead/leadCalculation/leadCalculation.Reducer';\r\nimport * as LeadConfirmReducer from './pages/lead/leadConfirm/leadConfirm.Reducer';\r\nimport * as LeadCustomer from './pages/lead/leadCustomer/leadCustomer.Reducer';\r\nimport * as HousingPlan from './pages/lead/leadHousingPlan/leadHousingPlan.Reducer';\r\nimport * as FinishPlan from './pages/lead/leadFinish/leadFinish.Reducer';\r\nimport * as LeadOverviewReducer from './pages/lead/leadOverview/leadOverview.Reducer';\r\nimport { photoPanelReducer } from './pages/lead/leadPhoto/photoPanel/photoPanel.Reducer';\r\n\r\nimport { headerConstants } from './components/layout/header/header.Constants';\r\n\r\nexport default function configureStore(history, persistedState) {\r\n const appReducer = combineReducers({\r\n login: Login.loginReducer,\r\n housingTypes: HousingType.housingTypeReducer,\r\n products: Product.productReducer,\r\n leadCalculation: LeadCalculation.leadCalculationReducer,\r\n leadCustomers: LeadCustomer.LeadCustomerReducer,\r\n selectedImplementation: HousingFace.housingFaceReducer,\r\n housingPlanData: HousingPlan.housingPlanReducer,\r\n housingPlanFinish: FinishPlan.finishReducer,\r\n leadOverview: LeadOverviewReducer.leadOverviewReducer,\r\n leadConfirmation: LeadConfirmReducer.leadConfirmReducer,\r\n leadPhoto: photoPanelReducer\r\n });\r\n\r\n const middleware = [\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n const composeEnhancers =\r\n typeof window === 'object' &&\r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? \r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\r\n }) : compose;\r\n\r\n let enhancer = composeEnhancers(\r\n applyMiddleware(...middleware)\r\n );\r\n\r\n const rootReducer = (state,action) => { \r\n if (action.type === headerConstants.LOGOUT) {\r\n return appReducer(undefined, action);\r\n }\r\n else if (action.type === headerConstants.HARD_RESET) {\r\n localStorage.removeItem(\"reduxState\");\r\n return appReducer({login:state.login }, action);\r\n }\r\n else if (action.type === headerConstants.SOFT_RESET) {\r\n localStorage.removeItem(\"reduxState\");\r\n return appReducer({login:state.login, leadCustomers: state.leadCustomers }, action);\r\n }\r\n return appReducer(state,action);\r\n }\r\n\r\n return createStore(\r\n rootReducer,\r\n persistedState,\r\n enhancer\r\n );\r\n}","module.exports = __webpack_public_path__ + \"static/media/next.23665ffa.svg\";"],"sourceRoot":""}