import ELT from 'client/Components/Calculation/ELT'; import Button from 'client/Elements/Button'; import Checkbox from 'client/Elements/Checkbox'; import Input from 'client/Elements/Input'; import InputNumber from 'client/Elements/InputNumber'; import Label from 'client/Elements/Label'; import Link from 'client/Elements/Link'; import Radio from 'client/Elements/Radio'; import Select from 'client/Elements/Select'; import Switch from 'client/Elements/Switch'; import Table from 'client/Elements/Table'; import TextArea from 'client/Elements/TextArea'; import { Component } from 'core/types/Calculation/components'; import { TElements } from 'core/types/Calculation/Store/elements'; import { StoreTables } from 'core/types/Calculation/Store/tables'; const elementsComponents: TElements = { selectChannel: Select, tbxNewClient: Input, selectAccount: Select, tbxINN: Input, tbxKPP: Input, selectContactClient: Select, tbxContact: Input, radioContactGender: Radio, tbxPhoneNumber: Input, tbxEmailAddress: Input, selectSupplier: Select, selectFinDepartment: Select, selectBroker: Select, selectAgent: Select, selectDoubleAgent: Select, tbxCommentLead: TextArea, btnCreateLead: Button, selectProduct: Select, selectClientRisk: Select, selectClientType: Select, selectSupplierCurrency: Select, tbxLeaseObjectPrice: InputNumber, tbxSupplierDiscountRub: InputNumber, tbxSupplierDiscountPerc: InputNumber, radioBalanceHolder: Radio, tbxSaleBonus: InputNumber, tbxFirstPaymentPerc: InputNumber, tbxFirstPaymentRub: InputNumber, radioLastPaymentRule: Radio, tbxLastPaymentPerc: InputNumber, tbxLastPaymentRub: InputNumber, tbxRedemptionPaymentSum: InputNumber, tbxLeasingPeriod: InputNumber, radioGraphType: Radio, tbxParmentsDecreasePercent: InputNumber, selectSeasonType: Select, selectHighSeasonStart: Select, tbxComissionPerc: InputNumber, tbxComissionRub: InputNumber, selectLeaseObjectType: Select, selectBrand: Select, selectModel: Select, selectConfiguration: Select, labelLeaseObjectRisk: Label, labelDepreciationGroup: Label, cbxLeaseObjectUsed: Checkbox, radioDeliveryTime: Radio, tbxLeaseObjectCount: InputNumber, selectLeaseObjectUseFor: Select, tbxLeaseObjectYear: InputNumber, selectLeaseObjectCategory: Select, selectEngineType: Select, tbxLeaseObjectMotorPower: InputNumber, tbxEngineVolume: InputNumber, tbxMaxMass: InputNumber, tbxCountSeats: InputNumber, tbxMaxSpeed: InputNumber, cbxWithTrailer: Checkbox, selectDealer: Select, selectDealerPerson: Select, selectDealerRewardCondition: Select, tbxDealerRewardSumm: InputNumber, selectDealerBroker: Select, selectDealerBrokerRewardCondition: Select, tbxDealerBrokerRewardSumm: InputNumber, selectIndAgent: Select, selectIndAgentRewardCondition: Select, tbxIndAgentRewardSumm: InputNumber, selectCalcDoubleAgent: Select, selectCalcDoubleAgentRewardCondition: Select, tbxCalcDoubleAgentRewardSumm: InputNumber, selectCalcBroker: Select, selectCalcBrokerRewardCondition: Select, tbxCalcBrokerRewardSum: InputNumber, selectCalcFinDepartment: Select, selectFinDepartmentRewardCondtion: Select, tbxFinDepartmentRewardSumm: InputNumber, cbxInsDecentral: Switch, radioInsKaskoType: Radio, tbxInsFranchise: InputNumber, selectInsPeriod: Select, btnFranschise: Button, cbxInsUnlimitDrivers: Switch, tbxInsAgeDrivers: InputNumber, tbxInsExpDrivers: InputNumber, tbxINNForCalc: InputNumber, btnDriversApplication: Button, selectGPSBrand: Select, selectGPSModel: Select, selectRegionRegistration: Select, selectTownRegistration: Select, radioInfuranceOPF: Radio, tbxInsKaskoPriceLeasePeriod: InputNumber, selectRegistration: Select, selectInsNSIB: Select, radioRequirementTelematic: Radio, selectTracker: Select, selectTelematic: Select, selectTechnicalCard: Select, cbxLastPaymentRedemption: Switch, cbxPriceWithDiscount: Switch, cbxFullPriceWithDiscount: Switch, cbxCostIncrease: Switch, cbxInsurance: Switch, cbxRegistrationQuote: Switch, cbxTechnicalCardQuote: Switch, cbxNSIB: Switch, cbxQuoteRedemptionGraph: Switch, tbxQuoteName: Input, radioQuoteContactGender: Radio, btnCreateKP: Button, selectUserSession: Select, cbxDisableChecks: Switch, selectTarif: Select, tbxCreditRate: InputNumber, selectRate: Select, tbxMaxPriceChange: InputNumber, tbxImporterRewardPerc: InputNumber, tbxImporterRewardRub: InputNumber, selectLead: Select, selectOpportunity: Select, selectQuote: Select, cbxRecalcWithRevision: Checkbox, btnCalculate: Button, tbxIRR_Perc: InputNumber, labelIrrInfo: Label, labelResultTotalGraphwithNDS: Label, labelResultPlPrice: Label, labelResultPriceUpPr: Label, labelResultIRRGraphPerc: Label, labelResultIRRNominalPerc: Label, labelResultInsKasko: Label, labelResultInsOsago: Label, labelResultDopProdSum: Label, labelResultFirstPayment: Label, labelResultLastPayment: Label, labelResultTerm: Label, labelResultAB_FL: Label, labelResultAB_UL: Label, labelResultBonusMPL: Label, labelResultDopMPLLeasing: Label, labelResultBonusDopProd: Label, linkDownloadKp: Link, tbxMileage: InputNumber, radioCalcType: Radio, tbxTotalPayments: InputNumber, componentElt: ELT, radioObjectRegistration: Radio, selectObjectRegionRegistration: Select, tbxVehicleTaxInYear: InputNumber, tbxVehicleTaxInLeasingPeriod: InputNumber, selectObjectCategoryTax: Select, selectObjectTypeTax: Select, radioTypePTS: Radio, labelRegistrationDescription: Label, selectLegalClientRegion: Select, selectLegalClientTown: Select, selectSubsidy: Select, selectFuelCard: Select, labelSubsidySum: Label, }; const tablesComponents: StoreTables = { tableInsurance: Table, tablePayments: Table, tableResults: Table, }; export default Object.assign(elementsComponents, tablesComponents);