{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.object.values.js","webpack:///./src/components/VideoRecorder.vue?e189","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./src/components/Valuation/Steps/AddressDetails.vue?a181","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./src/components/UI/Elements/Forms/FieldErrors.vue?6f13","webpack:///./src/components/UI/Elements/Forms/Checkbox.vue?7cb8","webpack:///./node_modules/core-js/internals/object-to-array.js","webpack:///./src/components/Valuation/Steps/ValuationFormStep.vue?35f0","webpack:///./src/components/Valuation/ValuationForm.vue?b2ef","webpack:///./src/components/Valuation/Steps/Payment.vue?0e96","webpack:///./src/components/UI/Elements/Forms/Checkboxes.vue?579a","webpack:///./src/components/Valuation/Steps/Payment.vue?c7f4","webpack:///./src/components/UI/TMLoader.vue?c070","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./src/components/UI/Elements/Forms/Form.vue?3bb1","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./src/components/UI/Elements/Steps/Steps.vue?c221","webpack:///./src/components/UI/Elements/Forms/FileUpload.vue?658a","webpack:///./src/views/GetAValuation.vue?3271","webpack:///./src/components/Valuation/ValuationForm.vue?5e26","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./src/components/UI/Elements/Steps/Steps.vue?c868","webpack:///./src/components/UI/Elements/Steps/Steps.vue","webpack:///./src/app_code/Forms/Validation/ValidationRuleset.ts","webpack:///./src/components/UI/Elements/Steps/Steps.vue?b9df","webpack:///./src/components/UI/Elements/Steps/Steps.vue?ef1f","webpack:///./src/components/Valuation/Steps/AddressDetails.vue?04bf","webpack:///./src/app_code/Forms/FormField.ts","webpack:///./src/app_code/Forms/DropdownField.ts","webpack:///./src/app_code/Forms/FileUploadField.ts","webpack:///./src/app_code/Forms/FormDataset.ts","webpack:///./src/app_code/Forms/FormFieldGroup.ts","webpack:///./src/components/UI/Elements/Forms/Form.vue?cd4c","webpack:///./src/app_code/Forms/Validation/ValidationError.ts","webpack:///./src/components/UI/Elements/Forms/DropdownList.vue?9873","webpack:///./src/components/UI/Elements/Forms/DropdownList.vue","webpack:///./src/components/UI/Elements/Forms/DropdownList.vue?0ca4","webpack:///./src/components/UI/Elements/Forms/DropdownList.vue?2c51","webpack:///./src/components/UI/Elements/Forms/Field.vue?09a1","webpack:///./src/components/UI/Elements/Forms/Field.vue","webpack:///./src/components/UI/Elements/Forms/Field.vue?6beb","webpack:///./src/components/UI/Elements/Forms/Field.vue?751c","webpack:///./src/components/UI/Elements/Forms/Checkbox.vue?24c3","webpack:///./src/components/UI/Elements/Forms/Checkbox.vue","webpack:///./src/components/UI/Elements/Forms/Checkbox.vue?f29a","webpack:///./src/components/UI/Elements/Forms/Checkbox.vue?3741","webpack:///./src/components/UI/Elements/Forms/Checkboxes.vue?36ac","webpack:///./src/components/UI/Elements/Forms/Checkboxes.vue","webpack:///./src/components/UI/Elements/Forms/Checkboxes.vue?ab75","webpack:///./src/components/UI/Elements/Forms/Checkboxes.vue?e1c8","webpack:///./src/components/UI/Elements/Forms/FileUpload.vue?64ed","webpack:///./src/components/VideoRecorder.vue?bb2b","webpack:///./src/components/VideoRecorder.vue","webpack:///./src/components/VideoRecorder.vue?c8ff","webpack:///./src/components/VideoRecorder.vue?e964","webpack:///./src/components/UI/Elements/Forms/FileUpload.vue","webpack:///./src/components/UI/Elements/Forms/FileUpload.vue?8ad0","webpack:///./src/components/UI/Elements/Forms/FileUpload.vue?8b0f","webpack:///./src/components/UI/Elements/Forms/AddressField.vue?0ab2","webpack:///./src/components/UI/Elements/Forms/AddressField.vue","webpack:///./src/components/UI/Elements/Forms/AddressField.vue?500a","webpack:///./src/components/UI/Elements/Forms/AddressField.vue?909e","webpack:///./src/components/UI/Elements/Forms/FieldErrors.vue?0e2b","webpack:///./src/components/UI/Elements/Forms/FieldErrors.vue","webpack:///./src/components/UI/Elements/Forms/FieldErrors.vue?97f4","webpack:///./src/components/UI/Elements/Forms/FieldErrors.vue?399f","webpack:///./src/components/UI/Elements/Forms/Form.vue","webpack:///./src/components/UI/Elements/Forms/Form.vue?4854","webpack:///./src/components/UI/Elements/Forms/Form.vue?a99e","webpack:///./src/components/Valuation/Steps/ValuationFormStep.vue?da83","webpack:///./src/components/Valuation/Steps/ValuationFormStep.vue","webpack:///./src/components/Valuation/Steps/ValuationFormStep.vue?8f45","webpack:///./src/components/Valuation/Steps/ValuationFormStep.vue?772e","webpack:///./src/components/Valuation/Steps/AddressDetails.vue","webpack:///../truemarket-modules/src/models/api/enumerations/EnumValueType.ts","webpack:///./src/components/Valuation/Steps/AddressDetails.vue?763d","webpack:///./src/components/Valuation/Steps/AddressDetails.vue?a235","webpack:///./src/components/Valuation/Steps/AssessmentDetails.vue?7d1f","webpack:///./src/components/Valuation/Steps/AssessmentDetails.vue","webpack:///./src/components/Valuation/Steps/AssessmentDetails.vue?9c9f","webpack:///./src/components/Valuation/Steps/AssessmentDetails.vue?eb9b","webpack:///./src/components/Valuation/Steps/ContactDetails.vue?3c0a","webpack:///./src/components/Valuation/Steps/ContactDetails.vue","webpack:///./src/components/Valuation/Steps/ContactDetails.vue?0dde","webpack:///./src/components/Valuation/Steps/ContactDetails.vue?2e0e","webpack:///./src/components/Valuation/Steps/PropertyTypeSelection.vue?d1b9","webpack:///./src/components/Valuation/Steps/PropertyTypeSelection.vue","webpack:///./src/components/Valuation/Steps/PropertyTypeSelection.vue?4f7f","webpack:///./src/components/Valuation/Steps/PropertyTypeSelection.vue?dd8c","webpack:///./src/components/Valuation/Steps/Payment.vue?5201","webpack:///./src/components/UI/Elements/Payment/Checkout.vue?add2","webpack:///./node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack:///./src/components/UI/Elements/Payment/Checkout.vue","webpack:///./src/components/UI/Elements/Payment/Checkout.vue?5a2e","webpack:///./src/components/UI/Elements/Payment/Checkout.vue?c341","webpack:///./src/components/UI/TMLoader.vue?0b1e","webpack:///./src/components/UI/TMLoader.vue","webpack:///./src/components/UI/TMLoader.vue?5bc6","webpack:///./src/components/UI/TMLoader.vue?144d","webpack:///./src/components/Valuation/Steps/Payment.vue","webpack:///./src/components/Valuation/Steps/Payment.vue?e5c3","webpack:///./src/components/Valuation/Steps/Payment.vue?19be","webpack:///./src/components/Valuation/Steps/PropertyDetails.vue?d687","webpack:///./src/components/Valuation/Steps/PropertyTypes/CommercialPropertyDetails.vue?ac09","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataOfficeSuiteDetails.vue?66fc","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataOfficeSuiteDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataOfficeSuiteDetails.vue?f414","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataOfficeSuiteDetails.vue?f0f7","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataMedicalSuiteDetails.vue?9e65","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataMedicalSuiteDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataMedicalSuiteDetails.vue?35c5","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialStrataMedicalSuiteDetails.vue?5053","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingOfficePropertyDetails.vue?cbaf","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingOfficePropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingOfficePropertyDetails.vue?6ee5","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingOfficePropertyDetails.vue?e402","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingMedicalPropertyDetails.vue?8630","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingMedicalPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingMedicalPropertyDetails.vue?2061","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialFreestandingMedicalPropertyDetails.vue?db92","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantOfficePremisesDetails.vue?277c","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantOfficePremisesDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantOfficePremisesDetails.vue?6379","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantOfficePremisesDetails.vue?ad41","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantMedicalPremisesDetails.vue?7752","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantMedicalPremisesDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantMedicalPremisesDetails.vue?c958","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialMultitenantMedicalPremisesDetails.vue?1084","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialVacantLandDetails.vue?c06a","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialVacantLandDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialVacantLandDetails.vue?972c","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/CommercialVacantLandDetails.vue?2532","webpack:///./src/components/Valuation/Steps/PropertyTypes/CommercialPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/CommercialPropertyDetails.vue?884c","webpack:///./src/components/Valuation/Steps/PropertyTypes/CommercialPropertyDetails.vue?8337","webpack:///./src/components/Valuation/Steps/PropertyTypes/IndustrialPropertyDetails.vue?b4e1","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialWarehouseDetails.vue?3e62","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialWarehouseDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialWarehouseDetails.vue?5e4f","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialWarehouseDetails.vue?7299","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialFactoryDetails.vue?f0a8","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialFactoryDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialFactoryDetails.vue?62bf","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialFactoryDetails.vue?cba2","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialServiceIndustryDetails.vue?5311","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialServiceIndustryDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialServiceIndustryDetails.vue?ec11","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialServiceIndustryDetails.vue?b811","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialStrataIndustrialUnitDetails.vue?6fd0","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialStrataIndustrialUnitDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialStrataIndustrialUnitDetails.vue?2dec","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialStrataIndustrialUnitDetails.vue?e24b","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialMultiTenantIndustrialPropertyDetails.vue?8371","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialMultiTenantIndustrialPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialMultiTenantIndustrialPropertyDetails.vue?ef09","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialMultiTenantIndustrialPropertyDetails.vue?f85c","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialVacantLandDetails.vue?7157","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialVacantLandDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialVacantLandDetails.vue?4675","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/IndustrialVacantLandDetails.vue?91dc","webpack:///./src/components/Valuation/Steps/PropertyTypes/IndustrialPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/IndustrialPropertyDetails.vue?2e58","webpack:///./src/components/Valuation/Steps/PropertyTypes/IndustrialPropertyDetails.vue?b6d3","webpack:///./src/components/Valuation/Steps/PropertyTypes/RetailPropertyDetails.vue?b957","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStrataRetailSpaceDetails.vue?7220","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStrataRetailSpaceDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStrataRetailSpaceDetails.vue?a1cc","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStrataRetailSpaceDetails.vue?4570","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailFreestandingRetailPropertyDetails.vue?23e8","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailFreestandingRetailPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailFreestandingRetailPropertyDetails.vue?6d53","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailFreestandingRetailPropertyDetails.vue?7022","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailShowroomBulkyGoodsDetails.vue?c4b4","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailShowroomBulkyGoodsDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailShowroomBulkyGoodsDetails.vue?c029","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailShowroomBulkyGoodsDetails.vue?17bf","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStripShopRetailPropertyDetails.vue?b3fb","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStripShopRetailPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStripShopRetailPropertyDetails.vue?0e95","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RetailStripShopRetailPropertyDetails.vue?c24f","webpack:///./src/components/Valuation/Steps/PropertyTypes/RetailPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/RetailPropertyDetails.vue?490b","webpack:///./src/components/Valuation/Steps/PropertyTypes/RetailPropertyDetails.vue?b1ec","webpack:///./src/components/Valuation/Steps/PropertyTypes/ResidentialPropertyDetails.vue?f45e","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDuplexDetails.vue?6ed8","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDuplexDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDuplexDetails.vue?71fe","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDuplexDetails.vue?cbfd","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialBlockOfApartmentsDetails.vue?5429","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialBlockOfApartmentsDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialBlockOfApartmentsDetails.vue?3504","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialBlockOfApartmentsDetails.vue?f487","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseComplexDetails.vue?ef2e","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseComplexDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseComplexDetails.vue?b9af","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseComplexDetails.vue?abea","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDetatchedResidenceDetails.vue?1a48","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDetatchedResidenceDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDetatchedResidenceDetails.vue?0d00","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialDetatchedResidenceDetails.vue?8a95","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialApartmentDetails.vue?5295","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialApartmentDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialApartmentDetails.vue?90ad","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialApartmentDetails.vue?c9bf","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseDetails.vue?6608","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseDetails.vue?ff81","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTownhouseDetails.vue?2df9","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTerraceHouseDetails.vue?ad23","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTerraceHouseDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTerraceHouseDetails.vue?b55c","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialTerraceHouseDetails.vue?7aae","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialVacantLandDetails.vue?d049","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialVacantLandDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialVacantLandDetails.vue?8661","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/ResidentialVacantLandDetails.vue?efcb","webpack:///./src/components/Valuation/Steps/PropertyTypes/ResidentialPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/ResidentialPropertyDetails.vue?2eb0","webpack:///./src/components/Valuation/Steps/PropertyTypes/ResidentialPropertyDetails.vue?cd8c","webpack:///./src/components/Valuation/Steps/PropertyTypes/RuralPropertyDetails.vue?339b","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralHobbyFarmDetails.vue?d14d","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralHobbyFarmDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralHobbyFarmDetails.vue?f17f","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralHobbyFarmDetails.vue?5030","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralGrazingFarmDetails.vue?2c4f","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralGrazingFarmDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralGrazingFarmDetails.vue?05aa","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralGrazingFarmDetails.vue?8b8e","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralCroppingFarmDetails.vue?4af0","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralCroppingFarmDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralCroppingFarmDetails.vue?4983","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralCroppingFarmDetails.vue?deac","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralVacantLandDetails.vue?c62a","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralVacantLandDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralVacantLandDetails.vue?2fcf","webpack:///./src/components/Valuation/Steps/PropertyTypes/PropertySubTypes/RuralVacantLandDetails.vue?c925","webpack:///./src/components/Valuation/Steps/PropertyTypes/RuralPropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyTypes/RuralPropertyDetails.vue?6755","webpack:///./src/components/Valuation/Steps/PropertyTypes/RuralPropertyDetails.vue?58d9","webpack:///./src/components/Valuation/Steps/PropertyDetails.vue","webpack:///./src/components/Valuation/Steps/PropertyDetails.vue?2365","webpack:///./src/components/Valuation/Steps/PropertyDetails.vue?2a49","webpack:///./src/components/Valuation/Steps/OptionalInfo.vue?38ed","webpack:///./src/components/Valuation/Steps/OptionalInfo.vue","webpack:///./src/components/Valuation/Steps/OptionalInfo.vue?6010","webpack:///./src/components/Valuation/Steps/OptionalInfo.vue?db82","webpack:///./src/components/Notice.vue?8224","webpack:///./src/components/Notice.vue","webpack:///./src/components/Notice.vue?cb06","webpack:///./src/components/Notice.vue?1d56","webpack:///./src/components/Valuation/ValuationForm.vue","webpack:///./src/components/Valuation/ValuationForm.vue?5553","webpack:///./src/components/Valuation/ValuationForm.vue?beb6","webpack:///./src/views/GetAValuation.vue","webpack:///./src/views/GetAValuation.vue?df06","webpack:///./src/views/GetAValuation.vue?d19d","webpack:///./src/components/UI/Elements/Forms/AddressField.vue?7ac5","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./src/components/Notice.vue?8aa4"],"names":["$","$values","values","target","stat","O","toInteger","requireObjectCoercible","module","exports","count","str","String","this","result","n","Infinity","RangeError","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","stickyHelpers","UNSUPPORTED_Y","arrayPush","push","min","Math","MAX_UINT32","SPLIT","nativeSplit","maybeCallNative","internalSplit","split","length","separator","limit","string","lim","undefined","call","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","RegExp","source","slice","index","apply","test","splitter","regexp","res","done","value","rx","S","C","unicodeMatching","p","q","A","e","z","i","notARegExp","correctIsRegExpLogic","proto","forced","includes","searchString","indexOf","arguments","classof","TypeError","DESCRIPTORS","objectKeys","toIndexedObject","propertyIsEnumerable","f","createMethod","TO_ENTRIES","it","key","keys","entries","from","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","Array","defineProperty","FunctionPrototype","Function","prototype","FunctionPrototypeToString","toString","nameRE","NAME","configurable","get","error","thisNumberValue","repeat","fails","nativeToFixed","toFixed","floor","pow","x","acc","log","x2","multiply","data","c","c2","divide","dataToString","s","t","FORCED","fractionDigits","j","k","number","fractDigits","sign","$includes","addToUnscopables","el","render","_vm","_h","$createElement","_c","_self","attrs","staticRenderFns","staticClass","_e","ref","validationIndex","minStep","stepsBeforeNext","on","handleNext","handleNavigated","$event","handleValidated","handleGotContact","model","handleVoucherOrder","handlePaymentCompleted","_arrayLikeToArray","arr","len","arr2","_arrayWithoutHoles","isArray","arrayLikeToArray","_iterableToArray","iter","Symbol","iterator","_unsupportedIterableToArray","o","minLen","Object","constructor","name","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","style","_l","step","idx","class","_v","_s","_t","directives","rawName","expression","goBack","waitNext","goNext","$emit","document","body","scrollTop","documentElement","steps","beforeNext","then","next","required","default","ValidationOperator","component","fields","init","Id","Utils","GetId","Type","Placeholder","Label","Key","Value","Display","Rows","Required","Validator","Composite","ValidationMessage","Items","Multiple","ContentTypes","Capture","Fields","base","forEach","reverse","find","IsGroup","Title","ShowTitle","field","subfield","handleFieldInput","errors","filter","er","Error","rules","Rules","ds","results","r","Validate","placeholder","domProps","handleInput","item","label","input","$refs","type","rows","autocomplete","val","inputElement","setAttribute","handleUpdated","isChecked","handleValChanged","cb","checked","components","Checkbox","pickFiles","file","FileId","Filename","humanFileSize","FileSize","removeFile","isCapturing","formattedCurrentTime","formattedTimeLimit","cancel","isDone","initVideoStream","stream","needsPermissions","window","sessionStorage","getItem","navigator","mediaDevices","getUserMedia","audio","video","facingMode","vidElem","srcObject","setItem","files","fileInput","size","createElement","contentTypes","accept","join","multiple","capture","onchange","handleFilesChanged","click","newfiles","API","Files","Upload","tmFile","map","splice","VideoRecorder","PlaceId","selectResult","StructuredFormatting","MainText","SecondaryText","_m","gmapsSession","GetGuid","throttler","fetchData","Throttle","Google","AddressAutocomplete","ac","Predictions","GetPlaceDetails","place","Result","address","UnitNumber","AddressComponents","Types","LongName","StreetNumber","StreetName","Suburb","State","Postcode","FormattedAddress","FormattedAddressLines","formattedComponents","JSON","stringify","err","fieldValues","sf","FieldId","IsComposite","updateFieldValues","fv","validate","implicitRuleset","group","fld","v","GetValue","ValidationLabel","implicitResult","validator","valid","DropdownList","Field","Checkboxes","FileUpload","AddressField","FieldErrors","mainForm","GetValues","localStorage","ValuationFormStep","Form","EnumValueType","loading","errored","Enumerations","GetEnumValuesForType","ValuationPurpose","vals","ValueId","catch","form","BuildModel","collectData","buildModel","OnBeforeNext","Promise","api","Require","CRM","CreateContact","FirstName","LastName","Email","Phone","RequestBearerToken","BusinessName","Subject","contact","ContactDetails","handleFieldUpdated","propertyTypes","promises","PropertyType","PropertyCondition","all","subclassificationGroup","propertyTypeSelection","GetEnumValueChildren","PropertySubType","product","Price","codeError","composing","coupon","handleValidateClick","voucherName","handleCancelClick","handleConfirmClick","staticStyle","callback","$$v","cardholderName","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","findScript","scripts","querySelectorAll","concat","script","src","injectScript","params","queryString","advancedFraudSignals","headOrBody","head","appendChild","registerWrapper","stripe","startTime","_registerWrapper","version","stripePromise","loadScript","resolve","reject","Stripe","console","warn","addEventListener","initStripe","maybeStripe","args","stripePromise$1","loadCalled","loadStripe","_len","_key","Date","now","elements","stripeService","invoice","GetPublishableKey","create","mount","cardNumber","cardExpiration","cardCvn","setTimeout","tmReferral","Product","CreateInvoice","ProductId","Payment","CreateInvoicePaymentIntent","InvoiceId","pi","confirmCardPayment","ClientSecret","payment_method","card","getElement","billing_details","paymentIntent","status","paymentProcessing","active","cardHasFailed","updatePrice","HasVoucher","GetVoucher","voucher","VoucherName","productTypeId","PropertyClassification","productPurposeId","AssessmentDetails","Purpose","GetProductByTypeAndPurpose","checkout","success","GetInvoice","Checkout","TMLoader","FloorConstructionType","WallConstructionType","RoofConstructionType","CommercialAccommodationFeatures","CommercialPropertyFeatures","mounted","CommercialFreestandingMedicalPropertyDetails","tenancyFeilds","propertyFeaturesFeilds","refs","refName","groupPrefix","desiredNumber","groupCreator","isNaN","existingCount","startsWith","diff","absDiff","abs","lastIndexOf","num","parseInt","mutateGroup","groupKey","enumVals","ResidentialPropertyFeatures","CityViews","RiverViews","ElevatedOutlook","Pool","TennisCourt","SecureParkingSpaces","Bedrooms","Bathrooms","Parking","AirConditioningType","CommercialVacantLandDetails","strataOfficeSuiteId","strataMedicalSuiteId","freestandingOfficePropertyId","freestandingMedicalPropertyId","multitenantOfficePremisesId","multitenantMedicalPremisesId","vacantLandId","CommercialStrataOfficeSuiteDetails","CommercialStrataMedicalSuiteDetails","CommercialFreestandingOfficePropertyDetails","CommercialMultitenantOfficePremisesDetails","CommercialMultitenantMedicalPremisesDetails","IndustrialAccommodationFeatures","IndustrialPropertyFeatures","IndustrialMultiTenantIndustrialPropertyDetails","warehouseId","factoryId","serviceIndustryId","strataIndustrialUnitId","multiTenantIndustrialPropertyId","vacantLandIndustrialPropertyId","IndustrialWarehouseDetails","IndustrialFactoryDetails","IndustrialServiceIndustryDetails","IndustrialStrataIndustrialUnitDetails","IndustrialVacantLandDetails","RetailAccommodationFeatures","RetailPropertyFeatures","RetailStrataRetailSpaceDetails","RetailStripShopRetailPropertyDetails","strataRetailSpaceId","freestandingRetailPropertyId","showroomBulkyGoodsRetailPropertyId","stripShopRetailPropertyId","RetailFreestandingRetailPropertyDetails","RetailShowroomBulkyGoodsDetails","ResidentialBlockOfApartmentsDetails","ResidentialVacantLandDetails","duplexId","blockOfApartmentsId","townhouseComplexId","detatchedResidenceId","apartmentId","townHouseId","terraceHouseId","ResidentialPropertyDetails","ResidentialDuplexDetails","ResidentialTownhouseComplexDetails","ResidentialDetatchedResidenceDetails","ResidentialApartmentDetails","ResidentialTownhouseDetails","ResidentialTerraceHouseDetails","RuralPropertyFeatures","Outbuildings","Dams","Bores","FencedPaddocks","RuralHobbyFarmDetails","outBuildingFeilds","hobbyFarmId","grazingFarmId","croppingFarmId","RuralPropertyDetails","RuralGrazingFarmDetails","RuralCroppingFarmDetails","RuralVacantLandDetails","commercialId","industrialId","retailId","residentialId","ruralId","CommercialPropertyDetails","IndustrialPropertyDetails","RetailPropertyDetails","fieldsRes","updatePropertyType","propertyTypeId","isRes","$forceUpdate","OptionalInfo","handleClick","paymentInfo","contactId","invoiceId","property","displayPleaseWait","paymentProcessed","nextIdx","Contact","contactDetails","nextStepComponent","$slots","componentInstance","canGoNext","ValuationForm","CreatePreValuationForm","pre","CreateValuation","PropertySnapshotId","CurrentDate","SavePropertyDetails","$router","assessmentDetails","ContactId","stepIdx","processed","buildTree","parts","datum","part","shift","every","other","element","floorLevel","Steps","AddressDetails","PropertyTypeSelection","PropertyDetails","Notice","isObject","toAbsoluteIndex","createProperty","wellKnownSymbol","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","SPECIES","nativeSlice","max","start","end","Constructor","fin"],"mappings":"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","file":"js/chunk-82555d68.708e9423.js","sourcesContent":["var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoRecorder.vue?vue&type=style&index=0&id=33b9b003&scoped=true&lang=css&\"","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressDetails.vue?vue&type=style&index=0&id=78f50039&scoped=true&lang=css&\"","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldErrors.vue?vue&type=style&index=0&id=30a5ff80&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=style&index=0&id=21356db2&scoped=true&lang=css&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValuationFormStep.vue?vue&type=style&index=0&id=7e5631d7&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValuationForm.vue?vue&type=style&index=0&id=3b3c3b02&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=style&index=1&id=e9507e00&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkboxes.vue?vue&type=style&index=0&id=22ede866&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=style&index=0&id=e9507e00&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TMLoader.vue?vue&type=style&index=0&id=40f7942e&scoped=true&lang=css&\"","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=style&index=0&id=781ec146&scoped=true&lang=css&\"","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar multiply = function (data, n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\n\nvar divide = function (data, n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\n\nvar dataToString = function (data) {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(data, 0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(data, 1e7, 0);\n j -= 7;\n }\n multiply(data, pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(data, 1 << 23);\n j -= 23;\n }\n divide(data, 1 << j);\n multiply(data, 1, 1);\n divide(data, 2);\n result = dataToString(data);\n } else {\n multiply(data, 0, z);\n multiply(data, 1 << -e, 0);\n result = dataToString(data) + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Steps.vue?vue&type=style&index=0&id=0e9ebb36&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=style&index=0&id=30fe1eae&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',{attrs:{\"background\":\"var(--brand-primary)\"}},[_c('ContentRow',[_c('ContentContainer',[_c('ValuationForm')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"valuation-form-wrap\"},[(false)?_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":_vm.collectData}},[_vm._v(\"Collect Data\")]):_vm._e(),_c('form',{staticClass:\"valuation-form\"},[_c('Steps',{ref:\"steps\",attrs:{\"validationIndex\":_vm.validationIndex,\"minStep\":_vm.minStep,\"steps\":['Address', 'Assessment Details', 'Property Classification', 'Your Details', 'Property Details', 'Photos & Documents', 'Payment', 'Completed'],\"beforeNext\":_vm.stepsBeforeNext},on:{\"next\":_vm.handleNext,\"navigated\":_vm.handleNavigated}},[_c('AddressDetails',{ref:\"addressDetails\",on:{\"validated\":function($event){return _vm.handleValidated(0, $event)}}}),_c('AssessmentDetails',{ref:\"assessmentDetails\",on:{\"validated\":function($event){return _vm.handleValidated(1, $event)}}}),_c('PropertyTypeSelection',{ref:\"propertyTypeSelection\",on:{\"validated\":function($event){return _vm.handleValidated(2, $event)}}}),_c('ContactDetails',{ref:\"contactDetails\",on:{\"validated\":function($event){return _vm.handleValidated(3, $event)},\"got_contact\":_vm.handleGotContact}}),_c('PropertyDetails',{ref:\"propertyDetails\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.handleValidated(4, $event)}}}),_c('OptionalInfo',{ref:\"optionalInfo\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.handleValidated(5, $event)}}}),_c('Payment',{ref:\"paymentDetails\",attrs:{\"collectData\":_vm.data,\"model\":_vm.model},on:{\"validated\":function($event){return _vm.handleValidated(6, $event)},\"handleVoucherOrder\":_vm.handleVoucherOrder,\"payment_completed\":_vm.handlePaymentCompleted}})],1),_c('Notice')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"steps\",style:({'--current-index': _vm.index, '--nth-index': _vm.index})},[_c('ContentContainer',{staticClass:\"steps__nav-container\"},[_c('div',{staticClass:\"steps__nav\"},[_c('ul',_vm._l((_vm.steps),function(step,idx){return _c('li',{key:step,staticClass:\"step\",class:{'step--completed': idx <= _vm.index}},[_c('div',{staticClass:\"step__bar\"}),_c('div',{staticClass:\"step__label\"},[_vm._v(\" \"+_vm._s(idx + 1)+\": \"+_vm._s(step)+\" \")])])}),0)])]),_c('div',{staticClass:\"steps__viewport\"},[_c('div',{staticClass:\"steps__viewport__slider\"},[_vm._t(\"default\")],2)]),_c('div',{staticClass:\"steps__navigation\"},[_c('Btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.index > 0 && _vm.minStep < _vm.index),expression:\"index > 0 && minStep < index\"}],staticClass:\"invert steps__btn\",on:{\"click\":_vm.goBack}},[_vm._v(\"Back\")]),_c('div',{staticClass:\"steps__navigation__spacer\"}),_c('Btn',{staticClass:\"invert steps__btn\",class:{'steps__btn--disabled': _vm.validationIndex < _vm.index},attrs:{\"loading\":_vm.waitNext},on:{\"click\":_vm.goNext}},[_vm._v(\"Next\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class Steps extends Vue {\r\n @Prop({ required: true })\r\n private readonly steps!: string[];\r\n\r\n @Prop()\r\n private readonly validationIndex!: number;\r\n\r\n @Prop({ default: null })\r\n private readonly beforeNext!: ((index: number) => Promise) | null;\r\n\r\n @Prop({ default: -1 })\r\n private readonly minStep!: number;\r\n\r\n private index = 0\r\n\r\n private waitNext = false\r\n\r\n goBack (): void {\r\n if (this.index === 0) return\r\n\r\n this.index -= 1\r\n\r\n this.$emit('navigated', this.index)\r\n\r\n document.body.scrollTop = 0\r\n document.documentElement.scrollTop = 0\r\n }\r\n\r\n goNext (): void {\r\n if (this.index + 1 === this.steps.length) return\r\n\r\n if (this.validationIndex < this.index) return\r\n\r\n if (this.beforeNext) {\r\n this.waitNext = true\r\n\r\n this.beforeNext(this.index + 1).then((next) => {\r\n this.waitNext = false\r\n\r\n if (next) {\r\n this.$emit('next')\r\n\r\n this.index += 1\r\n\r\n this.$emit('navigated', this.index)\r\n }\r\n })\r\n\r\n document.body.scrollTop = 0\r\n document.documentElement.scrollTop = 0\r\n\r\n return\r\n }\r\n\r\n this.$emit('next')\r\n\r\n this.index += 1\r\n\r\n this.$emit('navigated', this.index)\r\n }\r\n}\r\n","import { ValidationResult } from '.'\r\nimport { FormDataset } from '..'\r\nimport IValidatable from './IValidatable'\r\nimport Validator from './Validator'\r\n\r\nenum ValidationOperator {\r\n AND,\r\n OR\r\n}\r\n\r\nclass ValidationRuleset implements IValidatable {\r\n public Rules: Validator[];\r\n\r\n constructor (rules: Validator[]) {\r\n this.Rules = rules\r\n }\r\n\r\n Validate (ds: FormDataset): ValidationResult {\r\n const results: ValidationResult = []\r\n\r\n this.Rules.forEach((r) => {\r\n const res = typeof r === 'function' ? r(ds) : r.Validate(ds)\r\n\r\n if (res) results.push(...res)\r\n })\r\n\r\n return results\r\n }\r\n}\r\n\r\nclass ConditionalValidationRuleset implements IValidatable {\r\n public Predicate: (ds: FormDataset) => boolean;\r\n public Rules: Validator[];\r\n\r\n constructor (predicate: (ds: FormDataset) => boolean, rules: Validator[]) {\r\n this.Predicate = predicate\r\n this.Rules = rules\r\n }\r\n\r\n Validate (ds: FormDataset): ValidationResult {\r\n if (!this.Predicate(ds)) return null\r\n\r\n const results: ValidationResult = []\r\n\r\n this.Rules.forEach((r) => {\r\n const res = typeof r === 'function' ? r(ds) : r.Validate(ds)\r\n\r\n if (res) results.push(...res)\r\n })\r\n\r\n return results\r\n }\r\n}\r\n\r\nexport { ValidationOperator, ValidationRuleset, ConditionalValidationRuleset }\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Steps.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Steps.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Steps.vue?vue&type=template&id=0e9ebb36&scoped=true&\"\nimport script from \"./Steps.vue?vue&type=script&lang=ts&\"\nexport * from \"./Steps.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Steps.vue?vue&type=style&index=0&id=0e9ebb36&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e9ebb36\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 1: Property Address\")]),_c('p',{staticClass:\"vf__hint\"},[_vm._v(\" Please enter the address of the property you want us to look at \"),_c('br'),_c('b',[_vm._v(\"Can't find your address? Please enter it manually and click \\\"Next\\\".\")])]),_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Utils from 'truemarket-modules/src/Utils'\r\nimport { Validator } from './Validation'\r\n\r\nclass FormField {\r\n Id: string = Utils.GetId();\r\n Type: 'text' | 'email' | 'tel' | 'select' | 'textarea' | 'password' | 'date' | 'richtext' | 'url' | 'checkbox' | 'number' | 'checkboxes' | 'file' | 'address';\r\n Placeholder?: string;\r\n Label: string;\r\n Key: string;\r\n Value?: string;\r\n Display: boolean;\r\n Rows?: string;\r\n Required: boolean;\r\n Validator: Validator | null;\r\n Composite: boolean;\r\n ValidationMessage: string | null;\r\n\r\n get ValidationLabel (): string {\r\n return this.ValidationMessage ?? `${this.Label.split(':')[0] ?? this.Key} - required`\r\n }\r\n\r\n constructor (init: Partial) {\r\n this.Type = init.Type ?? 'text'\r\n this.Placeholder = init.Placeholder\r\n this.Label = init.Label ?? ''\r\n this.Key = init.Key ?? Utils.GetId()\r\n this.Value = init.Value ?? ''\r\n this.Display = init.Display ?? true\r\n this.Rows = init.Rows ?? '3'\r\n this.Required = init.Required ?? false\r\n this.Validator = init.Validator ?? null\r\n this.Composite = init.Composite ?? false\r\n this.ValidationMessage = init.ValidationMessage ?? null\r\n }\r\n}\r\n\r\nexport default FormField\r\n","import { DropdownListItem } from './DropdownListItem'\r\nimport FormField from './FormField'\r\n\r\nclass DropdownField extends FormField {\r\n Items: DropdownListItem[];\r\n\r\n constructor (init: Partial) {\r\n init.Type = 'select'\r\n\r\n super(init)\r\n\r\n this.Items = init.Items ?? []\r\n }\r\n}\r\n\r\nexport default DropdownField\r\n","import FormField from './FormField'\r\n\r\nexport default class FileUploadField extends FormField {\r\n Multiple: boolean;\r\n ContentTypes: string[];\r\n Capture: boolean;\r\n\r\n constructor (init: Partial) {\r\n init.Type = 'file'\r\n\r\n super(init)\r\n\r\n this.Multiple = init.Multiple ?? false\r\n this.ContentTypes = init.ContentTypes ?? []\r\n this.Capture = init.Capture ?? false\r\n }\r\n}\r\n","import FormValue from './FormValue'\r\n\r\nclass FormDataset {\r\n Fields: FormValue[];\r\n\r\n constructor (init: Partial) {\r\n this.Fields = init.Fields ?? []\r\n }\r\n\r\n BuildModel (): TModel {\r\n const base: Record = {}\r\n\r\n this.Fields.forEach((f) => {\r\n // base[f.Key] = f.Value\r\n base[f.Key.split('_').reverse()[0]] = f.Value\r\n })\r\n\r\n return base as unknown as TModel\r\n }\r\n\r\n GetValue (key: string): string {\r\n return this.Fields.find((f) => f.Key === key)?.Value ?? ''\r\n }\r\n}\r\n\r\nexport default FormDataset\r\n","import Utils from 'truemarket-modules/src/Utils'\r\nimport FormField from './FormField'\r\n\r\nclass FormFieldGroup {\r\n Id: string = Utils.GetId();\r\n IsGroup = true;\r\n Key: string;\r\n Title?: string;\r\n ShowTitle: boolean;\r\n Display: boolean;\r\n Fields!: FormField[];\r\n\r\n constructor (init: Partial) {\r\n this.Title = init.Title\r\n this.Key = init.Key ?? ''\r\n this.ShowTitle = init.ShowTitle ?? false\r\n this.Display = init.Display ?? true\r\n this.Fields = init.Fields ?? []\r\n }\r\n}\r\n\r\nexport default FormFieldGroup\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form\"},[(_vm.validationErrors)?_c('Alert',{attrs:{\"type\":\"danger\",\"icon\":\"alert-octagon\"}},[_c('p',[_vm._v(\" Please correct the errors below: \")])]):_vm._e(),(_vm.fields.length)?_vm._l((_vm.fields),function(field){return _c('div',{key:field.Id},[(!field.Display)?void 0:(field.IsGroup)?_c('div',{staticClass:\"form__group\"},[(field.Title && field.ShowTitle)?_c('div',{staticClass:\"form__group__title\"},[_vm._v(\" \"+_vm._s(field.Title))]):_vm._e(),_vm._l((field.Fields),function(subfield){return [(subfield.Display)?_c('div',{key:subfield.Id,staticClass:\"form__group__field-wrap\"},[(subfield.Type === 'select')?_c('DropdownList',{attrs:{\"placeholder\":subfield.Placeholder,\"value\":subfield.Value,\"label\":subfield.Label,\"items\":subfield.Items},on:{\"input\":function($event){return _vm.handleFieldInput(subfield, $event)}}}):(subfield.Type === 'checkbox')?_c('Checkbox',{attrs:{\"value\":subfield.Value,\"label\":subfield.Label,\"items\":subfield.Items},on:{\"input\":function($event){return _vm.handleFieldInput(subfield, $event)}}}):(subfield.Type === 'checkboxes')?_c('Checkboxes',{attrs:{\"fields\":subfield.Fields},on:{\"input\":function($event){return _vm.handleFieldInput($event.field, $event.value)}}}):(subfield.Type === 'file')?_c('FileUpload',{attrs:{\"label\":subfield.Label,\"placeholder\":subfield.Placeholder,\"multiple\":subfield.Multiple,\"capture\":subfield.Capture,\"contentTypes\":subfield.ContentTypes},on:{\"input\":function($event){return _vm.handleFieldInput(subfield, $event)}}}):(subfield.Type === 'address')?_c('AddressField',{attrs:{\"value\":subfield.Value,\"label\":subfield.Label,\"placeholder\":subfield.Placeholder},on:{\"input\":function($event){return _vm.handleFieldInput(subfield, $event)}}}):_c('Field',{attrs:{\"rows\":subfield.Rows,\"type\":subfield.Type,\"label\":subfield.Label,\"placeholder\":subfield.Placeholder,\"value\":subfield.Value},on:{\"input\":function($event){return _vm.handleFieldInput(subfield, $event)}}}),_c('FieldErrors',{attrs:{\"errors\":_vm.errors.filter(function (er) { return er.Key === subfield.Key; })}})],1):_vm._e()]})],2):(field.Display)?[(field.Type === 'select')?_c('DropdownList',{attrs:{\"placeholder\":field.Placeholder,\"value\":field.Value,\"label\":field.Label,\"items\":field.Items},on:{\"input\":function($event){return _vm.handleFieldInput(field, $event)}}}):(field.Type === 'checkbox')?_c('Checkbox',{attrs:{\"value\":field.Value,\"label\":field.Label,\"items\":field.Items},on:{\"input\":function($event){return _vm.handleFieldInput(field, $event)}}}):(field.Type === 'checkboxes')?_c('Checkboxes',{attrs:{\"fields\":field.Fields},on:{\"input\":function($event){return _vm.handleFieldInput($event.field, $event.value)}}}):(field.Type === 'file')?_c('FileUpload',{attrs:{\"label\":field.Label,\"placeholder\":field.Placeholder,\"multiple\":field.Multiple,\"capture\":field.Capture,\"contentTypes\":field.ContentTypes},on:{\"input\":function($event){return _vm.handleFieldInput(field, $event)}}}):(field.Type === 'address')?_c('AddressField',{attrs:{\"value\":field.Value,\"label\":field.Label,\"placeholder\":field.Placeholder},on:{\"input\":function($event){return _vm.handleFieldInput(field, $event)}}}):_c('Field',{attrs:{\"rows\":field.Rows,\"type\":field.Type,\"label\":field.Label,\"placeholder\":field.Placeholder,\"value\":field.Value},on:{\"input\":function($event){return _vm.handleFieldInput(field, $event)}}}),_c('FieldErrors',{attrs:{\"errors\":_vm.errors.filter(function (er) { return er.Key === field.Key; })}})]:_vm._e()],2)}):[_vm._t(\"default\")]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Utils from 'truemarket-modules/src/Utils'\r\n\r\nexport default class ValidationError {\r\n Id = Utils.GetId();\r\n Key: string;\r\n Error: string;\r\n\r\n constructor (key: string, error: string) {\r\n this.Key = key\r\n this.Error = error\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field dropdown-list\"},[_c('select',{ref:\"input\",staticClass:\"field__input\",class:{'has-placeholder': _vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":_vm.handleInput}},[(_vm.placeholder)?_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(_vm._s(_vm.placeholder))]):_vm._e(),_vm._l((_vm.items),function(item){return _c('option',{key:item.Key,domProps:{\"value\":item.Key}},[_vm._v(\" \"+_vm._s(item.Label)+\" \")])})],2),_c('label',{staticClass:\"field__label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"field__underline\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport { DropdownListItem } from '../../../../app_code/Forms'\r\n\r\n@Component\r\nexport default class DropdownList extends Vue {\r\n @Prop({ default: 'text' })\r\n private readonly type!: string;\r\n\r\n @Prop()\r\n private readonly placeholder!: string;\r\n\r\n @Prop({ required: true })\r\n private readonly label!: string;\r\n\r\n @Prop({ required: true })\r\n private readonly value!: string;\r\n\r\n @Prop({ required: true })\r\n private readonly items!: DropdownListItem[];\r\n\r\n handleInput () {\r\n const input = this.$refs.input as HTMLInputElement\r\n\r\n this.$emit('input', input.value)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DropdownList.vue?vue&type=template&id=18b36c43&scoped=true&\"\nimport script from \"./DropdownList.vue?vue&type=script&lang=ts&\"\nexport * from \"./DropdownList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18b36c43\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.type === 'textarea')?_c('textarea',{ref:\"input\",staticClass:\"field__input\",class:{'has-placeholder': _vm.placeholder, 'has-value': _vm.value.length},attrs:{\"rows\":_vm.rows,\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"autocomplete\":_vm.autocomplete},on:{\"input\":_vm.handleInput}}):_c('input',{ref:\"input\",staticClass:\"field__input\",class:{'has-placeholder': _vm.placeholder, 'has-value': _vm.value.length},attrs:{\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"autocomplete\":_vm.autocomplete},on:{\"input\":_vm.handleInput}}),_c('label',{staticClass:\"field__label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"field__underline\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class Field extends Vue {\r\n @Prop({ default: 'text' })\r\n private readonly type!: string;\r\n\r\n @Prop()\r\n private readonly placeholder!: string;\r\n\r\n @Prop({ required: true })\r\n private readonly label!: string;\r\n\r\n @Prop()\r\n private readonly autocomplete!: string;\r\n\r\n @Prop({ default: '' })\r\n private readonly value!: string;\r\n\r\n @Prop({ default: '3' })\r\n private readonly rows!: string;\r\n\r\n mounted () {\r\n if (this.type === 'date') {\r\n // const inputElement: HTMLInputElement | null = (this.$refs.input as HTMLInputElement)\r\n // inputElement.setAttribute('max', '')\r\n }\r\n }\r\n\r\n handleInput () {\r\n const val: string | null = (this.$refs.input as HTMLInputElement).value\r\n const inputElement: HTMLInputElement | null = (this.$refs.input as HTMLInputElement)\r\n\r\n if (this.type === 'date' || val === '') {\r\n inputElement.setAttribute('class', 'field__input')\r\n } else {\r\n inputElement.setAttribute('class', 'field__input has-value')\r\n }\r\n\r\n if (val === '') {\r\n this.$emit('input', null)\r\n } else {\r\n this.$emit('input', val)\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Field.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Field.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Field.vue?vue&type=template&id=a4c18562&scoped=true&\"\nimport script from \"./Field.vue?vue&type=script&lang=ts&\"\nexport * from \"./Field.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a4c18562\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{ref:\"cb\",staticClass:\"checkbox__input\",attrs:{\"type\":\"checkbox\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.handleUpdated}}),_c('span',{staticClass:\"checkbox__icon\"},[_c('Icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isChecked),expression:\"isChecked\"}],staticClass:\"checkbox__icon__checked\",attrs:{\"icon\":\"check\"}})],1),_c('span',{staticClass:\"checkbox__label\",domProps:{\"innerHTML\":_vm._s(_vm.label)}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class Checkbox extends Vue {\r\n @Prop({ required: true })\r\n private readonly value!: string;\r\n\r\n private val = this.value;\r\n\r\n @Prop({ required: true })\r\n private readonly label!: string;\r\n\r\n private isChecked = false;\r\n\r\n mounted () {\r\n this.handleValChanged()\r\n }\r\n\r\n @Watch('value')\r\n handleValChanged () {\r\n const cb = this.$refs.cb as HTMLInputElement\r\n\r\n this.isChecked = cb.checked\r\n\r\n if (this.value) this.val = this.value\r\n }\r\n\r\n handleUpdated () {\r\n const cb = this.$refs.cb as HTMLInputElement\r\n\r\n this.isChecked = cb.checked\r\n\r\n // this.$emit('input', this.value)\r\n this.$emit('input', cb.checked ? this.val : '')\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkbox.vue?vue&type=template&id=21356db2&scoped=true&\"\nimport script from \"./Checkbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./Checkbox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Checkbox.vue?vue&type=style&index=0&id=21356db2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21356db2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"checkboxes\"},_vm._l((_vm.fields),function(field){return _c('Checkbox',{key:field.Key,attrs:{\"value\":field.Value,\"label\":field.Label,\"items\":field.Items},on:{\"input\":function($event){return _vm.handleFieldInput(field, $event)}}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { FormField } from '@/app_code/Forms'\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\nimport Checkbox from './Checkbox.vue'\r\n\r\n@Component({\r\n components: {\r\n Checkbox\r\n }\r\n})\r\nexport default class Checkboxes extends Vue {\r\n @Prop({ required: true })\r\n private fields!: FormField[];\r\n\r\n handleFieldInput (field: FormField, value: string): void {\r\n this.$emit('input', { field: field, value: value })\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkboxes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkboxes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkboxes.vue?vue&type=template&id=22ede866&scoped=true&\"\nimport script from \"./Checkboxes.vue?vue&type=script&lang=ts&\"\nexport * from \"./Checkboxes.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Checkboxes.vue?vue&type=style&index=0&id=22ede866&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22ede866\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"file-upload\"},[_c('label',{staticClass:\"file-upload__group\"},[_c('span',{staticClass:\"file-upload__group-label\"},[_vm._v(_vm._s(_vm.placeholder))]),_c('span',{staticClass:\"file-upload__buttons\"},[_c('span',{staticClass:\"file-upload__btn\",on:{\"click\":_vm.pickFiles}},[_c('Icon',{attrs:{\"icon\":\"file_upload\"}}),_c('span',{staticClass:\"file-upload__btn__label\"},[_vm._v(\"Browse\")])],1)])])]),(_vm.files)?_c('div',{staticClass:\"field__file-list\"},[_c('ul',_vm._l((_vm.files),function(file,idx){return _c('li',{key:file.FileId,staticClass:\"file\"},[_c('span',{staticClass:\"file__details\"},[_c('span',{staticClass:\"file__name\"},[_vm._v(_vm._s(file.Filename))]),_c('span',{staticClass:\"file__size\"},[_vm._v(_vm._s(_vm.humanFileSize(file.FileSize)))])]),_c('span',{staticClass:\"file__spacer\"}),_c('span',{staticClass:\"file__remove-btn\",on:{\"click\":function($event){return _vm.removeFile(idx)}}},[_vm._v(\"Remove\")])])}),0)]):_vm._e(),_c('label',{staticClass:\"field__label\"},[_vm._v(_vm._s(_vm.label))]),(_vm.isCapturing)?[_c('portal',{attrs:{\"to\":\"global\"}},[_c('VideoRecorder',{on:{\"close\":function($event){_vm.isCapturing = false}}})],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vr\"},[_c('div',{staticClass:\"vr__viewport\"},[_c('video',{ref:\"vidElem\",staticClass:\"vr__preview\",attrs:{\"autoplay\":\"\",\"playsinline\":\"\"}})]),_c('div',{staticClass:\"vr__overlay\"},[_vm._v(\" \"+_vm._s(_vm.formattedCurrentTime)+\" / \"+_vm._s(_vm.formattedTimeLimit)+\" \")]),_c('div',{staticClass:\"vr__controls\"},[_c('button',{staticClass:\"vr__button\",on:{\"click\":_vm.cancel}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"vr__toggler\"}),_c('button',{staticClass:\"vr__button\",style:({'hidden': !_vm.isDone}),on:{\"click\":_vm.cancel}},[_vm._v(\"Done\")])]),(_vm.needsPermissions)?_c('div',{staticClass:\"vr__permissions-overlay\"},[_c('div',{staticClass:\"vr__permissions-overlay__content\"},[_c('Icon',{attrs:{\"icon\":\"videocam\"}}),_c('p',[_vm._v(\" TrueMarket needs permission to access your device's camera to record a video of your property. \")])],1),_c('div',{staticClass:\"vr__permissions-overlay__btns\"},[_c('button',{staticClass:\"vr__btn\",on:{\"click\":_vm.cancel}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"vr__btn vr__btn--primary\",on:{\"click\":_vm.initVideoStream}},[_vm._v(\"Allow Access\")])])]):_vm._e(),_c('div',{staticClass:\"vr-overlay-warn vr-overlay-warn--rotate\"},[_c('Icon',{attrs:{\"icon\":\"rotate_right\"}}),_c('p',[_vm._v(\" Please rotate your device \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class VideoRecorder extends Vue {\r\n stream: MediaStream | null = null\r\n\r\n needsPermissions = false\r\n\r\n get formattedCurrentTime (): string {\r\n return '0:00'\r\n }\r\n\r\n get formattedTimeLimit (): string {\r\n return '3:00'\r\n }\r\n\r\n get isDone (): boolean {\r\n return true\r\n }\r\n\r\n cancel (): void{\r\n this.$emit('close')\r\n }\r\n\r\n mounted (): void {\r\n this.needsPermissions = window.sessionStorage.getItem('tm.vr.hasPermissions') !== 'true'\r\n\r\n if (!this.needsPermissions) this.initVideoStream()\r\n }\r\n\r\n initVideoStream (): void {\r\n navigator.mediaDevices.getUserMedia({ audio: true, video: { facingMode: 'environment' } }).then((stream) => {\r\n this.stream = stream\r\n\r\n const vidElem = this.$refs.vidElem as HTMLVideoElement\r\n\r\n vidElem.srcObject = stream\r\n\r\n this.needsPermissions = false\r\n\r\n window.sessionStorage.setItem('tm.vr.hasPermissions', 'true')\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoRecorder.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoRecorder.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VideoRecorder.vue?vue&type=template&id=33b9b003&scoped=true&\"\nimport script from \"./VideoRecorder.vue?vue&type=script&lang=ts&\"\nexport * from \"./VideoRecorder.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./VideoRecorder.vue?vue&type=style&index=0&id=33b9b003&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33b9b003\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport VideoRecorder from '@/components/VideoRecorder.vue'\r\nimport { GetFileModel } from 'truemarket-modules/src/models/api/files'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n VideoRecorder\r\n }\r\n})\r\nexport default class FileUpload extends Vue {\r\n @Prop()\r\n private readonly placeholder!: string;\r\n\r\n @Prop({ required: true })\r\n private readonly label!: string;\r\n\r\n @Prop({ default: '' })\r\n private readonly value!: string;\r\n\r\n @Prop()\r\n private readonly multiple!: boolean;\r\n\r\n @Prop()\r\n private readonly capture!: boolean;\r\n\r\n @Prop()\r\n private readonly contentTypes!: string[];\r\n\r\n private files: GetFileModel[] = []\r\n\r\n private isCapturing = false\r\n\r\n recordVideo (): void {\r\n this.isCapturing = true\r\n }\r\n\r\n humanFileSize (size: number): string {\r\n var i = Math.floor(Math.log(size) / Math.log(1024))\r\n\r\n return ((size / Math.pow(1024, i)).toFixed(2) as unknown as number) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]\r\n }\r\n\r\n private fileInput: HTMLInputElement | null = null\r\n\r\n pickFiles (): void {\r\n if (this.fileInput === null) {\r\n this.fileInput = document.createElement('input')\r\n this.fileInput.type = 'file'\r\n if (this.contentTypes.length) this.fileInput.accept = this.contentTypes.join(',')\r\n if (this.multiple) this.fileInput.multiple = true\r\n if (this.capture) this.fileInput.setAttribute('capture', 'environment')\r\n\r\n this.fileInput.onchange = this.handleFilesChanged\r\n }\r\n\r\n this.fileInput.click()\r\n }\r\n\r\n async handleFilesChanged (): Promise {\r\n if (this.fileInput === null) return false\r\n\r\n const newfiles = this.fileInput.files\r\n\r\n if (!newfiles) return false\r\n\r\n for (let i = 0; i < newfiles.length; i++) {\r\n const file = newfiles[i]\r\n\r\n const tmFile = await Services.API.Files.Upload(file)\r\n\r\n this.files.push(tmFile)\r\n }\r\n\r\n this.fileInput.value = ''\r\n\r\n this.$emit('input', this.files.map(f => f.FileId).join(','))\r\n\r\n return true\r\n }\r\n\r\n removeFile (idx: number): void {\r\n this.files.splice(idx, 1)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=30fe1eae&scoped=true&\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=ts&\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FileUpload.vue?vue&type=style&index=0&id=30fe1eae&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30fe1eae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field field--address\"},[_c('input',{ref:\"input\",staticClass:\"field__input\",class:{'has-placeholder': _vm.placeholder, 'has-value': _vm.val.length},attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder,\"autocomplete\":_vm.autocomplete},domProps:{\"value\":_vm.val},on:{\"input\":_vm.handleInput}}),_c('label',{staticClass:\"field__label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"field__underline\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.results.length),expression:\"results.length\"}],staticClass:\"field__autocomplete-results\"},[_c('ul',_vm._l((_vm.results),function(res){return _c('li',{key:res.PlaceId,staticClass:\"autocomplete-result\",on:{\"click\":function($event){return _vm.selectResult(res)}}},[_c('h5',{staticClass:\"autocomplete-result__main\"},[_vm._v(_vm._s(res.StructuredFormatting.MainText))]),_c('h6',{staticClass:\"autocomplete-result__sub\"},[_vm._v(_vm._s(res.StructuredFormatting.SecondaryText))])])}),0),_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field__autocomplete__powered-by\"},[_c('img',{attrs:{\"src\":\"/assets/images/powered_by_google_on_white.png\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { AddressModel } from 'truemarket-modules/src/models/api'\r\nimport { AutocompleteResultModel } from 'truemarket-modules/src/models/api/google/AutocompleteResultModel'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport Utils from 'truemarket-modules/src/Utils'\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class AddressField extends Vue {\r\n @Prop({ default: 'text' })\r\n private readonly type!: string;\r\n\r\n @Prop()\r\n private readonly placeholder!: string;\r\n\r\n @Prop({ required: true })\r\n private readonly label!: string;\r\n\r\n @Prop()\r\n private readonly autocomplete!: string;\r\n\r\n @Prop({ default: '' })\r\n private readonly value!: string;\r\n\r\n @Prop({ default: '3' })\r\n private readonly rows!: string;\r\n\r\n private val = this.value\r\n\r\n handleInput (): void {\r\n const val: string | null = (this.$refs.input as HTMLInputElement).value\r\n\r\n this.$emit('input', val)\r\n\r\n this.val = val\r\n\r\n this.fetchData()\r\n }\r\n\r\n private gmapsSession = Utils.GetGuid()\r\n\r\n results: AutocompleteResultModel[] = []\r\n\r\n private throttler: (() => void) | undefined = undefined\r\n\r\n fetchData (): void {\r\n if (this.throttler === undefined) {\r\n this.throttler = Utils.Throttle(1000, () => {\r\n Services.API.Google.AddressAutocomplete(this.val, 'country:au', this.gmapsSession).then((ac) => {\r\n this.results = ac.Predictions\r\n })\r\n })\r\n }\r\n\r\n if (this.val.length < 5) {\r\n this.results = []\r\n return\r\n }\r\n\r\n this.throttler()\r\n }\r\n\r\n selectResult (result: AutocompleteResultModel): void {\r\n Services.API.Google.GetPlaceDetails(result.PlaceId, this.gmapsSession).then((res) => {\r\n const place = res.Result\r\n\r\n const address: AddressModel = {\r\n UnitNumber: place.AddressComponents.find((ac) => ac.Types.includes('subpremise'))?.LongName,\r\n StreetNumber: place.AddressComponents.find((ac) => ac.Types.includes('street_number'))?.LongName ?? '',\r\n StreetName: place.AddressComponents.find((ac) => ac.Types.includes('route'))?.LongName ?? '',\r\n Suburb: place.AddressComponents.find((ac) => ac.Types.includes('locality'))?.LongName ?? '',\r\n State: place.AddressComponents.find((ac) => ac.Types.includes('administrative_area_level_1'))?.LongName ?? '',\r\n Postcode: place.AddressComponents.find((ac) => ac.Types.includes('postal_code'))?.LongName ?? '',\r\n FormattedAddress: '',\r\n FormattedAddressLines: []\r\n }\r\n\r\n const formattedComponents = []\r\n if (address.UnitNumber) {\r\n formattedComponents.push(address.UnitNumber + '/' + address.StreetNumber)\r\n } else if (address.StreetNumber) {\r\n formattedComponents.push(address.StreetNumber)\r\n }\r\n\r\n if (address.StreetName) formattedComponents.push(address.StreetName)\r\n if (address.Suburb) formattedComponents.push(address.Suburb)\r\n if (address.Postcode) formattedComponents.push(address.Postcode)\r\n\r\n this.val = formattedComponents.join(' ')\r\n\r\n this.$emit('input', JSON.stringify(address))\r\n this.results = []\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddressField.vue?vue&type=template&id=f6de0d78&scoped=true&\"\nimport script from \"./AddressField.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddressField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AddressField.vue?vue&type=style&index=0&id=f6de0d78&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f6de0d78\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field-errors\"},[(_vm.errors.length)?_c('ul',_vm._l((_vm.errors),function(err){return _c('li',{key:err.Id,staticClass:\"field-error\",domProps:{\"innerHTML\":_vm._s(err.Error)}})}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { ValidationError } from '@/app_code/Forms/Validation'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class FieldErrors extends Vue {\r\n @Prop()\r\n private errors!: ValidationError[];\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldErrors.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldErrors.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FieldErrors.vue?vue&type=template&id=30a5ff80&scoped=true&\"\nimport script from \"./FieldErrors.vue?vue&type=script&lang=ts&\"\nexport * from \"./FieldErrors.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FieldErrors.vue?vue&type=style&index=0&id=30a5ff80&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30a5ff80\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormDataset, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport { IValidatable, ValidationError, ValidationRuleset } from '@/app_code/Forms/Validation'\r\nimport { UIError } from 'truemarket-modules/src/models/ui'\r\nimport { HttpError } from 'truemarket-modules/src/services'\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator'\r\nimport DropdownList from './DropdownList.vue'\r\nimport Field from './Field.vue'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Checkboxes from '@/components/UI/Elements/Forms/Checkboxes.vue'\r\nimport FileUpload from '@/components/UI/Elements/Forms/FileUpload.vue'\r\nimport AddressField from './AddressField.vue'\r\nimport FieldErrors from './FieldErrors.vue'\r\n\r\n@Component({\r\n components: {\r\n DropdownList,\r\n Field,\r\n Checkbox,\r\n Checkboxes,\r\n FileUpload,\r\n AddressField,\r\n FieldErrors\r\n }\r\n})\r\nexport default class Form extends Vue {\r\n @Prop()\r\n private readonly validationErrors!: boolean;\r\n\r\n @Prop({ default: () => [] as FormField[] })\r\n private readonly fields!: FormDef;\r\n\r\n @Prop({ default: null })\r\n private readonly validator!: IValidatable | null;\r\n\r\n private fieldValues: FormValue[] = [];\r\n\r\n private errors: ValidationError[] = []\r\n\r\n public GetValues (): FormDataset {\r\n return new FormDataset({\r\n Fields: this.fieldValues\r\n })\r\n }\r\n\r\n @Watch('fields')\r\n updateFieldValues (): void {\r\n this.fieldValues = []\r\n\r\n this.fields.forEach((f) => {\r\n if ('IsGroup' in f && f.IsGroup) {\r\n (f as FormFieldGroup).Fields.forEach((sf) => {\r\n if (sf.Type !== 'checkbox') this.fieldValues.push({ FieldId: sf.Id, Key: sf.Key, Value: sf.Value ?? '', IsComposite: sf.Composite })\r\n })\r\n } else {\r\n if ('Type' in f && f.Type !== 'checkbox') this.fieldValues.push({ FieldId: f.Id, Key: f.Key, Value: f.Value ?? '', IsComposite: f.Composite })\r\n }\r\n })\r\n }\r\n\r\n mounted (): void {\r\n this.updateFieldValues()\r\n }\r\n\r\n handleFieldInput (field: FormField, value: string): void {\r\n let f = this.fieldValues.find((fv) => fv.FieldId === field.Id)\r\n\r\n if (f) {\r\n f.Value = value\r\n } else {\r\n f = { FieldId: field.Id, Key: field.Key, Value: value, IsComposite: field.Composite } as FormValue\r\n\r\n this.fieldValues.push(f)\r\n }\r\n\r\n field.Value = value\r\n\r\n this.$emit('field_updated', field)\r\n\r\n this.validate()\r\n }\r\n\r\n public validate (): boolean {\r\n const ds = new FormDataset({ Fields: this.fieldValues })\r\n\r\n const implicitRuleset = new ValidationRuleset([])\r\n\r\n // First we check for any built-in validation\r\n this.fields.forEach((f) => {\r\n if ('IsGroup' in f && f.IsGroup) {\r\n const group = f as FormFieldGroup\r\n\r\n group.Fields.forEach((fld) => {\r\n const field = fld as FormField\r\n\r\n if (field.Required) implicitRuleset.Rules.push(v => v.GetValue(field.Key).length > 0 ? [] : [new ValidationError(field.Key, `${field.ValidationLabel}`)])\r\n if (field.Validator) implicitRuleset.Rules.push(field.Validator)\r\n })\r\n } else {\r\n const field = f as FormField\r\n\r\n // CUSTOM ADDRESS CHECK\r\n if (f.Key === 'AddressDetails_Address') {\r\n if (field.Required && field.Display) implicitRuleset.Rules.push(v => !v.GetValue(field.Key).includes('@') ? [] : [new ValidationError(f.Key, `${'Please enter valid property address'}`)])\r\n }\r\n\r\n if (field.Required && field.Display) implicitRuleset.Rules.push(v => v.GetValue(field.Key).length > 0 ? [] : [new ValidationError(f.Key, `${field.ValidationLabel}`)])\r\n if (field.Validator && field.Display) implicitRuleset.Rules.push(field.Validator)\r\n }\r\n })\r\n\r\n if (implicitRuleset.Rules.length) {\r\n const implicitResult = implicitRuleset.Validate(ds)\r\n\r\n this.errors = implicitResult ?? []\r\n\r\n if (implicitResult && implicitResult.length > 0) {\r\n this.$emit('validated', false)\r\n\r\n return false\r\n }\r\n }\r\n\r\n if (this.validator) {\r\n const result = this.validator.Validate(new FormDataset({\r\n Fields: this.fieldValues\r\n }))\r\n\r\n const valid = result === null || result.length === 0\r\n\r\n this.errors = result ?? []\r\n\r\n this.$emit('validated', valid)\r\n\r\n return valid\r\n }\r\n\r\n this.$emit('validated', true)\r\n\r\n return true\r\n }\r\n\r\n // public SetErrorState (error: HttpError, autoError = true): void {\r\n // if (autoError) this.Errors = []\r\n\r\n // if (error.ModelState) {\r\n // this.ErrorState = error.ModelState\r\n\r\n // if (autoError) {\r\n // this.Errors.push({\r\n // Scheme: 'danger',\r\n // Message: 'Please correct the errors highlighted below'\r\n // })\r\n // }\r\n // }\r\n // }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=781ec146&scoped=true&\"\nimport script from \"./Form.vue?vue&type=script&lang=ts&\"\nexport * from \"./Form.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Form.vue?vue&type=style&index=0&id=781ec146&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"781ec146\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"valuation-form__step\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class ValuationFormStep extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValuationFormStep.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValuationFormStep.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ValuationFormStep.vue?vue&type=template&id=7e5631d7&scoped=true&\"\nimport script from \"./ValuationFormStep.vue?vue&type=script&lang=ts&\"\nexport * from \"./ValuationFormStep.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ValuationFormStep.vue?vue&type=style&index=0&id=7e5631d7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e5631d7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormField, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '../IValuationFormStep'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\n\r\n@Component({\r\n components: {\r\n ValuationFormStep,\r\n Form\r\n }\r\n})\r\nexport default class AddressDetails extends Vue implements IValuationFormStep {\r\n private fields: FormField[] = [\r\n new FormField({ Key: 'AddressDetails_Address', Type: 'address', Label: 'Property Address:', Placeholder: 'Enter Address Here', Required: true })\r\n ]\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n localStorage.setItem('showNotice', 'true')\r\n }\r\n}\r\n","enum EnumValueType {\r\n None = 0,\r\n\r\n ValuationPurpose = 3,\r\n\r\n PropertyType = 1,\r\n PropertySubType = 2,\r\n\r\n PropertyCondition = 4,\r\n\r\n Bedrooms = 5,\r\n Bathrooms = 6,\r\n Parking = 7,\r\n\r\n FloorConstructionType = 8,\r\n WallConstructionType = 9,\r\n RoofConstructionType = 10,\r\n \r\n ResidentialPropertyFeature = 11,\r\n\r\n CommercialAccommodationFeatures = 12,\r\n CommercialPropertyFeatures = 13,\r\n\r\n IndustrialAccommodationFeatures = 14,\r\n IndustrialPropertyFeatures = 15,\r\n\r\n RetailAccommodationFeatures = 16,\r\n RetailPropertyFeatures = 17,\r\n\r\n CityViews = 18,\r\n RiverViews = 19,\r\n ElevatedOutlook = 20,\r\n Pool = 21,\r\n TennisCourt = 22,\r\n SecureParkingSpaces = 23,\r\n\r\n ResidentialPropertyFeatures = 24,\r\n\r\n RuralPropertyFeatures = 25,\r\n\r\n Dams = 26,\r\n Bores = 27,\r\n FencedPaddocks = 28,\r\n Outbuildings = 29,\r\n AirConditioningType = 30\r\n}\r\n\r\nexport default EnumValueType\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddressDetails.vue?vue&type=template&id=78f50039&scoped=true&\"\nimport script from \"./AddressDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddressDetails.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AddressDetails.vue?vue&type=style&index=0&id=78f50039&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78f50039\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 2: Assessment Details\")]),_c('p',{staticClass:\"vf__hint\"},[_vm._v(\" Please confirm the purpose and date of the e-valuation to ensure the assessment meets your requirements \")]),(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"form\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { DropdownField, DropdownListItem, FormField, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { IValuationFormStepModel, RequestValuationAssessmentDetailsModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep, { IValuationFormModelBuilderStep } from '../IValuationFormStep'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n ValuationFormStep\r\n }\r\n})\r\nexport default class AssessmentDetails extends Vue implements IValuationFormStep, IValuationFormModelBuilderStep {\r\n private fields: FormField[] | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n mounted (): void {\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ValuationPurpose).then((vals) => {\r\n this.fields = [\r\n new DropdownField({\r\n Key: 'AssessmentDetails_Purpose',\r\n Label: 'Purpose:',\r\n Placeholder: 'Please Select',\r\n Items: vals.filter((f) => { return f.Value !== 'GeneralInformation' }).map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'AssessmentDetails_CurrentDate',\r\n Type: 'date',\r\n Label: 'Date of Assessment:',\r\n Placeholder: '',\r\n Required: true\r\n })\r\n ]\r\n\r\n this.loading = false\r\n }).catch(() => {\r\n this.errored = true\r\n })\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.form as Form).GetValues().Fields\r\n }\r\n\r\n buildModel (): IValuationFormStepModel {\r\n return (this.$refs.form as Form).GetValues().BuildModel()\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AssessmentDetails.vue?vue&type=template&id=4cf51f10&scoped=true&\"\nimport script from \"./AssessmentDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./AssessmentDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4cf51f10\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 4: Your Details\")]),_c('p',{staticClass:\"vf__hint\"},[_vm._v(\" Please enter your contact details for report delivery and to ask any follow-up questions if required \")]),(_vm.fields)?_c('Form',{ref:\"form\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormField, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { IValuationFormStepModel, RequestValuationContactModel } from 'truemarket-modules/src/models/api'\r\nimport { API, ServiceManager, Services, ServiceType } from 'truemarket-modules/src/services'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport IAsyncStep from '../IAsyncStep'\r\nimport IValuationFormStep, { IValuationFormModelBuilderStep } from '../IValuationFormStep'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n ValuationFormStep\r\n }\r\n})\r\nexport default class ContactDetails extends Vue implements IValuationFormStep, IValuationFormModelBuilderStep, IAsyncStep {\r\n private fields: FormField[] = [\r\n new FormField({ Key: 'Contact_FirstName', Label: 'First Name:', Placeholder: 'Your first name', Required: true }),\r\n new FormField({ Key: 'Contact_LastName', Label: 'Last Name:', Placeholder: 'Your last name', Required: true }),\r\n new FormField({ Key: 'Contact_Email', Label: 'Email:', Placeholder: 'Your email address', Type: 'email', Required: true }),\r\n new FormField({ Key: 'Contact_Phone', Label: 'Phone:', Placeholder: 'Your phone number', Type: 'number', Required: true }),\r\n new FormField({ Key: 'Contact_BusinessName', Label: 'Business Name (optional):', Placeholder: 'Your business name', Required: false })\r\n ]\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.form as Form).GetValues().Fields\r\n }\r\n\r\n buildModel (): IValuationFormStepModel | IValuationFormStepModel[] {\r\n return (this.$refs.form as Form).GetValues().BuildModel()\r\n }\r\n\r\n async OnBeforeNext (): Promise {\r\n const api = ServiceManager.Require(ServiceType.API)\r\n\r\n const model = (this.$refs.form as Form).GetValues().BuildModel()\r\n\r\n // onst preModel = this.collectData() as any\r\n\r\n const contact = await api.CRM.CreateContact({\r\n FirstName: model.FirstName,\r\n LastName: model.LastName,\r\n Email: model.Email,\r\n Phone: model.Phone,\r\n RequestBearerToken: true,\r\n BusinessName: model.BusinessName,\r\n Subject: 'TrueMarket Step 4: Your Details'\r\n }, true)\r\n\r\n this.$emit('got_contact', contact)\r\n\r\n return true\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContactDetails.vue?vue&type=template&id=6bda35c8&scoped=true&\"\nimport script from \"./ContactDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContactDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bda35c8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 3: Property Classification\")]),_c('p',{staticClass:\"vf__hint\"},[_vm._v(\" Please enter your property type and classification below \")]),(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"form\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { IValuationFormStepModel, RequestValuationPropertyClassificationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumerationValueModel from 'truemarket-modules/src/models/api/enumerations/EnumerationValueModel'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep, { IValuationFormModelBuilderStep } from '../IValuationFormStep'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n ValuationFormStep\r\n }\r\n})\r\nexport default class PropertyTypeSelection extends Vue implements IValuationFormStep, IValuationFormModelBuilderStep {\r\n private fields: FormDef | null = null\r\n\r\n private propertyTypes: EnumerationValueModel[] | null = null;\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition)\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.propertyTypes = vals[0]\r\n\r\n this.loading = false\r\n\r\n this.fields = [\r\n new DropdownField({\r\n Key: 'PropertyTypeSelection_PropertyType',\r\n Label: 'Property Type:',\r\n Placeholder: 'Please Select',\r\n Items: this.propertyTypes?.map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertySubclassificationDetails',\r\n Display: false,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'PropertyTypeSelection_PropertyClassification',\r\n Label: 'Property Classification:',\r\n Value: '',\r\n Placeholder: 'Please Select',\r\n Items: [],\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n }).catch(() => {\r\n this.errored = true\r\n })\r\n }\r\n\r\n buildModel (): IValuationFormStepModel {\r\n return (this.$refs.form as Form).GetValues().BuildModel()\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.form as Form).GetValues().Fields\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'PropertyTypeSelection_PropertyType') {\r\n if (!this.propertyTypes) return\r\n\r\n const subclassificationGroup = this.fields.find((f) => f.Key === 'PropertySubclassificationDetails')\r\n\r\n if (!subclassificationGroup) return\r\n\r\n subclassificationGroup.Display = true\r\n\r\n const propertyTypeSelection = this.propertyTypes.find((v) => v.ValueId === data.Value)\r\n\r\n if (!propertyTypeSelection) return\r\n\r\n Services.API.Enumerations.GetEnumValueChildren(propertyTypeSelection.ValueId, [EnumValueType.PropertySubType]).then((vals) => {\r\n if (!this.fields) return\r\n\r\n ((this.fields[1] as FormFieldGroup).Fields[0] as DropdownField).Items = vals.map((v) => ({ Label: v.Label, Key: v.ValueId }))\r\n }).catch(() => {\r\n this.errored = true\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyTypeSelection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyTypeSelection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PropertyTypeSelection.vue?vue&type=template&id=30f19929&scoped=true&\"\nimport script from \"./PropertyTypeSelection.vue?vue&type=script&lang=ts&\"\nexport * from \"./PropertyTypeSelection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30f19929\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 7: Payment\")]),_c('p',{staticClass:\"vf__hint\"},[(_vm.product)?_c('b',{staticClass:\"vf__hint-price\"},[_vm._v(\"Total Assessment Fee $\"+_vm._s(this.product.Price)+\" (incl. GST) \")]):_vm._e(),_c('br'),_vm._v(\" Please complete the below payment to order your assessment \")]),_c('div',{staticClass:\"field field--coupon\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.coupon),expression:\"coupon\"}],staticClass:\"field__input\",class:{ 'field--coupon-error': _vm.codeError},attrs:{\"type\":\"text\",\"placeholder\":\"\"},domProps:{\"value\":(_vm.coupon)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.coupon=$event.target.value}}}),_c('label',{staticClass:\"field__label\"},[_vm._v(\"Coupon\")]),_c('a',{staticClass:\"modal__button\",on:{\"click\":_vm.handleValidateClick}},[_vm._v(\"Validate\")])]),(_vm.product)?_c('Checkout',{ref:\"checkout\",attrs:{\"product\":_vm.product,\"contact\":_vm.contact},on:{\"payment_completed\":function($event){return _vm.$emit('payment_completed', $event)}}}):_vm._e(),_c('Form',{attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}),(_vm.paymentProcessing)?_c('div',{staticClass:\"payment__overlay\"},[_c('TMLoader'),_c('h4',{staticClass:\"payment__overlay__heading\"},[_vm._v(\"Please Wait...\")]),_c('p',{staticClass:\"payment__overlay__content\"},[_vm._v(\" Your order is currently being processed\"),_c('br'),_vm._v(\" Do not refresh or close your browser. \")])],1):_vm._e(),_c('transition',{attrs:{\"name\":\"modal\"}},[(_vm.active)?_c('div',{staticClass:\"modal-wrap\"},[_c('div',{staticClass:\"modal\"},[_c('div',{staticClass:\"modal__header\"},[_c('h4',{staticClass:\"modal-title\"})]),_c('div',{staticClass:\"modal__body\"},[_c('p',[_vm._v(\" You have entered the TrueMarket coupon for \"+_vm._s(_vm.voucherName)+\" by pressing confirm you declare you have permission to use this coupon code and you agree to the \"),_c('a',{attrs:{\"href\":\"/terms-and-conditions\",\"target\":\"_blank\"}},[_vm._v(\"Terms & Conditions\")]),_vm._v(\". \")])])]),_c('div',{staticClass:\"modal__menu\"},[_c('a',{staticClass:\"modal__button\",on:{\"click\":_vm.handleCancelClick}},[_vm._v(\"CANCEL\")]),_c('a',{staticClass:\"modal__button\",on:{\"click\":_vm.handleConfirmClick}},[_vm._v(\"CONFIRM\")])])]):_vm._e()]),(_vm.cardHasFailed)?_c('p',{staticClass:\"vf__hint\"},[_c('b',{staticClass:\"vf__hint-price\",staticStyle:{\"color\":\"red\"}},[_vm._v(\"The credit card details you have entered cannot be verified. Please enter correct payment details to finalise your order.\")])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"checkout\"},[_c('Field',{attrs:{\"type\":\"text\",\"autocomplete\":\"cc-name\",\"label\":\"Name on Card\",\"placeholder\":\"\"},model:{value:(_vm.cardholderName),callback:function ($$v) {_vm.cardholderName=$$v},expression:\"cardholderName\"}}),_c('div',{staticClass:\"field\"},[_c('div',{ref:\"cardNumber\",staticClass:\"field__input\"}),_c('label',{staticClass:\"field__label\"},[_vm._v(\"Card Number\")])]),_c('div',{staticClass:\"field\"},[_c('div',{ref:\"cardExpiration\",staticClass:\"field__input\"}),_c('label',{staticClass:\"field__label\"},[_vm._v(\"Expiry Date\")])]),_c('div',{staticClass:\"field\"},[_c('div',{ref:\"cardCvn\",staticClass:\"field__input\"}),_c('label',{staticClass:\"field__label\"},[_vm._v(\"CVC\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.19.1\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\nimport { loadStripe, Stripe, StripeCardNumberElement, StripeElements } from '@stripe/stripe-js'\r\nimport { API, ServiceManager, ServiceType } from 'truemarket-modules/src/services'\r\nimport StripeService from 'truemarket-modules/src/services/payment/stripe/StripeService'\r\nimport Field from '../Forms/Field.vue'\r\nimport { InvoiceModel } from 'truemarket-modules/src/models/api/invoices'\r\nimport { GetContactModel } from 'truemarket-modules/src/models/api/crm'\r\nimport { GetProductModel } from 'truemarket-modules/src/models/api/products'\r\n\r\n@Component({\r\n components: {\r\n Field\r\n }\r\n})\r\nexport default class Checkout extends Vue {\r\n private stripe: Stripe | null = null\r\n private elements: StripeElements | null = null\r\n\r\n private stripeService = ServiceManager.Require(ServiceType.Stripe)\r\n\r\n @Prop()\r\n private readonly product!: GetProductModel;\r\n\r\n @Prop()\r\n private readonly contact!: GetContactModel | null;\r\n\r\n private api = ServiceManager.Require(ServiceType.API)\r\n\r\n cardholderName = ''\r\n\r\n private invoice: InvoiceModel | null = null\r\n\r\n GetInvoice (): InvoiceModel | null {\r\n return this.invoice\r\n }\r\n\r\n async mounted () {\r\n this.stripe = await loadStripe(this.stripeService.GetPublishableKey())\r\n\r\n if (this.stripe) this.elements = this.stripe.elements()\r\n\r\n if (this.elements) {\r\n this.elements.create('cardNumber').mount(this.$refs.cardNumber as HTMLElement)\r\n this.elements.create('cardExpiry').mount(this.$refs.cardExpiration as HTMLElement)\r\n this.elements.create('cardCvc').mount(this.$refs.cardCvn as HTMLElement)\r\n }\r\n }\r\n\r\n Delay (): Promise {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve()\r\n }, 4000)\r\n })\r\n }\r\n\r\n async OnBeforeNext (): Promise {\r\n if (!this.stripe) return false\r\n\r\n const tmReferral = localStorage.getItem('tmReferral')\r\n const invoice = await this.api.Product.CreateInvoice(this.product.ProductId, tmReferral)\r\n this.invoice = invoice\r\n\r\n const pi = await this.api.Payment.CreateInvoicePaymentIntent(invoice.InvoiceId)\r\n\r\n const result = await this.stripe.confirmCardPayment(pi.ClientSecret, {\r\n payment_method: {\r\n card: this.elements?.getElement('cardNumber') as StripeCardNumberElement,\r\n billing_details: {\r\n name: this.cardholderName\r\n }\r\n }\r\n })\r\n\r\n return result.paymentIntent?.status === 'succeeded'\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkout.vue?vue&type=template&id=0a64955f&\"\nimport script from \"./Checkout.vue?vue&type=script&lang=ts&\"\nexport * from \"./Checkout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tm-loader\"},[_c('img',{attrs:{\"src\":\"/assets/images/brand/tick.svg\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class TMLoader extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TMLoader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TMLoader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TMLoader.vue?vue&type=template&id=40f7942e&scoped=true&\"\nimport script from \"./TMLoader.vue?vue&type=script&lang=ts&\"\nexport * from \"./TMLoader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TMLoader.vue?vue&type=style&index=0&id=40f7942e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40f7942e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormField } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport Checkout from '@/components/UI/Elements/Payment/Checkout.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { API, ServiceManager, Services, ServiceType } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\nimport IAsyncStep from '../IAsyncStep'\r\nimport { InvoiceModel } from 'truemarket-modules/src/models/api/invoices'\r\nimport { GetContactModel } from 'truemarket-modules/src/models/api/crm'\r\nimport { GetProductModel } from 'truemarket-modules/src/models/api/products'\r\nimport TMLoader from '@/components/UI/TMLoader.vue'\r\n\r\n@Component({\r\n components: {\r\n ValuationFormStep,\r\n Form,\r\n Checkout,\r\n TMLoader\r\n }\r\n})\r\nexport default class Payment extends Vue implements IAsyncStep {\r\n @Prop({ required: true })\r\n private readonly model!: RequestValuationModel\r\n\r\n @Prop({ required: true })\r\n private readonly collectData!: any\r\n\r\n private api = ServiceManager.Require(ServiceType.API)\r\n\r\n private product: GetProductModel | null = null\r\n\r\n private invoice: InvoiceModel | null = null\r\n\r\n paymentProcessing = false\r\n\r\n private active = false\r\n\r\n private cardHasFailed = false\r\n\r\n private codeError = false\r\n\r\n private voucherName = ''\r\n\r\n coupon = ''\r\n\r\n async mounted (): Promise {\r\n this.updatePrice()\r\n }\r\n\r\n handleCancelClick (): void {\r\n this.active = false\r\n }\r\n\r\n async handleConfirmClick (): Promise {\r\n if (this.api.Payment.HasVoucher(this.coupon)) {\r\n this.paymentProcessing = true\r\n this.active = false\r\n\r\n const tmReferral = localStorage.getItem('tmReferral')\r\n const invoice = await this.api.Product.CreateInvoice(this.product.ProductId, tmReferral)\r\n\r\n this.$emit('handleVoucherOrder', invoice)\r\n }\r\n }\r\n\r\n async handleValidateClick (): Promise {\r\n if (await this.api.Payment.HasVoucher(this.coupon)) {\r\n this.codeError = false\r\n const voucher = await this.api.Payment.GetVoucher(this.coupon)\r\n\r\n this.voucherName = voucher.VoucherName\r\n\r\n if (voucher) {\r\n this.active = true\r\n }\r\n } else {\r\n this.codeError = true\r\n }\r\n }\r\n\r\n // This fuction watches if options are changed which could affect the assessment fee\r\n @Watch('model.PropertyClassification.PropertyClassification')\r\n @Watch('model.AssessmentDetails.Purpose')\r\n async updatePrice (): Promise {\r\n var productTypeId = this.model.PropertyClassification?.PropertyClassification\r\n\r\n var productPurposeId = this.model.AssessmentDetails?.Purpose\r\n\r\n if (productTypeId && productPurposeId) {\r\n this.product = await this.api.Product.GetProductByTypeAndPurpose(productTypeId, productPurposeId)\r\n }\r\n }\r\n\r\n private fields: FormField[] = [\r\n new FormField({\r\n Key: 'AgreeToTOS',\r\n Type: 'checkbox',\r\n Value: 'true',\r\n Label: 'I agree to the Terms & Conditions',\r\n Placeholder: '',\r\n ValidationMessage: 'You must agree to the Terms and Conditions to continue',\r\n Required: true\r\n })\r\n ]\r\n\r\n async OnBeforeNext (): Promise {\r\n this.paymentProcessing = true\r\n\r\n const checkout = this.$refs.checkout as Checkout\r\n\r\n const success = await checkout.OnBeforeNext()\r\n\r\n if (success) {\r\n this.$emit('payment_completed', checkout.GetInvoice())\r\n this.cardHasFailed = false\r\n } else {\r\n this.cardHasFailed = true\r\n this.paymentProcessing = false\r\n }\r\n\r\n return success\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Payment.vue?vue&type=template&id=e9507e00&scoped=true&\"\nimport script from \"./Payment.vue?vue&type=script&lang=ts&\"\nexport * from \"./Payment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Payment.vue?vue&type=style&index=0&id=e9507e00&scoped=true&lang=css&\"\nimport style1 from \"./Payment.vue?vue&type=style&index=1&id=e9507e00&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e9507e00\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 5: Property Details\")]),_c('p',{staticClass:\"vf__hint\"},[_vm._v(\" Please review the details you have given us and make sure all is correct. \")]),(_vm.isCommercial)?_c('CommercialPropertyDetails',{ref:\"CommercialPropertyDetails\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isIndustrial)?_c('IndustrialPropertyDetails',{ref:\"IndustrialPropertyDetails\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isRetail)?_c('RetailPropertyDetails',{ref:\"RetailPropertyDetails\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isResidential)?_c('ResidentialPropertyDetails',{ref:\"ResidentialPropertyDetails\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isRural)?_c('RuralPropertyDetails',{ref:\"RuralPropertyDetails\",attrs:{\"model\":_vm.model},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.isStrataOfficeSuite)?_c('CommercialStrataOfficeSuiteDetails',{ref:\"CommercialStrataOfficeSuiteDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isStrataMedicalSuite)?_c('CommercialStrataMedicalSuiteDetails',{ref:\"CommercialStrataMedicalSuiteDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isFreestandingOfficeProperty)?_c('CommercialFreestandingOfficePropertyDetails',{ref:\"CommercialFreestandingOfficePropertyDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isFreestandingMedicalProperty)?_c('CommercialFreestandingMedicalPropertyDetails',{ref:\"CommercialFreestandingMedicalPropertyDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isMultitenantOfficePremises)?_c('CommercialMultitenantOfficePremisesDetails',{ref:\"CommercialMultitenantOfficePremisesDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isMultitenantMedicalPremises)?_c('CommercialMultitenantMedicalPremisesDetails',{ref:\"CommercialMultitenantMedicalPremisesDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isVacantLand)?_c('CommercialVacantLandDetails',{ref:\"CommercialVacantLandDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialStrataOfficeSuiteDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'StrataOfficeSuite',\r\n Title: 'Strata Office Suite',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_FloorArea',\r\n Label: 'Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_NumberOfProfessionalOffices',\r\n Label: 'Number of Professional Offices:',\r\n Placeholder: ''\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Commercial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Commercial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Commercial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialStrataOfficeSuiteDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialStrataOfficeSuiteDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialStrataOfficeSuiteDetails.vue?vue&type=template&id=27db6a16&\"\nimport script from \"./CommercialStrataOfficeSuiteDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialStrataOfficeSuiteDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialStrataMedicalSuiteDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'StrataMedicalSuite',\r\n Title: 'Strata Medical Suite',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_FloorArea',\r\n Label: 'Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_NumberOfProfessionalOffices',\r\n Label: 'Number of Consult/Clinic Rooms:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Commercial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Commercial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Commercial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialStrataMedicalSuiteDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialStrataMedicalSuiteDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialStrataMedicalSuiteDetails.vue?vue&type=template&id=3d502928&\"\nimport script from \"./CommercialStrataMedicalSuiteDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialStrataMedicalSuiteDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialFreestandingOfficePropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'FreestandingOfficeProperty',\r\n Title: 'Freestanding Office Property',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_FloorArea',\r\n Label: 'Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_NumberOfProfessionalOffices',\r\n Label: 'Number of Professional Offices:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_CurrentAnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CurrentAnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CurrentAnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Commercial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Commercial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Commercial_EstimatedValueCurrentBookValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialFreestandingOfficePropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialFreestandingOfficePropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialFreestandingOfficePropertyDetails.vue?vue&type=template&id=221b7d4d&\"\nimport script from \"./CommercialFreestandingOfficePropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialFreestandingOfficePropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialFreestandingMedicalPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'FreestandingMedicalProperty',\r\n Title: 'Freestanding Medical Property',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_FloorArea',\r\n Label: 'Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_NumberOfProfessionalOffices',\r\n Label: 'Number of Consult/Clinic Rooms:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Commercial_AccommodationFeatures', Composite: true, Value: v.ValueId, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Commercial_PropertyFeatures', Composite: true, Value: v.ValueId, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Commercial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialFreestandingMedicalPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialFreestandingMedicalPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialFreestandingMedicalPropertyDetails.vue?vue&type=template&id=70eedd5a&\"\nimport script from \"./CommercialFreestandingMedicalPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialFreestandingMedicalPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"form1\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.tenancyFeilds)?_c('Form',{ref:\"form2\",attrs:{\"fields\":_vm.tenancyFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.propertyFeaturesFeilds)?_c('Form',{ref:\"form3\",attrs:{\"fields\":_vm.propertyFeaturesFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialMultitenantOfficePremisesDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n tenancyFeilds: FormDef | null = null\r\n\r\n propertyFeaturesFeilds: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'form1',\r\n 'form2',\r\n 'form3'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as Form)\r\n .map((ref) => ref.GetValues().Fields)\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'MultitenantOfficePremises',\r\n Title: 'Multi-tenant Office Premises',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_FloorArea',\r\n Label: 'Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n\r\n this.tenancyFeilds = [\r\n new FormFieldGroup({\r\n Key: 'Tenancies',\r\n Title: 'Tenancies',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_NumberOfTenancies',\r\n Label: 'Number Of Tenancies:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n })\r\n ]\r\n\r\n this.propertyFeaturesFeilds = [\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Commercial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Commercial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Commercial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (fields: FormDef, groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.tenancyFeilds) return\r\n\r\n if (data.Key === 'Commercial_NumberOfTenancies') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup(this.tenancyFeilds, 'TenancyDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Tenancy ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenantName`,\r\n Label: 'Tenant Name:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenancyArea`,\r\n Label: 'Tenancy Area:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenancyUse`,\r\n Label: 'Use:',\r\n Placeholder: 'e.g. Professional Office, Serviced Office, Shared Office',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenancyCarParks`,\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialMultitenantOfficePremisesDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialMultitenantOfficePremisesDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialMultitenantOfficePremisesDetails.vue?vue&type=template&id=40ed68c9&\"\nimport script from \"./CommercialMultitenantOfficePremisesDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialMultitenantOfficePremisesDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"form1\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.tenancyFeilds)?_c('Form',{ref:\"form2\",attrs:{\"fields\":_vm.tenancyFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.propertyFeaturesFeilds)?_c('Form',{ref:\"form3\",attrs:{\"fields\":_vm.propertyFeaturesFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialMultitenantMedicalPremisesDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n tenancyFeilds: FormDef | null = null\r\n\r\n propertyFeaturesFeilds: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'form1',\r\n 'form2',\r\n 'form3'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as Form)\r\n .map((ref) => ref.GetValues().Fields)\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CommercialPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'MultitenantMedicalPremises',\r\n Title: 'Multi-tenant Medical Premises',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990)',\r\n Type: 'number',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Commercial_FloorArea',\r\n Label: 'Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Commercial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Commercial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n\r\n this.tenancyFeilds = [\r\n new FormFieldGroup({\r\n Key: 'Tenancies',\r\n Title: 'Tenancies',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_NumberOfTenancies',\r\n Label: 'Number of Tenancies:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n })\r\n ]\r\n\r\n this.propertyFeaturesFeilds = [\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Commercial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Commercial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Commercial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Commercial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (fields: FormDef, groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.tenancyFeilds) return\r\n\r\n if (data.Key === 'Commercial_NumberOfTenancies') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup(this.tenancyFeilds, 'TenancyDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Tenancy ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenantName`,\r\n Label: 'Tenant Name:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenancyArea`,\r\n Label: 'Tenancy Area:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenancyUse`,\r\n Label: 'Use:',\r\n Placeholder: 'e.g. Medical Clinic, Physiotherapy, Dental Practice',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: `Commercial_TenancyDetails_${i}_TenancyCarParks`,\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialMultitenantMedicalPremisesDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialMultitenantMedicalPremisesDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialMultitenantMedicalPremisesDetails.vue?vue&type=template&id=659d9c3b&\"\nimport script from \"./CommercialMultitenantMedicalPremisesDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialMultitenantMedicalPremisesDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialVacantLandDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'VacantLandDetails',\r\n Title: 'Vacant Land',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Commercial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_CurrentRental',\r\n Label: 'Current Rental (if applicable):',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Commercial_Other',\r\n Label: 'Topography & Use:',\r\n Placeholder: 'Please provide description of topography & any on-site improvements',\r\n Required: false,\r\n Type: 'textarea',\r\n Rows: '10'\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialVacantLandDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialVacantLandDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialVacantLandDetails.vue?vue&type=template&id=16b6cf36&\"\nimport script from \"./CommercialVacantLandDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialVacantLandDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormDef, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\nimport CommercialStrataOfficeSuiteDetails from './PropertySubTypes/CommercialStrataOfficeSuiteDetails.vue'\r\nimport CommercialStrataMedicalSuiteDetails from './PropertySubTypes/CommercialStrataMedicalSuiteDetails.vue'\r\nimport CommercialFreestandingOfficePropertyDetails from './PropertySubTypes/CommercialFreestandingOfficePropertyDetails.vue'\r\nimport CommercialFreestandingMedicalPropertyDetails from './PropertySubTypes/CommercialFreestandingMedicalPropertyDetails.vue'\r\nimport CommercialMultitenantOfficePremisesDetails from './PropertySubTypes/CommercialMultitenantOfficePremisesDetails.vue'\r\nimport CommercialMultitenantMedicalPremisesDetails from './PropertySubTypes/CommercialMultitenantMedicalPremisesDetails.vue'\r\nimport CommercialVacantLandDetails from './PropertySubTypes/CommercialVacantLandDetails.vue'\r\nimport IValuationFormStep from '../../IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n CommercialStrataOfficeSuiteDetails,\r\n CommercialStrataMedicalSuiteDetails,\r\n CommercialFreestandingOfficePropertyDetails,\r\n CommercialFreestandingMedicalPropertyDetails,\r\n CommercialMultitenantOfficePremisesDetails,\r\n CommercialMultitenantMedicalPremisesDetails,\r\n CommercialVacantLandDetails\r\n }\r\n})\r\nexport default class CommercialPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n strataOfficeSuiteId = '9c74e801-1cee-4608-8f1d-6ac37d414492'\r\n strataMedicalSuiteId = '4d03c4ae-a819-438e-8132-5c40963c2641'\r\n freestandingOfficePropertyId = '899806dd-5680-435e-beb8-f90c7503635f'\r\n freestandingMedicalPropertyId = '0d935727-112b-4c3b-942b-ae0e95264126'\r\n multitenantOfficePremisesId = 'dab82a5f-6aac-4a11-8cc1-d95b0eaaf66e'\r\n multitenantMedicalPremisesId = '207e0dba-cd9a-4a42-90e5-9047cbe8a159'\r\n vacantLandId = '1c666298-f2d6-4f19-8b38-a47fc3987212'\r\n\r\n get isStrataOfficeSuite (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.strataOfficeSuiteId\r\n }\r\n\r\n get isStrataMedicalSuite (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.strataMedicalSuiteId\r\n }\r\n\r\n get isFreestandingOfficeProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.freestandingOfficePropertyId\r\n }\r\n\r\n get isFreestandingMedicalProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.freestandingMedicalPropertyId\r\n }\r\n\r\n get isMultitenantOfficePremises (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.multitenantOfficePremisesId\r\n }\r\n\r\n get isMultitenantMedicalPremises (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.multitenantMedicalPremisesId\r\n }\r\n\r\n get isVacantLand (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.vacantLandId\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'CommercialStrataOfficeSuiteDetails',\r\n 'CommercialStrataMedicalSuiteDetails',\r\n 'CommercialFreestandingOfficePropertyDetails',\r\n 'CommercialFreestandingMedicalPropertyDetails',\r\n 'CommercialMultitenantOfficePremisesDetails',\r\n 'CommercialMultitenantMedicalPremisesDetails',\r\n 'CommercialVacantLandDetails'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as unknown as IValuationFormStep)\r\n .map((ref) => ref.collectData())\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommercialPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CommercialPropertyDetails.vue?vue&type=template&id=5d13d8d4&\"\nimport script from \"./CommercialPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./CommercialPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.isFactory)?_c('IndustrialFactoryDetails',{ref:\"IndustrialServiceIndustryDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isServiceIndustry)?_c('IndustrialServiceIndustryDetails',{ref:\"IndustrialServiceIndustryDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isWarehouse)?_c('IndustrialWarehouseDetails',{ref:\"IndustrialWarehouseDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isStrataIndustrialUnit)?_c('IndustrialStrataIndustrialUnitDetails',{ref:\"IndustrialStrataIndustrialUnitDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isMultiTenantIndustrialProperty)?_c('IndustrialMultiTenantIndustrialPropertyDetails',{ref:\"IndustrialMultiTenantIndustrialPropertyDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isVacantLandIndustrialProperty)?_c('IndustrialVacantLandDetails',{ref:\"IndustrialVacantLandDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport RetialPropertyDetails from './RetailPropertyDetails.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class IndustrialWarehouseDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialAccommodationFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialPropertyFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'Warehouse',\r\n Title: 'Warehouse',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Distribution warehouse, Industrial Store or Showroom',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_FloorArea',\r\n Label: 'Total Building Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_WarehouseFloorArea',\r\n Label: 'Warehouse Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OfficeFloorArea',\r\n Label: 'Office Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OtherFloorAreas',\r\n Label: 'Other Areas (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_DesignatedCarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Industrial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Industrial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Industrial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Industrial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialWarehouseDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialWarehouseDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialWarehouseDetails.vue?vue&type=template&id=69d8dc74&\"\nimport script from \"./IndustrialWarehouseDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialWarehouseDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport RetialPropertyDetails from './RetailPropertyDetails.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class IndustrialWarehouseDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialAccommodationFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialPropertyFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'Factory',\r\n Title: 'Factory',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Distribution warehouse, Industrial Store or Showroom',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_FloorArea',\r\n Label: 'Total Building Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_WarehouseFloorArea',\r\n Label: 'Warehouse Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OfficeFloorArea',\r\n Label: 'Office Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OtherFloorAreas',\r\n Label: 'Other Areas (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_DesignatedCarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Industrial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Industrial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Industrial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Industrial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialFactoryDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialFactoryDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialFactoryDetails.vue?vue&type=template&id=1103155e&\"\nimport script from \"./IndustrialFactoryDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialFactoryDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport RetialPropertyDetails from './RetailPropertyDetails.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class IndustrialServiceIndustryDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialAccommodationFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialPropertyFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'ServiceIndustry',\r\n Title: 'Service Industry (Light Industrial)',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Distribution warehouse, Industrial Store or Showroom',\r\n Display: true,\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Display: true,\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_FloorArea',\r\n Label: 'Total Building Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Display: true,\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_WarehouseFloorArea',\r\n Label: 'Warehouse Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Display: true,\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OfficeFloorArea',\r\n Label: 'Office Floor Area (*approximate):',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OtherFloorAreas',\r\n Label: 'Other Areas (*approximate):',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_DesignatedCarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Industrial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Industrial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Industrial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Industrial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialServiceIndustryDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialServiceIndustryDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialServiceIndustryDetails.vue?vue&type=template&id=1359d6b6&\"\nimport script from \"./IndustrialServiceIndustryDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialServiceIndustryDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport RetialPropertyDetails from './RetailPropertyDetails.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class IndustrialStrataIndustrialUnitDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialAccommodationFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialPropertyFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'StrataIndustrialUnit',\r\n Title: 'Strata Industrial Unit',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Distribution warehouse, Industrial Store or Showroom',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_FloorArea',\r\n Label: 'Total Building Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_WarehouseFloorArea',\r\n Label: 'Warehouse Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OfficeFloorArea',\r\n Label: 'Office Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OtherFloorAreas',\r\n Label: 'Other Areas (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_DesignatedCarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Industrial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Industrial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Industrial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Industrial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialStrataIndustrialUnitDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialStrataIndustrialUnitDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialStrataIndustrialUnitDetails.vue?vue&type=template&id=205bd7b6&\"\nimport script from \"./IndustrialStrataIndustrialUnitDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialStrataIndustrialUnitDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport RetialPropertyDetails from './RetailPropertyDetails.vue'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class IndustrialMultiTenantIndustrialPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialAccommodationFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.IndustrialPropertyFeatures),\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'MultiTenantIndustrialProperty',\r\n Title: 'Multi-Tenant Industrial Property',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Distribution warehouse, Industrial Store or Showroom',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_FloorArea',\r\n Label: 'Total Building Floor Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_WarehouseFloorArea',\r\n Label: 'Warehouse Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OfficeFloorArea',\r\n Label: 'Office Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Industrial_OtherFloorAreas',\r\n Label: 'Other Areas (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_DesignatedCarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Industrial_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Industrial_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Industrial_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Industrial_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Industrial_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Industrial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialMultiTenantIndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialMultiTenantIndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialMultiTenantIndustrialPropertyDetails.vue?vue&type=template&id=99f3eaca&\"\nimport script from \"./IndustrialMultiTenantIndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialMultiTenantIndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class IndustrialVacantLandDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'VacantLandDetails',\r\n Title: 'Vacant Land',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Industrial_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_CurrentRental',\r\n Label: 'Current Rental (if applicable):',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Industrial_Other',\r\n Label: 'Topography & Use:',\r\n Placeholder: 'Please provide description of topography & any on-site improvements',\r\n Required: false,\r\n Type: 'textarea',\r\n Rows: '10'\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialVacantLandDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialVacantLandDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialVacantLandDetails.vue?vue&type=template&id=5de254d4&\"\nimport script from \"./IndustrialVacantLandDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialVacantLandDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormDef, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\nimport IndustrialWarehouseDetails from './PropertySubTypes/IndustrialWarehouseDetails.vue'\r\nimport IndustrialFactoryDetails from './PropertySubTypes/IndustrialFactoryDetails.vue'\r\nimport IndustrialServiceIndustryDetails from './PropertySubTypes/IndustrialServiceIndustryDetails.vue'\r\nimport IndustrialStrataIndustrialUnitDetails from './PropertySubTypes/IndustrialStrataIndustrialUnitDetails.vue'\r\nimport IndustrialMultiTenantIndustrialPropertyDetails from './PropertySubTypes/IndustrialMultiTenantIndustrialPropertyDetails.vue'\r\nimport IValuationFormStep from '../../IValuationFormStep'\r\nimport IndustrialVacantLandDetails from './PropertySubTypes/IndustrialVacantLandDetails.vue'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n IndustrialWarehouseDetails,\r\n IndustrialFactoryDetails,\r\n IndustrialServiceIndustryDetails,\r\n IndustrialStrataIndustrialUnitDetails,\r\n IndustrialMultiTenantIndustrialPropertyDetails,\r\n IndustrialVacantLandDetails\r\n }\r\n})\r\nexport default class IndustrialPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n warehouseId = '3db668a1-fa6a-49ca-b0af-24b5aec68ca7'\r\n factoryId = '7a518e19-e8db-4e19-98c6-e48ed5fdb1bb'\r\n serviceIndustryId = 'b5a1fde3-7b21-4f04-9400-c0b0d314a0e6'\r\n strataIndustrialUnitId = '719f0126-44ec-4e76-af93-fa66820ed019'\r\n multiTenantIndustrialPropertyId = 'ba5a3627-afb8-48eb-9945-52c720e74e70'\r\n vacantLandIndustrialPropertyId = 'c01b0c60-19aa-4373-b84f-a11cb99f9676'\r\n\r\n get isWarehouse (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.warehouseId\r\n }\r\n\r\n get isFactory (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.factoryId\r\n }\r\n\r\n get isServiceIndustry (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.serviceIndustryId\r\n }\r\n\r\n get isStrataIndustrialUnit (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.strataIndustrialUnitId\r\n }\r\n\r\n get isMultiTenantIndustrialProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.multiTenantIndustrialPropertyId\r\n }\r\n\r\n get isVacantLandIndustrialProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.vacantLandIndustrialPropertyId\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'IndustrialWarehouseDetails',\r\n 'IndustrialServiceIndustryDetails',\r\n 'IndustrialServiceIndustryDetails',\r\n 'IndustrialStrataIndustrialUnitDetails',\r\n 'IndustrialMultiTenantIndustrialPropertyDetails',\r\n 'IndustrialVacantLandDetails'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as unknown as IValuationFormStep)\r\n .map((ref) => ref.collectData())\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndustrialPropertyDetails.vue?vue&type=template&id=3f27f932&\"\nimport script from \"./IndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndustrialPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.isStrataRetailSpace)?_c('RetailStrataRetailSpaceDetails',{ref:\"RetailStrataRetailSpaceDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isFreestandingRetailProperty)?_c('RetailFreestandingRetailPropertyDetails',{ref:\"RetailFreestandingRetailPropertyDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isShowroomBulkyGoodsRetailProperty)?_c('RetailShowroomBulkyGoodsDetails',{ref:\"RetailShowroomBulkyGoodsDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isStripShopRetailProperty)?_c('RetailStripShopRetailPropertyDetails',{ref:\"RetailStripShopRetailPropertyDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RetailStrataRetailSpaceDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'StrataRetailSpace',\r\n Title: 'Strata Retail Space',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Clothing shop, Café or Newsagent',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_BuildingArea',\r\n Label: 'Building Area:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_ExclusiveUseArea',\r\n Label: 'Exclusive Use Area (Off Title) - if applicable:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_CarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Retail_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Retail_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Retail_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Outbuildings') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('OutbuildingsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Outbuilding ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailStrataRetailSpaceDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailStrataRetailSpaceDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RetailStrataRetailSpaceDetails.vue?vue&type=template&id=4146a8c4&\"\nimport script from \"./RetailStrataRetailSpaceDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RetailStrataRetailSpaceDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RetailFreestandingRetailPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'FreestandingRetailProperty',\r\n Title: 'Freestanding Retail Property',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Clothing shop, Café or Newsagent',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_FloorArea',\r\n Label: 'Total Building Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_RetailFloorArea',\r\n Label: 'Retail Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_BackroomNonRetailFloorArea',\r\n Label: 'Backroom/Non-Retail Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Retail_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Retail_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Retail_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Retail_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Outbuildings') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('OutbuildingsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Outbuilding ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailFreestandingRetailPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailFreestandingRetailPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RetailFreestandingRetailPropertyDetails.vue?vue&type=template&id=b2f48cea&\"\nimport script from \"./RetailFreestandingRetailPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RetailFreestandingRetailPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RetailShowroomBulkyGoodsDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'ShowroomBulkyGoodsRetail',\r\n Title: 'Showroom/Bulky Goods Retail',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Clothing shop, Café or Newsagent',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_FloorArea',\r\n Label: 'Total Building Area:',\r\n Placeholder: '(eg 100m²)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_RetailFloorArea',\r\n Label: 'Retail Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_BackroomNonRetailFloorArea',\r\n Label: 'Backroom/Non-Retail Floor Area (*approximate):',\r\n Placeholder: '(eg 100m²)',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_ExclusiveUseArea',\r\n Label: 'Exclusive Use Area (Off Title) - if applicable:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_CarParks',\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Retail_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Retail_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Retail_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Outbuildings') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('OutbuildingsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Outbuilding ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailShowroomBulkyGoodsDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailShowroomBulkyGoodsDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RetailShowroomBulkyGoodsDetails.vue?vue&type=template&id=3688dfc4&\"\nimport script from \"./RetailShowroomBulkyGoodsDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RetailShowroomBulkyGoodsDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"form1\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.tenancyFeilds)?_c('Form',{ref:\"form2\",attrs:{\"fields\":_vm.tenancyFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.propertyFeaturesFeilds)?_c('Form',{ref:\"form3\",attrs:{\"fields\":_vm.propertyFeaturesFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RetailStripShopRetailPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n tenancyFeilds: FormDef | null = null\r\n\r\n propertyFeaturesFeilds: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'form1',\r\n 'form2',\r\n 'form3'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as Form)\r\n .map((ref) => ref.GetValues().Fields)\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailAccommodationFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RetailPropertyFeatures), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition) // 5\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'StripShopRetailProperty',\r\n Title: 'Strip Shop Retail Property',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_UseDescription',\r\n Label: 'Use Description:',\r\n Placeholder: 'e.g. Clothing shop, Café or Newsagent',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_NumberOfLevels',\r\n Label: 'Number of Levels:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Retail_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Retail_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Retail_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n\r\n this.tenancyFeilds = [\r\n new FormField({\r\n Key: 'Retail_NumberOfTenancies',\r\n Label: 'Number of Tenancies:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n\r\n this.propertyFeaturesFeilds = [\r\n new FormFieldGroup({\r\n Key: 'PropertyIncome',\r\n Title: 'Property Income',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Retail_AnnualNetRental',\r\n Label: 'Current Annual Net Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualGrossRental',\r\n Label: 'Current Annual Gross Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Retail_AnnualOutgoings',\r\n Label: 'Current Annual Outgoings:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'AccommodationFeatures',\r\n Title: 'Accommodation Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Retail_AccommodationFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[4].map((v) => new FormField({ Key: 'Retail_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (fields: FormDef, groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.tenancyFeilds) return\r\n\r\n if (data.Key === 'Retail_NumberOfTenancies') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup(this.tenancyFeilds, 'TenancyDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Tenancy ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: `Retail_${i + 1}_TenantName`,\r\n Label: 'Tenant Name:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Retail_${i + 1}_TenancyArea`,\r\n Label: 'Tenancy Area:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Retail_${i + 1}_TenancyUse`,\r\n Label: 'Use:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Retail_${i + 1}_TenancyCarParks`,\r\n Label: 'Designated Car Parks:',\r\n Placeholder: '',\r\n Required: true,\r\n Type: 'number'\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailStripShopRetailPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailStripShopRetailPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RetailStripShopRetailPropertyDetails.vue?vue&type=template&id=1407d775&\"\nimport script from \"./RetailStripShopRetailPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RetailStripShopRetailPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\r\nimport { FormDef, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\nimport RetailStrataRetailSpaceDetails from './PropertySubTypes/RetailStrataRetailSpaceDetails.vue'\r\nimport RetailFreestandingRetailPropertyDetails from './PropertySubTypes/RetailFreestandingRetailPropertyDetails.vue'\r\nimport RetailShowroomBulkyGoodsDetails from './PropertySubTypes/RetailShowroomBulkyGoodsDetails.vue'\r\nimport RetailStripShopRetailPropertyDetails from './PropertySubTypes/RetailStripShopRetailPropertyDetails.vue'\r\nimport IValuationFormStep from '../../IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n RetailStrataRetailSpaceDetails,\r\n RetailFreestandingRetailPropertyDetails,\r\n RetailShowroomBulkyGoodsDetails,\r\n RetailStripShopRetailPropertyDetails\r\n }\r\n})\r\nexport default class RetialPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n strataRetailSpaceId = '3d445670-01a4-4cfe-a984-5f89f0ef9510'\r\n freestandingRetailPropertyId = '26dc47da-b5ac-490d-89e5-d7a252373159'\r\n showroomBulkyGoodsRetailPropertyId = '3ad9c502-3e6e-4dac-8b4f-f8f6b7fe5832'\r\n stripShopRetailPropertyId = 'c49656af-cd78-4906-a078-c1b5cf505996'\r\n\r\n get isStrataRetailSpace (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.strataRetailSpaceId\r\n }\r\n\r\n get isFreestandingRetailProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.freestandingRetailPropertyId\r\n }\r\n\r\n get isShowroomBulkyGoodsRetailProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.showroomBulkyGoodsRetailPropertyId\r\n }\r\n\r\n get isStripShopRetailProperty (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.stripShopRetailPropertyId\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'RetailStrataRetailSpaceDetails',\r\n 'RetailFreestandingRetailPropertyDetails',\r\n 'RetailShowroomBulkyGoodsDetails',\r\n 'RetailStripShopRetailPropertyDetails'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as unknown as IValuationFormStep)\r\n .map((ref) => ref.collectData())\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RetailPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RetailPropertyDetails.vue?vue&type=template&id=3c16c7ae&\"\nimport script from \"./RetailPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RetailPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.isDuplex)?_c('ResidentialDuplexDetails',{ref:\"ResidentialDuplexDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isBlockOfApartments)?_c('ResidentialBlockOfApartmentsDetails',{ref:\"ResidentialBlockOfApartmentsDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isTownhouseComplex)?_c('ResidentialTownhouseComplexDetails',{ref:\"ResidentialTownhouseComplexDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isDetatchedResidence)?_c('ResidentialDetatchedResidenceDetails',{ref:\"ResidentialDetatchedResidenceDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isApartment)?_c('ResidentialApartmentDetails',{ref:\"ResidentialApartmentDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isTownHouse)?_c('ResidentialTownhouseDetails',{ref:\"ResidentialTownhouseDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isTerraceHouse)?_c('ResidentialTerraceHouseDetails',{ref:\"ResidentialTerraceHouseDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isVacantLand)?_c('ResidentialVacantLandDetails',{ref:\"ResidentialVacantLandDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialDuplexDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'DetatchedResidenceDetails',\r\n Title: 'Duplex Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_CurrentRental',\r\n Label: 'Current Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parking:',\r\n Placeholder: 'Please Select',\r\n Items: vals[13].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_Other',\r\n Label: 'Other:',\r\n Placeholder: 'e.g. Architecturally Designed, Recently Renovated, Heritage Listed, etc',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Residential_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Residential_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialDuplexDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialDuplexDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialDuplexDetails.vue?vue&type=template&id=5f6e5f42&\"\nimport script from \"./ResidentialDuplexDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialDuplexDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialBlockOfApartmentsDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'BlockOfApartments',\r\n Title: 'Block of Apartments',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_NumberOfApartments',\r\n Label: 'Number of Apartments:',\r\n Placeholder: '',\r\n Type: 'number',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parking:',\r\n Placeholder: 'Please Select',\r\n Items: vals[13].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Residential_NumberOfApartments') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('BlockOfApartmentsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Apartment ${i + 1}`,\r\n ShowTitle: true,\r\n Display: true,\r\n Fields: [\r\n new DropdownField({\r\n Value: '',\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_Bedrooms`,\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_Bathrooms`,\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_FloorArea`,\r\n Label: 'Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_SecureParkingSpaces`,\r\n Label: 'Secure Parking Spaces:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[10].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_ApartmentsWithCityViews`,\r\n Label: 'Apartment with City Views:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_ApartmentsWithRiverViews`,\r\n Label: 'Apartment with Water Views:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[6].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_ApartmentsWithElevatedOutlook`,\r\n Label: 'Apartment with Elevated Outlook:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[7].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_Pool`,\r\n Label: 'Pool:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[8].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_BlockOfApartmentsDetails_${i}_TennisCourt`,\r\n Label: 'Tennis Court:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[9].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialBlockOfApartmentsDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialBlockOfApartmentsDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialBlockOfApartmentsDetails.vue?vue&type=template&id=6b712770&\"\nimport script from \"./ResidentialBlockOfApartmentsDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialBlockOfApartmentsDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialTownhouseComplexDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'TownhouseComplex',\r\n Title: 'Townhouse Complex',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_NumberOfTownhouses',\r\n Label: 'Number of Townhouses:',\r\n Placeholder: '',\r\n Type: 'number',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parks:',\r\n Placeholder: '',\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Residential_NumberOfTownhouses') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('TownhouseComplexDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Townhouse ${i + 1}`,\r\n ShowTitle: true,\r\n Display: true,\r\n Fields: [\r\n new DropdownField({\r\n Value: '',\r\n Key: `Residential_TownhouseComplexDetails_${i}_Bedrooms`,\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: `Residential_TownhouseComplexDetails_${i}_Bathrooms`,\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_FloorArea`,\r\n Label: 'Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: `Residential_TownhouseComplexDetails_${i}_AirConditioning`,\r\n Label: 'Air Conditioning:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[14].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_SecureParkingSpaces`,\r\n Label: 'Secure Parking Spaces:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[10].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_TownhouseWithCityViews`,\r\n Label: 'Townhouse with City Views:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_TownhouseWithRiverViews`,\r\n Label: 'Townhouse with Water Views:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[6].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_TownhouseWithElevatedOutlook`,\r\n Label: 'Townhouse with Elevated Outlook:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[7].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_Pool`,\r\n Label: 'Pool:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[8].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Residential_TownhouseComplexDetails_${i}_TennisCourt`,\r\n Label: 'Tennis Court:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[9].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialTownhouseComplexDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialTownhouseComplexDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialTownhouseComplexDetails.vue?vue&type=template&id=6b0fe596&\"\nimport script from \"./ResidentialTownhouseComplexDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialTownhouseComplexDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialDetatchedResidenceDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'DetatchedResidenceDetails',\r\n Title: 'Detatched Residence Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_CurrentRental',\r\n Label: 'Current Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parking:',\r\n Placeholder: 'Please Select',\r\n Items: vals[13].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_Other',\r\n Label: 'Other:',\r\n Placeholder: 'e.g. Architecturally Designed, Recently Renovated, Heritage Listed, etc',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Residential_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Residential_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialDetatchedResidenceDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialDetatchedResidenceDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialDetatchedResidenceDetails.vue?vue&type=template&id=18c58d8b&\"\nimport script from \"./ResidentialDetatchedResidenceDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialDetatchedResidenceDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialApartmentDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'ApartmentDetails',\r\n Title: 'Apartment Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_CurrentRental',\r\n Label: 'Current Rental :',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parking:',\r\n Placeholder: 'Please Select',\r\n Items: vals[13].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_FloorLevel',\r\n Label: 'Unit Floor/Level:',\r\n Placeholder: 'e.g. Level 5',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_Other',\r\n Label: 'Other:',\r\n Placeholder: 'e.g. Architecturally Designed, Recently Renovated, Heritage Listed, etc',\r\n Type: 'textarea',\r\n Rows: '11',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Residential_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Residential_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialApartmentDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialApartmentDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialApartmentDetails.vue?vue&type=template&id=6aeab790&\"\nimport script from \"./ResidentialApartmentDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialApartmentDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { CheckboxesField, DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialTownhouseDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'TownhouseDetails',\r\n Title: 'Townhouse Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_CurrentRental',\r\n Label: 'Current Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parking:',\r\n Placeholder: 'Please Select',\r\n Items: vals[13].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_Other',\r\n Label: 'Other:',\r\n Placeholder: 'e.g. Architecturally Designed, Recently Renovated, Heritage Listed, etc',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Residential_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Residential_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialTownhouseDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialTownhouseDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialTownhouseDetails.vue?vue&type=template&id=017e3ba4&\"\nimport script from \"./ResidentialTownhouseDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialTownhouseDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialTerraceHouseDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'TerraceHouseDetails',\r\n Title: 'Terrace House Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Residential_GeneralCondition',\r\n Label: 'Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Residential_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_ApproximateBuildYear',\r\n Label: 'Approximate Building Year:',\r\n Placeholder: '(eg 1990s)',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_CurrentRental',\r\n Label: 'Current Rental:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[11].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[12].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Residential_CarParks',\r\n Label: 'Car Parking:',\r\n Placeholder: 'Please Select',\r\n Items: vals[13].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Residential_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_Other',\r\n Label: 'Other:',\r\n Placeholder: 'e.g. Architecturally Designed, Recently Renovated, Heritage Listed, etc',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Residential_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: 'Residential_PropertyFeatures', Value: v.ValueId, Composite: true, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialTerraceHouseDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialTerraceHouseDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialTerraceHouseDetails.vue?vue&type=template&id=7584cc0f&\"\nimport script from \"./ResidentialTerraceHouseDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialTerraceHouseDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class ResidentialVacantLandDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'VacantLandDetails',\r\n Title: 'Vacant Land',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Residential_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_CurrentRental',\r\n Label: 'Current Rental (if applicable):',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Residential_Other',\r\n Label: 'Topography & Use:',\r\n Placeholder: 'Please provide description of topography & any on-site improvements',\r\n Required: false,\r\n Type: 'textarea',\r\n Rows: '10'\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialVacantLandDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialVacantLandDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialVacantLandDetails.vue?vue&type=template&id=13bfafc6&\"\nimport script from \"./ResidentialVacantLandDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialVacantLandDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FormDef, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\nimport ResidentialDuplexDetails from './PropertySubTypes/ResidentialDuplexDetails.vue'\r\nimport ResidentialBlockOfApartmentsDetails from './PropertySubTypes/ResidentialBlockOfApartmentsDetails.vue'\r\nimport ResidentialTownhouseComplexDetails from './PropertySubTypes/ResidentialTownhouseComplexDetails.vue'\r\nimport ResidentialDetatchedResidenceDetails from './PropertySubTypes/ResidentialDetatchedResidenceDetails.vue'\r\nimport ResidentialApartmentDetails from './PropertySubTypes/ResidentialApartmentDetails.vue'\r\nimport ResidentialTownhouseDetails from './PropertySubTypes/ResidentialTownhouseDetails.vue'\r\nimport ResidentialTerraceHouseDetails from './PropertySubTypes/ResidentialTerraceHouseDetails.vue'\r\nimport ResidentialVacantLandDetails from './PropertySubTypes/ResidentialVacantLandDetails.vue'\r\nimport IValuationFormStep from '../../IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n ResidentialDuplexDetails,\r\n ResidentialBlockOfApartmentsDetails,\r\n ResidentialTownhouseComplexDetails,\r\n ResidentialDetatchedResidenceDetails,\r\n ResidentialApartmentDetails,\r\n ResidentialTownhouseDetails,\r\n ResidentialTerraceHouseDetails,\r\n ResidentialVacantLandDetails\r\n }\r\n})\r\nexport default class ResidentialPropertyDetails extends Vue implements IValuationFormStep {\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n duplexId = 'cc80ffa3-b40d-4816-b7b8-b2fa86e1598f'\r\n\r\n blockOfApartmentsId = '9f2f8397-261d-45e0-b813-16b2518c3760'\r\n\r\n townhouseComplexId = '9ca89f78-85db-4c39-854b-31090a98fed5'\r\n\r\n detatchedResidenceId = '5b14fff0-8a46-46b6-b376-53739f32afa0'\r\n\r\n apartmentId = '3964dc78-5a6f-4395-aa83-3548351db5ba'\r\n\r\n townHouseId = 'd3658cf8-3862-44d1-8648-b777e5d9efd9'\r\n\r\n terraceHouseId = 'df5dead7-179b-4820-be1c-eca6733cdfc1'\r\n\r\n vacantLandId = '9df25ed4-de03-4257-82ae-4e89e712053b'\r\n\r\n get isDuplex (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.duplexId\r\n }\r\n\r\n get isBlockOfApartments ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.blockOfApartmentsId\r\n }\r\n\r\n get isTownhouseComplex ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.townhouseComplexId\r\n }\r\n\r\n get isDetatchedResidence ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.detatchedResidenceId\r\n }\r\n\r\n get isApartment ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.apartmentId\r\n }\r\n\r\n get isTownHouse ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.townHouseId\r\n }\r\n\r\n get isTerraceHouse ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.terraceHouseId\r\n }\r\n\r\n get isVacantLand ():boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.vacantLandId\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'ResidentialDuplexDetails',\r\n 'ResidentialBlockOfApartmentsDetails',\r\n 'ResidentialTownhouseComplexDetails',\r\n 'ResidentialDetatchedResidenceDetails',\r\n 'ResidentialApartmentDetails',\r\n 'ResidentialTownhouseDetails',\r\n 'ResidentialTerraceHouseDetails',\r\n 'ResidentialVacantLandDetails'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as unknown as IValuationFormStep)\r\n .map((ref) => ref.collectData())\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResidentialPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResidentialPropertyDetails.vue?vue&type=template&id=081485c2&\"\nimport script from \"./ResidentialPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResidentialPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.isHobbyFarm)?_c('RuralHobbyFarmDetails',{ref:\"RuralHobbyFarmDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isGrazingFarm)?_c('RuralGrazingFarmDetails',{ref:\"RuralGrazingFarmDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isCroppingFarm)?_c('RuralCroppingFarmDetails',{ref:\"RuralCroppingFarmDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.isVacantLand)?_c('RuralVacantLandDetails',{ref:\"RuralVacantLandDetails\",on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RuralHobbyFarmDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RuralPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Outbuildings), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Dams), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bores), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FencedPaddocks) // 10\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'HobbyFarmDetails',\r\n Title: 'Hobby Farm Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Value: '',\r\n Key: 'Rural_RuralUse',\r\n Label: 'Use:',\r\n Placeholder: 'e.g. Grain crop, Orchard, Horticulture',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_GeneralCondition',\r\n Label: 'Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[6].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Rural_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Rural_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Rural_NumberOfOutbuildings',\r\n Label: 'Outbuildings:',\r\n Placeholder: '',\r\n Type: 'number',\r\n Required: false\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Rural_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n ...(vals[3].map((v) => new FormField({ Key: v.Value, Label: v.Label, Type: 'checkbox' })))\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Rural_NumberOfOutbuildings') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('OutbuildingsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Outbuilding ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingType`,\r\n Label: 'Building Type/Name:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingUse`,\r\n Label: 'Building Use:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingCondition`,\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingArea`,\r\n Label: 'Building Area:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralHobbyFarmDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralHobbyFarmDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RuralHobbyFarmDetails.vue?vue&type=template&id=ade39f14&\"\nimport script from \"./RuralHobbyFarmDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RuralHobbyFarmDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RuralGrazingFarmDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RuralPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Outbuildings), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Dams), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bores), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FencedPaddocks) // 10\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'GrazingFarmDetails',\r\n Title: 'Grazing Farm Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Value: '',\r\n Key: 'Rural_RuralUse',\r\n Label: 'Use:',\r\n Placeholder: 'e.g. Grain crop, Orchard, Horticulture',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_GeneralCondition',\r\n Label: 'Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[6].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Rural_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Rural_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'Rural_NumberOfOutbuildings',\r\n Label: 'Outbuildings:',\r\n Placeholder: '',\r\n Type: 'number',\r\n Required: false\r\n }),\r\n new FormFieldGroup({\r\n Key: 'Rural_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfDams',\r\n Label: 'Number of Dams:',\r\n Placeholder: 'Please Select',\r\n Items: vals[8].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Value: '',\r\n Key: 'Rural_TotalDamCapacity',\r\n Label: 'Total Dam Capacity (ML):',\r\n Placeholder: 'Please Select',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfOperationalBores',\r\n Label: 'Number of Operational Bores:',\r\n Placeholder: 'Please Select',\r\n Items: vals[9].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfFencedPaddocks',\r\n Label: 'Number of Fenced Paddocks:',\r\n Placeholder: 'Please Select',\r\n Items: vals[10].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!this.fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = this.fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n this.fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = this.fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) this.fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.fields) return\r\n\r\n if (data.Key === 'Rural_NumberOfOutbuildings') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup('OutbuildingsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Rural Outbuilding ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingType`,\r\n Label: 'Building Type/Name:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingUse`,\r\n Label: 'Building Use:',\r\n Placeholder: '',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingCondition`,\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingArea`,\r\n Label: 'Building Area:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralGrazingFarmDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralGrazingFarmDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RuralGrazingFarmDetails.vue?vue&type=template&id=7621deb0&\"\nimport script from \"./RuralGrazingFarmDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RuralGrazingFarmDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"form1\",attrs:{\"fields\":_vm.fields},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.outBuildingFeilds)?_c('Form',{ref:\"form2\",attrs:{\"fields\":_vm.outBuildingFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e(),(_vm.propertyFeaturesFeilds)?_c('Form',{ref:\"form3\",attrs:{\"fields\":_vm.propertyFeaturesFeilds},on:{\"field_updated\":_vm.handleFieldUpdated,\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class RuralCroppingFarmDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n outBuildingFeilds: FormDef | null = null\r\n\r\n propertyFeaturesFeilds: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'form1',\r\n 'form2',\r\n 'form3'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as Form)\r\n .map((ref) => ref.GetValues().Fields)\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RuralPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Outbuildings), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Dams), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bores), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FencedPaddocks) // 10\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'CroppingFarm',\r\n Title: 'Cropping Farm',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Value: '',\r\n Key: 'Rural_RuralUse',\r\n Label: 'Use:',\r\n Placeholder: 'e.g. Grain crop, Orchard, Horticulture',\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_GeneralCondition',\r\n Label: 'Condition:',\r\n Placeholder: 'Please Select',\r\n Items: vals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfBedrooms',\r\n Label: 'Bedrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[5].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfBathrooms',\r\n Label: 'Bathrooms:',\r\n Placeholder: 'Please Select',\r\n Items: vals[6].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Key: 'Rural_FloorArea',\r\n Label: 'Internal Floor Area:',\r\n Placeholder: 'e.g. 100 m²',\r\n Required: false\r\n })\r\n ]\r\n }),\r\n new FormFieldGroup({\r\n Key: 'ConstructionDetails',\r\n Title: 'Construction Details',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Key: 'Rural_FloorConstruction',\r\n Label: 'Floors:',\r\n Placeholder: 'Please Select',\r\n Items: vals[0].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_WallConstruction',\r\n Label: 'Walls:',\r\n Placeholder: 'Please Select',\r\n Items: vals[1].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new DropdownField({\r\n Key: 'Rural_RoofConstruction',\r\n Label: 'Roof:',\r\n Placeholder: 'Please Select',\r\n Items: vals[2].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n this.outBuildingFeilds = [\r\n new FormField({\r\n Key: 'Rural_NumberOfOutbuildings',\r\n Label: 'Outbuildings:',\r\n Placeholder: '',\r\n Type: 'number',\r\n Required: true\r\n })\r\n ]\r\n this.propertyFeaturesFeilds = [\r\n new FormFieldGroup({\r\n Key: 'Rural_PropertyFeatures',\r\n Title: 'Property Features',\r\n ShowTitle: true,\r\n Fields: [\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfDams',\r\n Label: 'Number of Dams:',\r\n Placeholder: 'Please Select',\r\n Items: vals[8].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n }),\r\n new FormField({\r\n Value: '',\r\n Key: 'Rural_TotalDamCapacity',\r\n Label: 'Total Dam Capacity (ML):',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Value: '',\r\n Key: 'Rural_HectaresIrrigated',\r\n Label: 'Hectares Irrigated:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Value: '',\r\n Key: 'Rural_NumberOfOperationalBores',\r\n Label: 'Number of Operational Bores:',\r\n Placeholder: 'Please Select',\r\n Items: vals[9].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: true\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n\r\n mutateGroup (fields: FormDef, groupPrefix: string, desiredNumber: number, groupCreator: (idx: number, groupKey: string) => FormFieldGroup): void {\r\n if (!fields) return\r\n\r\n if (isNaN(desiredNumber)) return\r\n\r\n const existingCount = fields.filter((f) => f.Key.startsWith(groupPrefix)).length\r\n const diff = desiredNumber - existingCount\r\n\r\n if (diff > 0) {\r\n for (let i = 0; i < diff; i++) {\r\n fields.push(groupCreator(existingCount + i, `${groupPrefix}_${existingCount + i}`))\r\n }\r\n } else {\r\n var absDiff = Math.abs(diff)\r\n\r\n for (let i = 0; i < absDiff; i++) {\r\n const idx = fields.map((f) => f.Key.startsWith(groupPrefix)).lastIndexOf(true)\r\n\r\n if (idx !== -1) fields.splice(idx, 1)\r\n }\r\n }\r\n }\r\n\r\n handleFieldUpdated (data: FormField): void {\r\n if (!this.outBuildingFeilds) return\r\n\r\n if (data.Key === 'Rural_NumberOfOutbuildings') {\r\n const num = parseInt(data.Value as string, 10)\r\n\r\n this.mutateGroup(this.outBuildingFeilds, 'OutbuildingsDetails_', num, (i, groupKey) => {\r\n return new FormFieldGroup({\r\n Key: groupKey,\r\n Title: `Rural Outbuilding ${i + 1}`,\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingType`,\r\n Label: 'Building Type/Name:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingUse`,\r\n Label: 'Building Use:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new DropdownField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingCondition`,\r\n Label: 'General Condition:',\r\n Placeholder: 'Please Select',\r\n Items: this.enumVals[4].map((v) => ({ Label: v.Label, Key: v.ValueId })),\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: `Rural_OutbuildingsDetails_${i}_BuildingArea`,\r\n Label: 'Building Area:',\r\n Placeholder: '',\r\n Required: false\r\n })\r\n ]\r\n })\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralCroppingFarmDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralCroppingFarmDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RuralCroppingFarmDetails.vue?vue&type=template&id=04679dcd&\"\nimport script from \"./RuralCroppingFarmDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RuralCroppingFarmDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.errored)?_c('Alert',{attrs:{\"icon\":\"error\"}},[_vm._v(\"There was an error loading the required information. Please try again later.\")]):(_vm.loading)?_c('Loader'):_vm._e(),(_vm.fields)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { DropdownField, FormDef, FormField, FormFieldGroup, FormValue } from '@/app_code/Forms'\r\nimport Checkbox from '@/components/UI/Elements/Forms/Checkbox.vue'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport EnumValueType from 'truemarket-modules/src/models/api/enumerations/EnumValueType'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport IValuationFormStep from '@/components/Valuation/IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form\r\n }\r\n})\r\nexport default class CommercialVacantLandDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n\r\n mounted (): void {\r\n const promises = [\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.FloorConstructionType), // 0\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.WallConstructionType), // 1\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RoofConstructionType), // 2\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ResidentialPropertyFeatures), // 3\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.PropertyCondition), // 4\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.CityViews), // 5\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.RiverViews), // 6\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.ElevatedOutlook), // 7\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Pool), // 8\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.TennisCourt), // 9\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.SecureParkingSpaces), // 10\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bedrooms), // 11\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Bathrooms), // 12\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.Parking), // 13\r\n Services.API.Enumerations.GetEnumValuesForType(EnumValueType.AirConditioningType) // 14\r\n ]\r\n\r\n Promise.all(promises).then((vals) => {\r\n this.loading = false\r\n\r\n this.enumVals = vals\r\n\r\n this.fields = [\r\n new FormFieldGroup({\r\n Key: 'VacantLandDetails',\r\n Title: 'Vacant Land',\r\n ShowTitle: true,\r\n Fields: [\r\n new FormField({\r\n Key: 'Rural_EstimatedValue',\r\n Label: 'Estimated Value / Current Book Value:',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Rural_CurrentRental',\r\n Label: 'Current Rental (if applicable):',\r\n Placeholder: '',\r\n Required: false\r\n }),\r\n new FormField({\r\n Key: 'Rural_Other',\r\n Label: 'Topography & Use:',\r\n Placeholder: 'Please provide description of topography & any on-site improvements',\r\n Required: false,\r\n Type: 'textarea',\r\n Rows: '10'\r\n })\r\n ]\r\n })\r\n ]\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralVacantLandDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralVacantLandDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RuralVacantLandDetails.vue?vue&type=template&id=06bdb2bf&\"\nimport script from \"./RuralVacantLandDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RuralVacantLandDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\r\nimport { FormDef, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { EnumerationValueModel, RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\nimport RuralHobbyFarmDetails from './PropertySubTypes/RuralHobbyFarmDetails.vue'\r\nimport RuralGrazingFarmDetails from './PropertySubTypes/RuralGrazingFarmDetails.vue'\r\nimport RuralCroppingFarmDetails from './PropertySubTypes/RuralCroppingFarmDetails.vue'\r\nimport RuralVacantLandDetails from './PropertySubTypes/RuralVacantLandDetails.vue'\r\nimport IValuationFormStep from '../../IValuationFormStep'\r\n\r\n@Component({\r\n components: {\r\n Form,\r\n RuralHobbyFarmDetails,\r\n RuralGrazingFarmDetails,\r\n RuralCroppingFarmDetails,\r\n RuralVacantLandDetails\r\n }\r\n})\r\nexport default class RuralPropertyDetails extends Vue implements IValuationFormStep {\r\n fields: FormDef | null = null\r\n\r\n loading = true\r\n\r\n errored = false\r\n\r\n @Prop()\r\n private readonly model!: RequestValuationModel\r\n\r\n private enumVals: EnumerationValueModel[][] = []\r\n\r\n hobbyFarmId = '3e57a63a-f81b-40a1-a77f-26a1b47308e6'\r\n grazingFarmId = 'ebdd433c-68ce-4d42-8bde-75af231952ea'\r\n croppingFarmId = '4b174a58-ccaa-4a96-b774-b092e07d8bf7'\r\n vacantLandId = '9bd0510e-aeb2-4ac9-aa0d-f9ca123faffa'\r\n\r\n get isHobbyFarm (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.hobbyFarmId\r\n }\r\n\r\n get isGrazingFarm (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.grazingFarmId\r\n }\r\n\r\n get isCroppingFarm (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.croppingFarmId\r\n }\r\n\r\n get isVacantLand (): boolean {\r\n return this.model.PropertyClassification?.PropertyClassification === this.vacantLandId\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'RuralHobbyFarmDetails',\r\n 'RuralGrazingFarmDetails',\r\n 'RuralCroppingFarmDetails',\r\n 'RuralVacantLandDetails'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as unknown as IValuationFormStep)\r\n .map((ref) => ref.collectData())\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralPropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RuralPropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RuralPropertyDetails.vue?vue&type=template&id=5511fe0b&\"\nimport script from \"./RuralPropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./RuralPropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\nimport CommercialPropertyDetails from './PropertyTypes/CommercialPropertyDetails.vue'\r\nimport IndustrialPropertyDetails from './PropertyTypes/IndustrialPropertyDetails.vue'\r\nimport RetailPropertyDetails from './PropertyTypes/RetailPropertyDetails.vue'\r\nimport ResidentialPropertyDetails from './PropertyTypes/ResidentialPropertyDetails.vue'\r\nimport RuralPropertyDetails from './PropertyTypes/RuralPropertyDetails.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport IValuationFormStep from '../IValuationFormStep'\r\nimport { FormValue } from '@/app_code/Forms'\r\n\r\n@Component({\r\n components: {\r\n ValuationFormStep,\r\n Form,\r\n CommercialPropertyDetails,\r\n IndustrialPropertyDetails,\r\n RetailPropertyDetails,\r\n ResidentialPropertyDetails,\r\n RuralPropertyDetails\r\n }\r\n})\r\nexport default class PropertyDetails extends Vue implements IValuationFormStep {\r\n @Prop({ required: true })\r\n private readonly model!: RequestValuationModel;\r\n\r\n private readonly commercialId = 'd9731c32-c12c-4a9f-b73e-0bb1b6868531'\r\n private readonly industrialId = '2f478d9a-2ec7-4cd1-a9f3-22ee57d6e7e9'\r\n private readonly retailId = '8500289e-4570-4d7b-a33c-6dede9c1b419'\r\n private readonly residentialId = '82957b62-379e-468e-8f60-adcf33cf8f2e'\r\n private readonly ruralId = '65b23448-f76c-4e8d-b984-892bed5e84d1'\r\n\r\n get isCommercial (): boolean {\r\n return this.model.PropertyClassification?.PropertyType === this.commercialId\r\n }\r\n\r\n get isIndustrial (): boolean {\r\n return this.model.PropertyClassification?.PropertyType === this.industrialId\r\n }\r\n\r\n get isRetail (): boolean {\r\n return this.model.PropertyClassification?.PropertyType === this.retailId\r\n }\r\n\r\n get isResidential (): boolean {\r\n return this.model.PropertyClassification?.PropertyType === this.residentialId\r\n }\r\n\r\n get isRural (): boolean {\r\n return this.model.PropertyClassification?.PropertyType === this.ruralId\r\n }\r\n\r\n handleValidated (valid: boolean): void {\r\n this.$emit('validated', valid)\r\n }\r\n\r\n public collectData (): FormValue[] {\r\n const refs = [\r\n 'CommercialPropertyDetails',\r\n 'IndustrialPropertyDetails',\r\n 'RetailPropertyDetails',\r\n 'ResidentialPropertyDetails',\r\n 'RuralPropertyDetails'\r\n ]\r\n .map((refName) => this.$refs[refName])\r\n .filter((ref) => ref)\r\n .map((ref) => ref as unknown as IValuationFormStep)\r\n .map((ref) => ref.collectData())\r\n\r\n return ([] as FormValue[]).concat.apply([], refs)\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PropertyDetails.vue?vue&type=template&id=72e60e65&scoped=true&\"\nimport script from \"./PropertyDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./PropertyDetails.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72e60e65\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValuationFormStep',[_c('h3',{staticClass:\"vf__step\"},[_vm._v(\"Step 6: Photos & Documents\")]),_c('p',{staticClass:\"vf__hint\"},[_vm._v(\" Please upload your photos, floor plans and documents here. \")]),(this.isRes)?_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fieldsRes},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}}):_c('Form',{ref:\"mainForm\",attrs:{\"fields\":_vm.fields},on:{\"validated\":function($event){return _vm.$emit('validated', $event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FileUploadField, FormDef, FormField, FormValue } from '@/app_code/Forms'\r\nimport Form from '@/components/UI/Elements/Forms/Form.vue'\r\nimport { RequestValuationModel } from 'truemarket-modules/src/models/api'\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport IValuationFormStep from '../IValuationFormStep'\r\nimport ValuationFormStep from './ValuationFormStep.vue'\r\n\r\n@Component({\r\n components: {\r\n ValuationFormStep,\r\n Form\r\n }\r\n})\r\nexport default class OptionalInfo extends Vue implements IValuationFormStep {\r\n @Prop({ required: true })\r\n private readonly model!: RequestValuationModel\r\n\r\n private isRes!: boolean\r\n\r\n @Watch('model.PropertyClassification.PropertyType')\r\n async updatePropertyType (): Promise {\r\n var propertyTypeId = this.model.PropertyClassification?.PropertyType\r\n this.isRes = (propertyTypeId === '82957b62-379e-468e-8f60-adcf33cf8f2e')\r\n this.$forceUpdate()\r\n }\r\n\r\n private fields: FormDef = [\r\n new FileUploadField({\r\n Key: 'OptionalInfo_Photos',\r\n Label: 'Photos (minimum 5) or Video:',\r\n Placeholder: 'Upload Images',\r\n Required: false,\r\n Multiple: true,\r\n ContentTypes: [\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'video/mov',\r\n 'video/mp4',\r\n 'application/zip',\r\n 'image/heic'\r\n ]\r\n }),\r\n new FileUploadField({\r\n Key: 'OptionalInfo_BuildingPlans',\r\n Label: 'Building Plans (if available):',\r\n Placeholder: 'Upload Images or PDFs',\r\n Required: false,\r\n Multiple: true,\r\n ContentTypes: [\r\n 'application/pdf',\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'application/zip',\r\n 'image/heic'\r\n ]\r\n }),\r\n new FileUploadField({\r\n Key: 'OptionalInfo_LeaseDocuments',\r\n Label: 'Lease Documents (if available):',\r\n Placeholder: 'Upload Images or PDFs',\r\n Required: false,\r\n Multiple: true,\r\n ContentTypes: [\r\n 'application/pdf',\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'application/zip',\r\n 'image/heic'\r\n ]\r\n }),\r\n new FileUploadField({\r\n Key: 'OptionalInfo_TenancySchedule',\r\n Label: 'Tenancy Schedule (if available):',\r\n Placeholder: 'Upload Images or PDFs',\r\n Required: false,\r\n Multiple: true,\r\n ContentTypes: [\r\n 'application/pdf',\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'application/zip',\r\n 'image/heic'\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'OptionalInfo_PropertyListingLink',\r\n Type: 'textarea',\r\n Label: 'Property Listing Link (optional):',\r\n Placeholder: 'e.g. www.realestate.com.au',\r\n Rows: '5',\r\n Required: false\r\n })\r\n ]\r\n\r\n private fieldsRes: FormDef = [\r\n new FileUploadField({\r\n Key: 'OptionalInfo_Photos',\r\n Label: 'Photos (minimum 5) or Video:',\r\n Placeholder: 'Upload Images',\r\n Required: false,\r\n Multiple: true,\r\n Capture: true,\r\n ContentTypes: [\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'video/mov',\r\n 'video/mp4',\r\n 'application/zip',\r\n 'image/heic'\r\n ]\r\n }),\r\n new FileUploadField({\r\n Key: 'OptionalInfo_BuildingPlans',\r\n Label: 'Building Plans (if available):',\r\n Placeholder: 'Upload Images or PDFs',\r\n Required: false,\r\n Multiple: true,\r\n ContentTypes: [\r\n 'application/pdf',\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'application/zip',\r\n 'image/heic'\r\n ]\r\n }),\r\n new FormField({\r\n Key: 'OptionalInfo_PropertyListingLink',\r\n Type: 'textarea',\r\n Label: 'Property Listing Link (optional):',\r\n Placeholder: 'e.g. www.realestate.com.au',\r\n Rows: '5',\r\n Required: false\r\n })\r\n ]\r\n\r\n public collectData (): FormValue[] {\r\n return (this.$refs.mainForm as Form).GetValues().Fields\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OptionalInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OptionalInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OptionalInfo.vue?vue&type=template&id=76949020&scoped=true&\"\nimport script from \"./OptionalInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./OptionalInfo.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76949020\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal\"}},[(_vm.active)?_c('div',{staticClass:\"modal-wrap\"},[_c('div',{staticClass:\"modal\"},[_c('div',{staticClass:\"modal__header\"},[_c('h4',{staticClass:\"modal-title\"},[_vm._v(\"**IMPORTANT - INFORMATION REQUIREMENTS FOR E-VALUATION ORDERS**\")])]),_c('div',{staticClass:\"modal__body\"},[_c('p',[_vm._v(\" Before proceeding, please note that you will need the following \"),_c('u',[_vm._v(\"minimum\")]),_vm._v(\" information to order a TrueMarket Property Assessment: \")]),_c('ul',[_c('li',[_vm._v(\"Accommodation details \"),_c('i',[_vm._v(\"(bedrooms/bathrooms for residential properties \"),_c('b',[_vm._v(\"or\")]),_vm._v(\" office/medical/retail/warehouse occupancy areas for commercial properties)\")])]),_c('li',[_vm._v(\"General construction details \"),_c('i',[_vm._v(\"(flooring/walls/roofing)\")])]),_c('li',[_vm._v(\"Property condition \"),_c('i',[_vm._v(\"(poor/fair/good/excellent/”as new”)\")])]),_c('li',[_vm._v(\"Current \"),_c('u',[_vm._v(\"net\")]),_vm._v(\" annual rental \"),_c('i',[_vm._v(\"(\"),_c('b',[_vm._v(\"for \"),_c('u',[_vm._v(\"SMSF\")]),_vm._v(\" Property Assessments only\")]),_vm._v(\")\")])])]),_c('p',[_vm._v(\" If you have any questions, please email us at \"),_c('a',{attrs:{\"href\":\"mailto:support@truemarket.com.au\"}},[_vm._v(\"support@truemarket.com.au\")])])])]),_c('div',{staticClass:\"modal__menu\"},[_c('a',{staticClass:\"modal__button\",on:{\"click\":_vm.handleClick}},[_vm._v(\"CLOSE\")])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class Notice extends Vue {\r\n private active = false\r\n\r\n mounted (): void {\r\n if (!localStorage.getItem('showNotice')) {\r\n localStorage.setItem('showNotice', 'true')\r\n this.active = true\r\n } else if (localStorage.getItem('showNotice') === 'true') {\r\n this.active = true\r\n }\r\n }\r\n\r\n handleClick (): void {\r\n this.active = false\r\n\r\n if (this.active) {\r\n localStorage.setItem('showNotice', 'false')\r\n }\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Notice.vue?vue&type=template&id=868f247e&scoped=true&\"\nimport script from \"./Notice.vue?vue&type=script&lang=ts&\"\nexport * from \"./Notice.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Notice.vue?vue&type=style&index=0&id=868f247e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"868f247e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport Steps from '../UI/Elements/Steps/Steps.vue'\r\nimport AddressDetails from './Steps/AddressDetails.vue'\r\nimport AssessmentDetails from './Steps/AssessmentDetails.vue'\r\nimport ContactDetails from './Steps/ContactDetails.vue'\r\nimport PropertyTypeSelection from './Steps/PropertyTypeSelection.vue'\r\nimport Payment from './Steps/Payment.vue'\r\nimport PropertyDetails from './Steps/PropertyDetails.vue'\r\nimport OptionalInfo from './Steps/OptionalInfo.vue'\r\nimport { RequestValuationContactModel, RequestValuationModel, RequestValuationPropertyClassificationModel, RequestValuationAssessmentDetailsModel } from 'truemarket-modules/src/models/api'\r\nimport IValuationFormStep, { IValuationFormModelBuilderStep } from './IValuationFormStep'\r\nimport { FormValue } from '@/app_code/Forms'\r\nimport { Services } from 'truemarket-modules/src/services'\r\nimport { GetContactModel } from 'truemarket-modules/src/models/api/crm'\r\nimport IAsyncStep from './IAsyncStep'\r\nimport { InvoiceModel } from 'truemarket-modules/src/models/api/invoices'\r\nimport GetPropertySnapshotModel from 'truemarket-modules/src/models/api/properties/GetPropertySnapshotModel'\r\nimport Notice from '../Notice.vue'\r\n\r\n@Component({\r\n components: {\r\n Steps,\r\n AddressDetails,\r\n AssessmentDetails,\r\n ContactDetails,\r\n PropertyTypeSelection,\r\n Payment,\r\n PropertyDetails,\r\n OptionalInfo,\r\n Notice\r\n }\r\n})\r\nexport default class ValuationForm extends Vue {\r\n private model: RequestValuationModel = {\r\n PropertyClassification: null,\r\n AssessmentDetails: null\r\n }\r\n\r\n private data: any\r\n\r\n paymentInfo = {\r\n contactId: '',\r\n invoiceId: ''\r\n }\r\n\r\n minStep = -1\r\n\r\n property: GetPropertySnapshotModel | null = null\r\n\r\n private validationIndex = -1\r\n\r\n private displayPleaseWait = false\r\n\r\n private paymentProcessed = false\r\n\r\n processPayment (): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.displayPleaseWait = true\r\n setTimeout(() => {\r\n this.displayPleaseWait = false\r\n resolve()\r\n }, 5000)\r\n })\r\n }\r\n\r\n async handleVoucherOrder (invoice: InvoiceModel): Promise {\r\n this.data = this.collectData() as any\r\n\r\n // const model = this.collectData() as any\r\n const pre = await Services.API.ValuationForm.CreatePreValuationForm(this.data)\r\n\r\n // At this point here we're also going to create the actual valuation\r\n if (invoice) await Services.API.ValuationForm.CreateValuation(pre.PropertySnapshotId, this.data.AssessmentDetails.Purpose, invoice.InvoiceId, this.data.AssessmentDetails.CurrentDate)\r\n\r\n sessionStorage.setItem('PropertySnapshotId', pre.PropertySnapshotId)\r\n\r\n try {\r\n const property = await Services.API.ValuationForm.SavePropertyDetails(this.data, sessionStorage.getItem('PropertySnapshotId'))\r\n\r\n this.$router.push('/completed') // COMMENT THIS OUT FOR TESTING\r\n } catch (ex) {\r\n console.error(ex)\r\n }\r\n }\r\n\r\n handleNext (): void {\r\n this.model.PropertyClassification = (this.$refs.propertyTypeSelection as unknown as IValuationFormModelBuilderStep).buildModel() as RequestValuationPropertyClassificationModel\r\n this.model.AssessmentDetails = (this.$refs.assessmentDetails as unknown as IValuationFormModelBuilderStep).buildModel() as RequestValuationAssessmentDetailsModel\r\n this.data = this.collectData() as any\r\n }\r\n\r\n handleNavigated (index: number): void {\r\n if (index === 7) {\r\n // this.$router.push('/completed')\r\n }\r\n\r\n if (index === 5) {\r\n this.handleValidated(5, true)\r\n }\r\n }\r\n\r\n handlePaymentCompleted (invoice: InvoiceModel): void {\r\n this.minStep = 7 // was 5\r\n this.paymentInfo.invoiceId = invoice.InvoiceId\r\n }\r\n\r\n handleGotContact (contact: GetContactModel): void {\r\n this.paymentInfo.contactId = contact.ContactId\r\n }\r\n\r\n stepsBeforeNext: (nextIdx: number) => Promise = async (nextIdx: number) => {\r\n (this.model as any).Contact = (this.$refs.contactDetails as unknown as IValuationFormModelBuilderStep).buildModel() as RequestValuationContactModel\r\n\r\n const nextStepComponent = (this.$refs.steps as any).$slots.default[nextIdx - 1].componentInstance as Vue\r\n\r\n if ('OnBeforeNext' in nextStepComponent) {\r\n const canGoNext = await (nextStepComponent as unknown as IAsyncStep).OnBeforeNext()\r\n\r\n if (!canGoNext) {\r\n return false\r\n }\r\n }\r\n\r\n if (nextIdx === 3) {\r\n this.model = this.collectData() as any\r\n }\r\n\r\n if (nextIdx === 7) { // was 5\r\n const model = this.collectData() as any\r\n const pre = await Services.API.ValuationForm.CreatePreValuationForm(model)\r\n\r\n // At this point here we're also going to create the actual valuation\r\n if (this.paymentInfo.contactId && this.paymentInfo.invoiceId) await Services.API.ValuationForm.CreateValuation(pre.PropertySnapshotId, model.AssessmentDetails.Purpose, this.paymentInfo.invoiceId, model.AssessmentDetails.CurrentDate)\r\n\r\n sessionStorage.setItem('PropertySnapshotId', pre.PropertySnapshotId)\r\n }\r\n\r\n if (nextIdx === 7) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const model = this.collectData() as any\r\n\r\n try {\r\n this.property = await Services.API.ValuationForm.SavePropertyDetails(model, sessionStorage.getItem('PropertySnapshotId'))\r\n\r\n this.$router.push('/completed') // COMMENT THIS OUT FOR TESTING\r\n } catch (ex) {\r\n console.error(ex)\r\n }\r\n\r\n return true\r\n }\r\n\r\n return true\r\n }\r\n\r\n handleValidated (stepIdx: number, valid: boolean): void {\r\n if (!valid) {\r\n this.validationIndex = stepIdx - 1\r\n } else if (this.validationIndex < stepIdx) {\r\n this.validationIndex = stepIdx\r\n }\r\n }\r\n\r\n collectData (): Record {\r\n const refs: IValuationFormStep[] = [\r\n 'addressDetails',\r\n 'assessmentDetails',\r\n 'propertyTypeSelection',\r\n 'contactDetails',\r\n 'propertyDetails',\r\n 'optionalInfo'\r\n ].map((refName) => this.$refs[refName] as unknown as IValuationFormStep)\r\n\r\n const data: FormValue[] = []\r\n\r\n refs.forEach((ref) => {\r\n data.push(...ref.collectData())\r\n })\r\n\r\n const processed: Record = {}\r\n\r\n function buildTree (parts: string[], ref: Record, datum: FormValue) {\r\n const part = parts.shift()\r\n\r\n if (!part) return\r\n\r\n if (parts.length === 0) {\r\n // This is the last part, so we must set the value\r\n if (datum.IsComposite) {\r\n // If its a composite datum, we must check to see if a value\r\n // has already been set, if so, we append it, else we create a new one\r\n\r\n // If the value is false we will skip over this part\r\n if (datum.Value as unknown !== false && datum.Value !== '') {\r\n if (ref[part]) {\r\n // Push the new item onto the existing array\r\n (ref[part] as Array).push(datum.Value)\r\n } else {\r\n // Set the value to an array with just this value\r\n ref[part] = [datum.Value]\r\n }\r\n }\r\n } else {\r\n // Else if its not a composite key, we can just set the value normally\r\n ref[part] = datum.Value\r\n }\r\n\r\n return\r\n }\r\n\r\n // If we got here it means there are still more parts\r\n if (ref[part] === undefined) ref[part] = {}\r\n // Recursively call buildTree\r\n buildTree(parts, ref[part] as Record, datum)\r\n\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n var keys = Object.keys(ref[part] as object)\r\n\r\n if (keys.every((k) => k.toString() === parseInt(k, 10).toString())) {\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n ref[part] = Object.values(ref[part] as object)\r\n }\r\n }\r\n\r\n try {\r\n // Merge non database fields into other\r\n const other = data.find(element => element.Key === 'Residential_Other')\r\n const floorLevel = data.find(element => element.Key === 'Residential_FloorLevel')\r\n other.Value += ' \\r\\n ' + 'Floor Level: ' + floorLevel.Value\r\n } catch {}\r\n\r\n data.forEach(datum => {\r\n buildTree(datum.Key.split('_'), processed, datum)\r\n })\r\n\r\n return processed\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValuationForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValuationForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ValuationForm.vue?vue&type=template&id=3b3c3b02&scoped=true&\"\nimport script from \"./ValuationForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ValuationForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ValuationForm.vue?vue&type=style&index=0&id=3b3c3b02&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b3c3b02\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\r\nimport ValuationForm from '@/components/Valuation/ValuationForm.vue'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n ValuationForm\r\n }\r\n})\r\nexport default class GetAValuation extends Vue {\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GetAValuation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GetAValuation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GetAValuation.vue?vue&type=template&id=262a4832&scoped=true&\"\nimport script from \"./GetAValuation.vue?vue&type=script&lang=ts&\"\nexport * from \"./GetAValuation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"262a4832\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressField.vue?vue&type=style&index=0&id=f6de0d78&scoped=true&lang=css&\"","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notice.vue?vue&type=style&index=0&id=868f247e&scoped=true&lang=css&\""],"sourceRoot":""}