{"version":3,"file":"997.f29542b72e671bbd.js","sources":["./src/app/rain-system/rain-system-calculation.component.html","./src/app/rain-system/rain-system.module.ts","./src/app/rain-system/rain-system-calculation.component.ts"],"sourceRoot":"webpack:///","sourcesContent":["

Calculator jgheaburi si burlane

\r\n

Calculator jgheaburi și burlane - determinări exacte pentru materiale necesare

\r\n

Dacă ești în căutarea unui mod simplu și rapid de a afla exact de câte elemente ai nevoie pentru un sistem pluvial complet, atunci calculatorul nostru de jgheaburi și burlane este soluția ideală.\r\n \r\n

\r\n
\r\n

Cu ajutorul acestui instrument de calcul pluvial pentru jgheaburi și numărul de burlane, poți determina cu precizie numărul de jgheaburi și burlane necesare pentru proiectul tău. Acesta îți oferă un calcul automat exact, adaptat fiecărui model și brand, astfel încât să știi exact ce să comanzi fără să faci vreun compromis.

\r\n

Calculator precis pentru sistemul tău pluvial

\r\n

Indiferent dacă alegi un sistem pluvial Bilka sau un sistem pluvial Wetterbest, calculatorul nostru este pregătit să îți ofere toate informațiile necesare. Nu trebuie să îți mai faci griji că vei cumpăra prea multe sau prea puține materiale. Cu acest calculator de sistem pluvial, obții rapid un calcul exact al necesarului de burlane și jgheaburi, asigurându-te că ai tot ce îți trebuie pentru un montaj corect și eficient.

\r\n

Folosește calculatorul nostru de jgheaburi și burlane și obține un calcul detaliat al sistemului tău pluvial care îți va arăta clar câte elemente sunt necesare. În plus, îți oferim posibilitatea de achiziționa imediat produsele de care ai nevoie explorând sistemele pluviale Bilka sau sistemele pluviale Wetterbest, de o calitate superioară.

\r\n

Cu acest instrument de calcul al sistemului pluvial, ai parte de consiliere profesională și prețuri transparente, fiind sigur că alegerea ta va fi una eficientă și economică. Dacă ești un meseriaș care montează acoperișuri sau un proprietar ce își renovează casa, acest calculator este gândit să te ajute să nu cumperi mai multe materiale decât ai nevoie. Nu rata ocazia de a face un calcul corect pentru sistemul tău pluvial, direct pe site-ul nostru! \r\n \r\n

\r\n
\r\n\r\n
👉 Introdu cantitățile pe care le dorești.
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Produs {{ element.label }} Cantitate\r\n \r\n \r\n buc.\r\n \r\n
\r\n

Calculator sistem pluvial - Obține prețul imediat

\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { SharedModule } from '../common/shared/shared.module';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { LocalizationModule } from '../localization/localization.module';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { ComponentsModule } from '../components/components.module';\r\nimport { NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { RainSystemCalculationComponent } from './rain-system-calculation.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: RainSystemCalculationComponent,\r\n data: {\r\n title: 'Calculator jgheaburi și burlane ▶︎ Sistem pluvial',\r\n breadcrumb: 'Calculator jgheaburi si burlane',\r\n metaDescription:\r\n 'Calculator jgheaburi si burlane - Afla pretul sistemului pluvial cu calculatorul rapid. Alegeti dimensiunile si selectati materialele pentru o estimare personalizata.',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [RainSystemCalculationComponent],\r\n imports: [\r\n CommonModule,\r\n LocalizationModule,\r\n RouterModule.forChild(routes),\r\n MatTabsModule,\r\n MatSnackBarModule,\r\n SharedModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatSelectModule,\r\n MatIconModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatTooltipModule,\r\n FormsModule,\r\n MatAutocompleteModule,\r\n MatCardModule,\r\n MatRadioModule,\r\n MatButtonToggleModule,\r\n ComponentsModule,\r\n NgxGoogleAnalyticsModule,\r\n MatDialogModule,\r\n ],\r\n})\r\nexport class RainSystemModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder } from '@angular/forms';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { CalculationState, defaultCustomCalculationState, selectCalculations } from '../calculation/calculation.state';\r\nimport { AppState } from '../app.state';\r\nimport { setAccessories, setCalculation, setCart, updateRainSystem } from '../calculation/calculation.actions';\r\nimport { isNumber } from 'lodash-es';\r\nimport { AccessoryDto } from '../../api/models/accessory-dto';\r\nimport { CustomMeasurementDto } from '../../api/models/custom-measurement-dto';\r\nimport { CartService } from '../../api/services/cart.service';\r\nimport { ShoppingCartDto } from '../../api/models/shopping-cart-dto';\r\nimport { AccessoriesService } from '../../api/services/accessories.service';\r\nimport { RainSystemMeasurementsDto } from '../../api/models/rain-system-measurements-dto';\r\nimport { CalculationDto } from '../../api/models/calculation-dto';\r\nimport { environment } from '../../environments/environment';\r\nimport { CalculationsService } from '../../api/services/calculations.service';\r\nimport { RoofProducerEnum } from '../../api/models/roof-producer-enum';\r\nimport { SessionService } from '../auth/session.service';\r\nimport { KeyValue } from '@angular/common';\r\nimport { CoreComponent } from '../core.component';\r\nimport { RainSystemCustomizationsDto } from '../common/shared/rain-system-customizations/rain-system-customizations.dto';\r\n\r\n@Component({\r\n selector: 'rain-system-accessories',\r\n templateUrl: './rain-system-calculation.component.html',\r\n styleUrls: ['./rain-system-calculation.component.scss'],\r\n})\r\nexport class RainSystemCalculationComponent extends CoreComponent implements OnInit {\r\n accessoriesFormGroup = this._formBuilder.group({});\r\n accessories: AccessoryDto[] = [];\r\n allAccessories!: AccessoryDto[];\r\n loadedAccessories: AccessoryDto[] = [];\r\n displayedColumns = ['label', 'quantity'];\r\n\r\n finishes: string[] = [];\r\n diameters: KeyValue[] = [];\r\n colors: string[] = [];\r\n showMore = false;\r\n\r\n private activeCalculation: CalculationState = defaultCustomCalculationState;\r\n private cart: ShoppingCartDto | undefined;\r\n rainSystemCustomizations?: RainSystemCustomizationsDto;\r\n\r\n constructor(\r\n private readonly store: Store,\r\n private readonly _formBuilder: UntypedFormBuilder,\r\n private readonly accessoriesService: AccessoriesService,\r\n private readonly cartService: CartService,\r\n private readonly sessionService: SessionService,\r\n private readonly calculationsService: CalculationsService,\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.garbageCollector.push(\r\n this.store.pipe(map((state) => selectCalculations(state))).subscribe(async (calculation) => {\r\n const activeTab = calculation.activeTab;\r\n this.activeCalculation = calculation[activeTab];\r\n this.cart = calculation.cart;\r\n\r\n if (this.activeCalculation.isLoaded) {\r\n this.loadedAccessories = this.activeCalculation.accessories;\r\n const rainSystem = this.activeCalculation.rainSystem;\r\n this.setRainSystemCustomizations({\r\n producer: rainSystem.producer || RoofProducerEnum.Bilka,\r\n diameter: rainSystem.diameter || 125,\r\n finish: rainSystem.finish,\r\n color: rainSystem.color,\r\n });\r\n } else if (!this.accessories.length) {\r\n await this.populateList(true);\r\n }\r\n }),\r\n );\r\n }\r\n\r\n populateForms(accessories: AccessoryDto[], loadedAccessories: AccessoryDto[] = []): void {\r\n this.accessories = accessories;\r\n const accessoriesForm = this.accessories.reduce((obj: any, accessory: AccessoryDto) => {\r\n const loadedAccessory = loadedAccessories.find(\r\n (loadedAccessory: AccessoryDto) => loadedAccessory.id === accessory.id,\r\n );\r\n accessory.quantity = loadedAccessory?.quantity || 0;\r\n obj[accessory.id] = loadedAccessory?.quantity || 0;\r\n return obj;\r\n }, {});\r\n this.accessoriesFormGroup = this._formBuilder.group(accessoriesForm);\r\n this.accessoriesFormGroup.validator = this.atLeastOneValidator;\r\n }\r\n\r\n changeAccessory(changedAccessory: AccessoryDto) {\r\n const index = this.accessories.findIndex((accessory) => accessory.id === changedAccessory.id);\r\n // const accessories = cloneDeep(this.accessories);\r\n const value = this.accessoriesFormGroup.controls[changedAccessory.id].value;\r\n if (Number(value) <= 0) {\r\n this.accessoriesFormGroup.controls[changedAccessory.id].patchValue(0);\r\n } else if (isNumber(value) && !Number.isInteger(value)) {\r\n this.accessoriesFormGroup.controls[changedAccessory.id].patchValue(Math.round(value));\r\n }\r\n\r\n this.accessories[index] = {\r\n ...this.accessories[index],\r\n quantity: this.accessoriesFormGroup.controls[changedAccessory.id].value,\r\n };\r\n this.store.dispatch(\r\n setAccessories({ accessories: this.accessories.filter((accessory) => accessory.quantity > 0) }),\r\n );\r\n }\r\n\r\n private atLeastOneValidator = (group: any) => {\r\n const controls = group.controls;\r\n if (controls) {\r\n const theOne = Object.keys(controls).find((key) => controls[key].value > 0);\r\n if (!theOne) {\r\n return {\r\n atLeastOneRequired: { text: 'At least one should be selected' },\r\n };\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n async populateList(producerChange = false) {\r\n const producer = this.rainSystemCustomizations?.producer || RoofProducerEnum.Bilka;\r\n const diameter = this.rainSystemCustomizations?.diameter || 125;\r\n if (producerChange) {\r\n this.allAccessories = await lastValueFrom(\r\n this.accessoriesService.accessoriesControllerGetAllRainSystemAccessories({ producer }),\r\n );\r\n }\r\n let dimensions = diameter === 125 ? ['90', '125', '19 mm', null] : ['100', '150', '19 mm', null];\r\n if (producer === RoofProducerEnum.Wetterbest) {\r\n dimensions = diameter === 125 ? ['88', '125', '19 mm', null] : ['97', '150', '19 mm', null];\r\n }\r\n this.populateForms(\r\n this.allAccessories.filter((product: AccessoryDto) => dimensions.includes(product.dimension)),\r\n this.loadedAccessories,\r\n );\r\n }\r\n\r\n async addToCart() {\r\n if (!this.rainSystemCustomizations) {\r\n throw new Error('Rain system customizations not selected');\r\n }\r\n const calculation = await this.calculateRoof(this.activeCalculation, {\r\n color: this.rainSystemCustomizations.color,\r\n finish: this.rainSystemCustomizations.finish,\r\n producer: this.rainSystemCustomizations.producer,\r\n diameter: this.rainSystemCustomizations.diameter,\r\n rainSystem: true,\r\n eavesDescents: 0,\r\n groundToEavesHeight: 0,\r\n });\r\n const cart = await lastValueFrom(\r\n this.cartService.shoppingCartControllerAddToCart({\r\n body: {\r\n shoppingCartId: this.cart?.id,\r\n calculationId: calculation.id,\r\n },\r\n }),\r\n );\r\n this.store.dispatch(setCart({ cart }));\r\n this.sessionService.setCartId(cart.id);\r\n }\r\n\r\n async calculateRoof(\r\n { accessories }: CalculationState,\r\n rainSystem: RainSystemMeasurementsDto,\r\n ): Promise {\r\n const body = {\r\n hasDripStop: false,\r\n measurements: { rainSystem },\r\n accessories: accessories.filter((accessory) => accessory.quantity > 0),\r\n annexes: [],\r\n };\r\n\r\n const calculation = (await lastValueFrom(\r\n this.calculationsService.calculationsControllerCustom({ body }),\r\n )) as CalculationDto;\r\n\r\n this.store.dispatch(setCalculation({ calculation }));\r\n if (!!environment.gtm) {\r\n (window).gtag('event', 'conversion', {\r\n send_to: 'AW-11371316789/cetCCLagmO4YELWMoq4q',\r\n transaction_id: calculation.id,\r\n });\r\n }\r\n return calculation;\r\n }\r\n\r\n setRainSystemCustomizations(rainSystemCustomizations: RainSystemCustomizationsDto) {\r\n const producerChanged = rainSystemCustomizations.producer !== this.rainSystemCustomizations?.producer;\r\n this.rainSystemCustomizations = rainSystemCustomizations;\r\n this.populateList(producerChanged);\r\n this.store.dispatch(updateRainSystem({ ...this.rainSystemCustomizations, rainSystem: true }));\r\n }\r\n}\r\n"],"names":["i0","_r9","ctx_r8","showMore","_c0","i_r11","ctx_r2","accessories","length","element_r10","label","element_r12","_r15","$implicit","ctx_r14","changeAccessory","i_r13","ctx_r5","id","quantity","routes","path","component","_class","RainSystemCalculationComponent","CoreComponent","constructor","store","_formBuilder","accessoriesService","cartService","sessionService","calculationsService","super","this","accessoriesFormGroup","group","loadedAccessories","displayedColumns","finishes","diameters","colors","activeCalculation","defaultCustomCalculationState","atLeastOneValidator","controls","Object","keys","find","key","value","atLeastOneRequired","text","ngOnInit","_this","_asyncToGenerator","garbageCollector","push","pipe","map","state","selectCalculations","subscribe","_ref","calculation","activeTab","cart","isLoaded","rainSystem","setRainSystemCustomizations","producer","RoofProducerEnum","Bilka","diameter","finish","color","populateList","_x","apply","arguments","populateForms","accessoriesForm","reduce","obj","accessory","loadedAccessory","validator","changedAccessory","index","findIndex","Number","patchValue","isNumber","isInteger","Math","round","dispatch","setAccessories","filter","producerChange","_this2","rainSystemCustomizations","allAccessories","lastValueFrom","accessoriesControllerGetAllRainSystemAccessories","dimensions","Wetterbest","product","includes","dimension","addToCart","_this3","Error","calculateRoof","eavesDescents","groundToEavesHeight","shoppingCartControllerAddToCart","body","shoppingCartId","calculationId","setCart","setCartId","_this4","hasDripStop","measurements","annexes","calculationsControllerCustom","setCalculation","environment","gtm","window","gtag","send_to","transaction_id","producerChanged","updateRainSystem","i1","i2","i3","i4","i5","i6","selectors","features","decls","vars","consts","template","rf","ctx","RainSystemCalculationComponent_button_6_Template","$event","RainSystemCalculationComponent_th_38_Template","RainSystemCalculationComponent_td_39_Template","RainSystemCalculationComponent_td_40_Template","RainSystemCalculationComponent_th_42_Template","RainSystemCalculationComponent_td_43_Template","RainSystemCalculationComponent_tr_44_Template","RainSystemCalculationComponent_tr_45_Template","_c1","valid","data","title","breadcrumb","metaDescription","RainSystemModule","CommonModule","LocalizationModule","RouterModule","forChild","MatTabsModule","MatSnackBarModule","SharedModule","MatFormFieldModule","MatInputModule","MatButtonModule","MatSelectModule","MatIconModule","MatTableModule","MatCheckboxModule","MatTooltipModule","FormsModule","MatAutocompleteModule","MatCardModule","MatRadioModule","MatButtonToggleModule","ComponentsModule","NgxGoogleAnalyticsModule","MatDialogModule"],"mappings":"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","debug_id":"87c6b1e9-b6ac-5775-8701-bd122afb3e85"}