UNPKG

@stratusjs/idx

Version:

AngularJS idx/property Service and Components bundle to be used as an add on to StratusJS

1 lines 26.6 kB
System.register(["./details.component.less","./details.classic.component.less","lodash","@stratusjs/runtime/stratus","@stratusjs/angularjs/services/model","@stratusjs/core/misc","@stratusjs/core/environment","@stratusjs/angularjs-extras","@stratusjs/swiper"],function(exports_1,context_1){"use strict";var lodash_1,stratus_1,model_1,misc_1,environment_1,min,localDir,localDistStyle;context_1&&context_1.id;return{setters:[function(_1){},function(_2){},function(lodash_1_1){lodash_1=lodash_1_1},function(stratus_1_1){stratus_1=stratus_1_1},function(model_1_1){model_1=model_1_1},function(misc_1_1){misc_1=misc_1_1},function(environment_1_1){environment_1=environment_1_1},function(_3){},function(_4){}],execute:function(){min=environment_1.cookie("env")?"":".min","idx","property","details",localDir=`${stratus_1.Stratus.BaseUrl}${stratus_1.Stratus.DeploymentPath}@stratusjs/idx/src/property/`,localDistStyle=`${stratus_1.Stratus.BaseUrl}${stratus_1.Stratus.DeploymentPath}@stratusjs/idx/dist/idx.bundle.min.css`,stratus_1.Stratus.Components.IdxPropertyDetails={bindings:{elementId:"@",tokenUrl:"@",urlLoad:"@",pageTitle:"@",service:"@",listingKey:"@",listingId:"@",images:"@",openhouses:"@",googleApiKey:"@",contactEmail:"@",contactName:"@",contactPhone:"@",contactWebsiteUrl:"@",hideVariables:"@",preferredStatus:"@",options:"@",template:"@",defaultListOptions:"@"},controller($attrs,$sce,$scope,ListTrac,Idx){let mlsVariables,googleMapEmbed;$scope.uid=misc_1.safeUniqueId("idx","property","details"),$scope.elementId=$attrs.elementId||$scope.uid,stratus_1.Stratus.Instances[$scope.elementId]=$scope,$scope.instancePath=`Stratus.Instances.${$scope.elementId}`,$scope.localDir=localDir,$attrs.tokenUrl&&Idx.setTokenURL($attrs.tokenUrl),stratus_1.Stratus.Internals.CssLoader(localDistStyle).then(),this.$onInit=()=>{$scope.model=new model_1.Model,$scope.Idx=Idx,$scope.urlLoad=!$attrs.urlLoad||!misc_1.isJSON($attrs.urlLoad)||JSON.parse($attrs.urlLoad),$scope.pageTitle=!(!$attrs.pageTitle||!misc_1.isJSON($attrs.pageTitle))&&JSON.parse($attrs.pageTitle),$scope.options=$attrs.options&&misc_1.isJSON($attrs.options)?JSON.parse($attrs.options):{},$scope.options.service=$attrs.service&&misc_1.isJSON($attrs.service)?JSON.parse($attrs.service):null,$scope.options.ListingKey=$attrs.listingKey&&misc_1.isJSON($attrs.listingKey)?JSON.parse($attrs.listingKey):$attrs.listingKey||null,lodash_1.isNumber($scope.options.ListingKey)&&$scope.options.ListingKey>1e18&&($scope.options.ListingKey=$attrs.listingKey),$scope.options.ListingId=$attrs.listingId&&misc_1.isJSON($attrs.listingId)?JSON.parse($attrs.listingId):$attrs.listingId||null,$scope.options.images=$attrs.images&&misc_1.isJSON($attrs.images)?JSON.parse($attrs.images):{fields:["Order","MediaURL","LongDescription"]},$scope.options.openhouses=$attrs.openhouses&&misc_1.isJSON($attrs.openhouses)?JSON.parse($attrs.openhouses):{fields:"*"},$scope.hideVariables=$attrs.hideVariables&&misc_1.isJSON($attrs.hideVariables)?JSON.parse($attrs.hideVariables):[],$scope.preferredStatus=$attrs.preferredStatus||"Closed",$scope.defaultListOptions=$attrs.defaultListOptions&&misc_1.isJSON($attrs.defaultListOptions)?JSON.parse($attrs.defaultListOptions):{},$scope.images=[],$scope.contact=null,$scope.contactUrl=$attrs.contactWebsiteUrl||null,$scope.integrations=null,($attrs.contactName||$attrs.contactEmail||$attrs.contactPhone)&&($scope.contact={name:$attrs.contactName||"",emails:{},locations:{},phones:{},socialUrls:{},urls:{}},$attrs.contactEmail&&($scope.contact.emails.Main=$attrs.contactEmail),$attrs.contactPhone&&($scope.contact.phones.Main=$attrs.contactPhone)),$attrs.googleApiKey&&($scope.integrations={maps:{googleMaps:{publicKey:$attrs.googleApiKey}}});const minorDetails=[{section:"Size & Style",items:{YearBuilt:"Built",Stories:"Stories",StructureType:"Structure Type",LivingArea:{name:"Living Area",comma:!0,appendField:"LivingAreaUnits",appendFieldBackup:"LotSizeUnits",append:" SqFt"},LeasableArea:{name:"Living Area",comma:!0,appendField:"LeasableAreaUnits",appendFieldBackup:"LivingAreaUnits",append:" SqFt"},LotSizeAcres:{name:"Lot Size",append:" Acres",comma:!0},LotSizeSquareFeet:{name:"Lot Size",append:" SqFt",comma:!0},LotSizeArea:{name:"Lot Size",comma:!0,appendField:"LotSizeUnits",appendFieldBackup:"LivingAreaUnits",append:" SqFt"},HorseYN:{name:"Horse Property",false:""}}},{section:"Materials",items:{Roof:"Roof",Flooring:"Flooring",WindowFeatures:"Windows",DoorFeatures:"Doors",FoundationDetails:"Foundation",FoundationArea:"Foundation",ConstructionMaterials:"Construction"}},{section:"Utilities",items:{CoolingYN:{name:"Cooling",false:""},Cooling:"Cooling",HeatingYN:{name:"Heating",false:""},Heating:"Heating",Utilities:"Utilities",Electric:"Electric",WaterSource:"Water",Sewer:"Sewer Septic",NumberOfSeparateElectricMeters:{name:"Number Of Separate Electric Meters",comma:!0},NumberOfSeparateGasMeters:{name:"Number Of Separate Gas Meters",comma:!0},NumberOfSeparateWaterMeters:{name:"Number Of Separate Water Meters",comma:!0}}},{section:"Area",items:{CrossStreet:"Cross Street",UnitNumber:"Unit",MLSAreaMajor:"Area",MLSAreaMinor:"Area Minor",Township:"Township",SubdivisionName:"Subdivision",City:"City",CityRegion:"City Region",PostalCode:"Postal Code",CountyOrParish:"County",StateRegion:"Region",StateOrProvince:"State"}},{section:"Business",items:{BusinessName:"Business Name",BusinessType:"Type",OwnershipType:"Ownership",SeatingCapacity:{name:"Seating Capacity",comma:!0},YearEstablished:"Year Established",YearsCurrentOwner:{name:"Years with Current Owner",comma:!0},HoursDaysOfOperation:"Hours Of Operation",HoursDaysOfOperationDescription:"Hours Of Operation",NumberOfFullTimeEmployees:{name:"Full-Time Employees",comma:!0},NumberOfPartTimeEmployees:{name:"Part-Time Employees",comma:!0},LaborInformation:"Labor Info",SpecialLicenses:"SpecialLicenses",LeaseAmount:{name:"LeaseAmount",prepend:"$",comma:!0},LeaseAmountFrequency:"Lease Frequency",LeaseAssignableYN:{name:"Lease Assignable",false:""},LeaseExpiration:"Lease Expiration",LeaseRenewalOptionYN:{name:"Lease Renewable",false:""}}},{section:"Farming",items:{CropsIncludedYN:{name:"Crops Included",false:""},Vegetation:"Vegetation",FarmCreditServiceInclYN:{name:"Farm Credit Service",true:"Shares Included",false:""},GrazingPermitsBlmYN:{name:"Grazing",true:"BLM Permitted",false:""},GrazingPermitsForestServiceYN:{name:"Grazing",true:"Forestry Service Permitted",false:""},GrazingPermitsPrivateYN:{name:"Grazing",true:"Private Permitted",false:""},CultivatedArea:{name:"Cultivated Area",comma:!0},PastureArea:{name:"Pasture Area",comma:!0},RangeArea:{name:"Range Area",comma:!0},WoodedArea:{name:"Wooded Area",comma:!0},IrrigationSource:"IrrigationSource",IrrigationWaterRightsYN:{name:"Irrigation Water Rights",false:""},IrrigationWaterRightsAcres:{name:"Irrigation Water Rights",append:" Acres",comma:!0}}},{section:"Features",items:{HorseAmenities:"Horse Amenities",PoolPrivateYN:{name:"Pool",false:""},PoolFeatures:"Pool",SpaYN:{true:"Spa: Yes",false:""},SpaFeatures:"Spa",LaundryFeatures:"Laundry",Appliances:"Appliances",FireplaceYN:{name:"Fireplace",false:""},FireplaceFeatures:"Fireplace",FireplacesTotal:"Fireplaces",Basement:"Basement",InteriorFeatures:"Interior Features",SecurityFeatures:"Security Features",ExteriorFeatures:"Exterior Features",BuildingFeatures:"Building Features",AccessibilityFeatures:"Accessibility",PatioAndPorchFeatures:"Patio And Porch",Fencing:"Fencing",FrontageType:"Frontage",OtherEquipment:"Equipment",CommunityFeatures:"Community"}},{section:"Parking",items:{ParkingTotal:"Parking Spaces",GarageYN:{name:"Garage",false:""},AttachedGarageYN:{name:"Garage",true:"Attached",false:""},GarageSpaces:"Garage Spaces",CarportYN:{name:"Carport",false:""},CarportSpaces:"Carport Spaces",CoveredSpaces:"Covered Spaces",OpenParkingSpaces:"Open Spaces",OtherParking:"Other Parking",ParkingFeatures:"Parking"}},{section:"School",items:{ElementarySchool:"Elementary School",ElementarySchoolDistrict:"Elementary School District",MiddleOrJuniorSchool:"Middle School",MiddleOrJuniorSchoolDistrict:"Middle School District",HighSchool:"High School",HighSchoolDistrict:"High School District"}},{section:"Contract",items:{AvailabilityDate:"Availability",PetsAllowed:{name:"Pets Allowed"},HomeWarrantyYN:{name:"Home Warranty",true:"Included",false:""},LeaseConsideredYN:{name:"Leasing Considered",false:""},ListingAgreement:"Listing Agreement",ListingService:"Service",DocumentsAvailable:"Documents Available",Ownership:"Ownership",Contingencies:"Contingencies",Disclosures:"Disclosures",Exclusions:"Exclusions",Inclusions:"Inclusions",ListingTerms:"ListingTerms",SpecialListingConditions:"Special Listing Conditions",CommonInterest:"Common Interest"}},{section:"Financial",items:{ConcessionsAmount:{name:"Seller Concessions",prepend:"$",comma:!0},ConcessionsPercent:{name:"Seller Concessions",append:"%"},ConcessionsComments:{name:"Seller Concessions",html:!0,hideName:!0},RentControlYN:{name:"Rent Control",false:""},TenantPays:"Tenant Pays",OwnerPays:"Owner Pays",RentIncludes:"Rent Includes",AssociationYN:{name:"HOA",false:""},AssociationFee:{name:"HOA Fee",prepend:"$",comma:!0},AssociationFeeFrequency:"HOA Frequency",AssociationFeeIncludes:"HOA Includes",AssociationFee2:{name:"Additional HOA Fee",prepend:"$",comma:!0},AssociationFeeFrequency2:"Additional HOA Frequency",CableTvExpense:{name:"Cable Tv Expense",prepend:"$",comma:!0},ElectricExpense:{name:"Electric Expense",prepend:"$",comma:!0},FuelExpense:{name:"Fuel Expense",prepend:"$",comma:!0},FurnitureReplacementExpense:{name:"Furniture Replacement Expense",prepend:"$",comma:!0},GardenerExpense:{name:"Gardener Expense",prepend:"$",comma:!0},InsuranceExpense:{name:"Insurance Expense",prepend:"$",comma:!0},LicensesExpense:{name:"Licenses Expense",prepend:"$",comma:!0},MaintenanceExpense:{name:"Maintenance Expense",prepend:"$",comma:!0},ManagerExpense:{name:"Manager Expense",prepend:"$",comma:!0},NewTaxesExpense:{name:"New Taxes Expense",prepend:"$",comma:!0},OperatingExpense:{name:"Operating Expense",prepend:"$",comma:!0},OperatingExpenseIncludes:"Operating Expense Includes",OtherExpense:{name:"Other Expense",prepend:"$",comma:!0},PestControlExpense:{name:"Pest Control Expense",prepend:"$",comma:!0},PoolExpense:{name:"Pool Expense",prepend:"$",comma:!0},ProfessionalManagementExpense:{name:"Professional Management Expense",prepend:"$",comma:!0},SuppliesExpense:{name:"Supplies Expense",prepend:"$",comma:!0},TrashExpense:{name:"Trash Expense",prepend:"$",comma:!0},WaterSewerExpense:{name:"Water Sewer Expense",prepend:"$",comma:!0},WorkmansCompensationExpense:{name:"Workmans Compensation Expense",prepend:"$",comma:!0},TaxAnnualAmount:{name:"Annual Tax",prepend:"$",comma:!0},TaxOtherAnnualAssessmentAmount:{name:"Other Annual Tax",prepend:"$",comma:!0},TaxAssessedValue:{name:"Tax Assessed Value",prepend:"$",comma:!0},TaxYear:"Tax Year Assessed",TaxStatusCurrent:"Tax Status",TaxParcelLetter:"Tax Parcel Letter",ParcelNumber:"Parcel Number",AdditionalParcelsYN:{name:"Additional Parcels",false:""},AdditionalParcelsDescription:"Parcels",Zoning:"Zoning",ZoningDescription:"Zoning"}},{section:"Sources",items:{FinancialDataSource:"Financial Data",LotSizeSource:"Lot Size",LotDimensionsSource:"Lot Dimensions",LivingAreaSource:"Living Area",BuildingAreaSource:"Building Area",FarmLandAreaSource:"Farm Land Area",YearBuiltSource:"Year Built",MapCoordinateSource:"Map Coordinate",ListAOR:{name:"Listing AOR"},OriginatingSystemName:{name:"Originating System"},OriginatingSystemKey:{name:"Originating System",prepend:"# "}}}];if(hideDetailVariables(minorDetails,$scope.hideVariables),$scope.minorDetails=minorDetails,$scope.alternateMinorDetails=[{section:"Location",items:{UnitNumber:"Unit",City:"City",CityRegion:"City Region",Township:"Township",CountyOrParish:"County",MLSAreaMajor:"Area",MLSAreaMinor:"Area Minor",SubdivisionName:"Subdivision",StateOrProvince:"State",StateRegion:"State Region",PostalCode:"Postal Code",Country:"Country"}},{section:"Business",items:{BusinessName:"Business Name",BusinessType:"Type",OwnershipType:"Ownership",SeatingCapacity:{name:"Seating Capacity",comma:!0},YearEstablished:"Year Established",YearsCurrentOwner:{name:"Years with Current Owner",comma:!0},HoursDaysOfOperation:"Hours Of Operation",HoursDaysOfOperationDescription:"Hours Of Operation",NumberOfFullTimeEmployees:{name:"Full-Time Employees",comma:!0},NumberOfPartTimeEmployees:{name:"Part-Time Employees",comma:!0},LaborInformation:"Labor Info",SpecialLicenses:"SpecialLicenses",LeaseAmount:{name:"LeaseAmount",prepend:"$",comma:!0},LeaseAmountFrequency:"Lease Frequency",LeaseAssignableYN:{true:"Lease Assignable",false:""},LeaseExpiration:"Lease Expiration",LeaseRenewalOptionYN:{true:"Lease Renewable",false:""}}},{section:"Listing",items:{SeniorCommunityYN:{true:"Senior Community",false:""},CommunityFeatures:"Community",CurrentUse:"Current Use",PossibleUse:"Possible Uses",LotFeatures:"Lot Features",LotSizeAcres:{name:"Lot Size",append:" Acres",comma:!0},LotSizeSquareFeet:{name:"Lot Size",append:" SqFt",comma:!0},LotSizeArea:{name:"Lot Size",comma:!0},LotSizeDimensions:"LotSizeDimensions",NumberOfBuildings:{name:"Number of Buildings",comma:!0},NumberOfLots:{name:"Number of Lots",comma:!0},NumberOfPads:{name:"Number of Pads",comma:!0},NumberOfUnitsInCommunity:{name:"Number of Units In Community",comma:!0},NumberOfUnitsTotal:{name:"Number of Units",comma:!0},UnitsFurnished:"Units Furnished",ViewYN:{true:"Has a View",false:""},View:"View",WaterfrontYN:{true:"Has a Waterfront",false:""},WaterfrontFeatures:"Waterfront",WaterBodyName:"Body of Water Name"}},{section:"Farming",items:{CropsIncludedYN:{true:"Crops Included",false:""},Vegetation:"Vegetation",FarmCreditServiceInclYN:{true:"Farm Credit Service Shares Included",false:""},GrazingPermitsBlmYN:{true:"Grazing Permitted - BLM",false:""},GrazingPermitsForestServiceYN:{true:"Grazing Permitted - Forestry Service",false:""},GrazingPermitsPrivateYN:{true:"Private Grazing Permitted",false:""},CultivatedArea:{name:"Cultivated Area",comma:!0},PastureArea:{name:"Pasture Area",comma:!0},RangeArea:{name:"Range Area",comma:!0},WoodedArea:{name:"Wooded Area",comma:!0}}},{section:"Interior",items:{Furnished:"Furnished",RoomsTotal:"# of Rooms",BedroomsTotal:"Bedrooms",BedroomsPossible:"Possible Bedrooms",MainLevelBedrooms:"Main Bedrooms",BathroomsTotalInteger:"Total Bathrooms",BathroomsFull:"Full Bathrooms",BathroomsPartial:"Partial Bathrooms",BathroomsOneQuarter:"1/4 Bathrooms",BathroomsHalf:"Half Bathrooms",BathroomsThreeQuarter:"3/4 Bathrooms",MainLevelBathrooms:"Main Bathrooms",Flooring:"Flooring",WindowFeatures:"Windows",DoorFeatures:"DoorFeatures",LivingArea:{name:"Living Area",comma:!0},FireplaceYN:{true:"Has Fireplace",false:""},FireplacesTotal:"# of Fireplaces",FireplaceFeatures:"Fireplace",InteriorFeatures:"Interior Features",Appliances:"Appliances",SecurityFeatures:"Security",OtherEquipment:"Equipment"}},{section:"Exterior",items:{ExteriorFeatures:"Exterior",PatioAndPorchFeatures:"Patio And Porch",Fencing:"Fencing",Topography:"Topography",FrontageType:"Frontage",FrontageLength:"Frontage Length"}},{section:"Amenities",items:{HorseYN:{true:"Horse Property",false:""},HorseAmenities:"Horse Amenities",PoolPrivateYN:{true:"Has Private Pool",false:""},PoolFeatures:"Pool",SpaYN:{true:"Has Spa",false:""},SpaFeatures:"Spa",LaundryFeatures:"Laundry"}},{section:"Heating & Cooling",items:{CoolingYN:{true:"Has Cooling",false:""},Cooling:"Cooling",HeatingYN:{true:"Has Heating",false:""},Heating:"Heating"}},{section:"Structure",items:{NewConstructionYN:{true:"New Construction",false:""},DevelopmentStatus:"Development Status",StructureType:"Type",ArchitecturalStyle:"Style",PropertyCondition:"Condition",PropertyAttachedYN:{true:"Property Attached to Existing Structure",false:""},Stories:"Stories",MobileHomeRemainsYN:{true:"Mobile Home Remains",false:""},Make:"Make",Model:"Model",BodyType:"Body Type",MobileLength:{name:"Mobile Length",comma:!0},MobileWidth:{name:"Mobile Width",comma:!0},BuildingName:"Building Name",StoriesTotal:"Complex Stories",BuilderModel:"Model",BuilderName:"Builder",YearBuilt:"Year Built",YearBuiltEffective:"Year Renovated",YearBuiltDetails:{},CommonWalls:"Common Walls",BuildingFeatures:"Building Features",AccessibilityFeatures:"Accessibility",Basement:"Basement",Roof:"Roof",ConstructionMaterials:"Construction",FoundationDetails:"Foundation",FoundationArea:"Foundation",OtherStructures:"Other Structures",BuildingAreaTotal:{name:"Building Area",comma:!0},DOH1:"DOH1",DOH2:"DOH2",DOH3:"DOH3",License1:"License",License2:"License",License3:"License",RVParkingDimensions:"RV Parking",SerialU:"Serial U",SerialX:"Serial X",SerialXX:"Serial XX",Skirt:"Skirt"}},{section:"Parking",items:{ParkingTotal:"Parking Spaces",GarageYN:{true:"Has Garage",false:""},GarageSpaces:"# of Garage Spaces",AttachedGarageYN:{true:"Attached Garage",false:""},CarportYN:{true:"Has Carport",false:""},CarportSpaces:"# of Carport Spaces",CoveredSpaces:"# of Covered Spaces",OpenParkingSpaces:"# of Open Spaces",OtherParking:"Other Parking",ParkingFeatures:"Parking"}},{section:"Utilities",items:{Utilities:"Utilities",Electric:"Electric",WaterSource:"Water",Sewer:"Sewer",IrrigationSource:"IrrigationSource",IrrigationWaterRightsYN:{true:"Has Irrigation Water Rights",false:""},IrrigationWaterRightsAcres:{name:"Irrigation Water Rights",append:" Acres",comma:!0},NumberOfSeparateElectricMeters:{name:"Number Of Separate Electric Meters",comma:!0},NumberOfSeparateGasMeters:{name:"Number Of Separate Gas Meters",comma:!0},NumberOfSeparateWaterMeters:{name:"Number Of Separate Water Meters",comma:!0}}},{section:"School",items:{ElementarySchool:"Elementary School",ElementarySchoolDistrict:"Elementary School District",MiddleOrJuniorSchool:"Middle School",MiddleOrJuniorSchoolDistrict:"Middle School District",HighSchool:"High School",HighSchoolDistrict:"High School District"}},{section:"Contract",items:{AvailabilityDate:"Availability",PetsAllowed:{name:"PetsAllowed"},HomeWarrantyYN:{true:"Home Warranty Included",false:""},LeaseConsideredYN:{true:"Leasing Considered",false:""},ListingAgreement:"Listing Agreement",ListingService:"Service",DocumentsAvailable:"Documents Available",Ownership:"Ownership",Contingencies:"Contingencies",Disclosures:"Disclosures",Exclusions:"Exclusions",Inclusions:"Inclusions",ListingTerms:"ListingTerms",SpecialListingConditions:"Special Listing Conditions",CommonInterest:"Common Interest"}},{section:"Financial",items:{RentControlYN:{true:"Rent Control",false:""},TenantPays:"Tenant Pays",OwnerPays:"Owner Pays",RentIncludes:"Rent Includes",AssociationYN:{true:"Has HOA",false:"No HOA"},AssociationFee:{name:"HOA Fee",prepend:"$",comma:!0},AssociationFeeFrequency:"HOA Frequency",AssociationFeeIncludes:"HOA Includes",AssociationFee2:{name:"Additional HOA Fee",prepend:"$",comma:!0},AssociationFeeFrequency2:"Additional HOA Frequency",CableTvExpense:{name:"Cable Tv Expense",prepend:"$",comma:!0},ElectricExpense:{name:"Electric Expense",prepend:"$",comma:!0},FuelExpense:{name:"Fuel Expense",prepend:"$",comma:!0},FurnitureReplacementExpense:{name:"Furniture Replacement Expense",prepend:"$",comma:!0},GardenerExpense:{name:"Gardener Expense",prepend:"$",comma:!0},InsuranceExpense:{name:"Insurance Expense",prepend:"$",comma:!0},LicensesExpense:{name:"Licenses Expense",prepend:"$",comma:!0},MaintenanceExpense:{name:"Maintenance Expense",prepend:"$",comma:!0},ManagerExpense:{name:"Manager Expense",prepend:"$",comma:!0},NewTaxesExpense:{name:"New Taxes Expense",prepend:"$",comma:!0},OperatingExpense:{name:"Operating Expense",prepend:"$",comma:!0},OperatingExpenseIncludes:"Operating Expense Includes",OtherExpense:{name:"Other Expense",prepend:"$",comma:!0},PestControlExpense:{name:"Pest Control Expense",prepend:"$",comma:!0},PoolExpense:{name:"Pool Expense",prepend:"$",comma:!0},ProfessionalManagementExpense:{name:"Professional Management Expense",prepend:"$",comma:!0},SuppliesExpense:{name:"Supplies Expense",prepend:"$",comma:!0},TrashExpense:{name:"Trash Expense",prepend:"$",comma:!0},WaterSewerExpense:{name:"Water Sewer Expense",prepend:"$",comma:!0},WorkmansCompensationExpense:{name:"Workmans Compensation Expense",prepend:"$",comma:!0},TaxAnnualAmount:{name:"Annual Tax",prepend:"$",comma:!0},TaxOtherAnnualAssessmentAmount:{name:"Other Annual Tax",prepend:"$",comma:!0},TaxAssessedValue:{name:"Tax Assessed Value",prepend:"$",comma:!0},TaxYear:"Tax Year Assessed",TaxStatusCurrent:"Tax Status",TaxParcelLetter:"Tax Parcel Letter",ParcelNumber:"Parcel Number",AdditionalParcelsYN:{true:"Has Additional Prcels",false:""},AdditionalParcelsDescription:"Parcels",Zoning:"Zoning",ZoningDescription:"Zoning"}},{section:"Sources",items:{FinancialDataSource:"Financial Data",LotSizeSource:"Lot Size",LotDimensionsSource:"Lot Dimensions",LivingAreaSource:"Living Area",BuildingAreaSource:"Building Area",FarmLandAreaSource:"Farm Land Area",YearBuiltSource:"Year Built",MapCoordinateSource:"Map Coordinate",ListAOR:{name:"Listing AOR"},OriginatingSystemName:{name:"Originating System"},OriginatingSystemKey:{name:"Originating System",prepend:"# "}}}],Idx.registerDetailsInstance($scope.elementId,"property",$scope),(!$scope.options.service&&0!==$scope.options.service||!$scope.options.ListingKey&&!$scope.options.ListingId)&&($scope.urlLoad=!0),$scope.urlLoad){const urlOptions=Idx.getOptionsFromUrl();Object.prototype.hasOwnProperty.call(urlOptions,"Listing")&&lodash_1.extend($scope.options,urlOptions.Listing)}$scope.fetchProperty().then(),Idx.emit("init",$scope)},$scope.$watch("model.data",data=>{data&&data.hasOwnProperty("_ServiceId")&&(Idx.devLog("Loaded Details Data:",data),$scope.images=$scope.getSlideshowImages(),Idx.setUrlOptions("Listing",{service:$scope.options.service,ListingKey:data.ListingKey,address:$scope.getStreetAddress()}),$scope.urlLoad&&Idx.refreshUrlOptions($scope.defaultListOptions),$scope.pageTitle&&Idx.setPageTitle($scope.getStreetAddress()),$scope.getMLSVariables().analyticsEnabled.includes("ListTrac")&&ListTrac.track("view",$scope.model.data.ListingId,$scope.model.data.PostalCode,$scope.model.data.ListAgentKey),prepareMapMarkers())});const hideDetailVariables=(detailOptions,variablesToHide)=>{variablesToHide.length>0&&detailOptions.forEach(section=>{Object.keys(section.items).forEach(variableName=>{variablesToHide.includes(variableName)&&delete section.items[variableName]})})},prepareMapMarkers=()=>{Object.prototype.hasOwnProperty.call($scope.model.data,"Latitude")&&Object.prototype.hasOwnProperty.call($scope.model.data,"Longitude")&&($scope.mapMarkers=[{position:{lat:$scope.model.data.Latitude,lng:$scope.model.data.Longitude},title:$scope.getFullAddress()}])};$scope.fetchProperty=async()=>{const propertyQuery={service:$scope.options.service,where:{}};$scope.options.ListingKey?propertyQuery.where.ListingKey=$scope.options.ListingKey:$scope.options.ListingId&&(propertyQuery.where.ListingId=$scope.options.ListingId),$scope.options.images&&(propertyQuery.images=$scope.options.images),$scope.options.openhouses&&(propertyQuery.openhouses=$scope.options.openhouses),isNaN(propertyQuery.service)||!propertyQuery.where.ListingKey&&!propertyQuery.where.ListingId?console.error("No Service Id or Listing Key/Id is fetch from"):await Idx.fetchProperty($scope,"model",propertyQuery)},$scope.getPublicRemarksHTML=()=>{let publicRemarks="";return Object.prototype.hasOwnProperty.call($scope.model.data,"PublicRemarks")&&(publicRemarks=$scope.model.data.PublicRemarks),$sce.trustAsHtml(publicRemarks)},$scope.getSlideshowImages=()=>{const images=[];return $scope.model.data.Images&&lodash_1.isArray($scope.model.data.Images)&&$scope.model.data.Images.forEach(image=>{if(Object.prototype.hasOwnProperty.call(image,"MediaURL")){const imageObject={src:image.MediaURL};Object.prototype.hasOwnProperty.call(image,"Lazy")&&(imageObject.lazy=image.Lazy),images.push(imageObject)}}),images},$scope.getStreetAddress=()=>$scope.Idx.getStreetAddress($scope.model.data),$scope.getFullAddress=encode=>$scope.Idx.getFullAddress($scope.model.data,encode),$scope.getListAgentName=()=>$scope.model.data.ListAgentFullName||($scope.model.data.ListAgentFirstName?$scope.model.data.ListAgentFirstName+" "+$scope.model.data.ListAgentLastName:null)||($scope.model.data.ListAgentLastName?$scope.model.data.ListAgentLastName:null),$scope.getListAgentPhone=()=>$scope.model.data.ListAgentDirectPhone||$scope.model.data.ListAgentOfficePhone||null,$scope.getCoListAgentName=()=>$scope.model.data.CoListAgentFullName||($scope.model.data.CoListAgentFirstName?$scope.model.data.CoListAgentFirstName+" "+$scope.model.data.CoListAgentLastName:null)||($scope.model.data.CoListAgentLastName?$scope.model.data.CoListAgentLastName:null),$scope.getBuyerAgentName=()=>$scope.model.data.BuyerAgentFullName||($scope.model.data.BuyerAgentFirstName?$scope.model.data.BuyerAgentFirstName+" "+$scope.model.data.BuyerAgentLastName:null)||($scope.model.data.BuyerAgentLastName?$scope.model.data.BuyerAgentLastName:null),$scope.getCoBuyerAgentName=()=>$scope.model.data.CoBuyerAgentFullName||($scope.model.data.CoBuyerAgentFirstName?$scope.model.data.CoBuyerAgentFirstName+" "+$scope.model.data.CoBuyerAgentLastName:null)||($scope.model.data.CoBuyerAgentLastName?$scope.model.data.CoBuyerAgentLastName:null),$scope.getGoogleMapsKey=()=>{let googleApiKey;return googleApiKey=$scope.integrations&&Object.prototype.hasOwnProperty.call($scope.integrations,"maps")&&Object.prototype.hasOwnProperty.call($scope.integrations.maps,"googleMaps")&&Object.prototype.hasOwnProperty.call($scope.integrations.maps.googleMaps,"publicKey")&&""!==$scope.integrations.maps.googleMaps.publicKey?$scope.integrations.maps.googleMaps.publicKey:Idx.getGoogleMapsKey(),googleApiKey},$scope.getGoogleMapEmbed=()=>{if(!googleMapEmbed){const googleApiKey=$scope.getGoogleMapsKey();googleMapEmbed=googleApiKey?$sce.trustAsResourceUrl(`https://www.google.com/maps/embed/v1/place?key=${googleApiKey}&q=${$scope.getFullAddress(!0)}`):null}return googleMapEmbed},$scope.getMLSVariables=()=>(mlsVariables||Idx.getMLSVariables([$scope.model.data._ServiceId]).forEach(service=>{service.id===parseInt($scope.model.data._ServiceId,10)&&(mlsVariables=service)}),mlsVariables),$scope.getMLSName=()=>mlsVariables?mlsVariables.name:"",$scope.getMLSLogo=(size="default")=>mlsVariables?lodash_1.get(mlsVariables.logo,size)||lodash_1.get(mlsVariables.logo,"default"):null,$scope.on=(emitterName,callback)=>Idx.on($scope.elementId,emitterName,callback),$scope.remove=()=>{}},templateUrl:$attrs=>`${localDir}${$attrs.template||"details"}.component${min}.html`}}}});