2023-02-06 12:19:39 +03:00

163 lines
5.2 KiB
TypeScript

/* eslint-disable jsdoc/multiline-blocks */
/* eslint-disable canonical/sort-keys */
import type { Elements as ActionElements } from './map/actions';
import type { Elements as ValuesElements } from './map/values';
import type { ComponentProps } from 'react';
import * as e from 'ui/elements';
function wrapComponentsMap<C, T extends Record<ActionElements | ValuesElements, C>>(arg: T) {
return arg;
}
const components = wrapComponentsMap({
selectProduct: e.Select,
selectClientRisk: e.Select,
selectClientType: e.Select,
selectSupplierCurrency: e.Select,
tbxLeaseObjectPrice: e.InputNumber,
tbxLeaseObjectPriceWthtVAT: e.InputNumber,
tbxVATInLeaseObjectPrice: e.InputNumber,
tbxSupplierDiscountRub: e.InputNumber,
tbxSupplierDiscountPerc: e.InputNumber,
radioBalanceHolder: e.Radio,
tbxSaleBonus: e.InputNumber,
tbxFirstPaymentPerc: e.InputNumber,
tbxFirstPaymentRub: e.InputNumber,
radioLastPaymentRule: e.Segmented,
tbxLastPaymentPerc: e.InputNumber,
tbxLastPaymentRub: e.InputNumber,
selectImportProgram: e.Select,
tbxImportProgramSum: e.InputNumber,
tbxAddEquipmentPrice: e.InputNumber,
tbxRedemptionPaymentSum: e.InputNumber,
tbxLeasingPeriod: e.InputNumber,
radioGraphType: e.Radio,
tbxParmentsDecreasePercent: e.InputNumber,
selectSeasonType: e.Select,
selectHighSeasonStart: e.Select,
tbxComissionPerc: e.InputNumber,
tbxComissionRub: e.InputNumber,
selectLeaseObjectType: e.Select,
selectBrand: e.Select,
selectModel: e.Select,
selectConfiguration: e.Select,
cbxLeaseObjectUsed: e.Checkbox,
radioDeliveryTime: e.Segmented,
tbxLeaseObjectCount: e.InputNumber,
selectLeaseObjectUseFor: e.Select,
tbxLeaseObjectYear: e.InputNumber,
selectLeaseObjectCategory: e.Select,
selectEngineType: e.Select,
tbxLeaseObjectMotorPower: e.InputNumber,
tbxEngineVolume: e.InputNumber,
tbxMaxMass: e.InputNumber,
tbxCountSeats: e.InputNumber,
tbxMaxSpeed: e.InputNumber,
cbxWithTrailer: e.Checkbox,
selectDealer: e.Select,
selectDealerPerson: e.Select,
selectDealerRewardCondition: e.Select,
tbxDealerRewardSumm: e.InputNumber,
selectDealerBroker: e.Select,
selectDealerBrokerRewardCondition: e.Select,
tbxDealerBrokerRewardSumm: e.InputNumber,
selectIndAgent: e.Select,
selectIndAgentRewardCondition: e.Select,
tbxIndAgentRewardSumm: e.InputNumber,
selectCalcDoubleAgent: e.Select,
selectCalcDoubleAgentRewardCondition: e.Select,
tbxCalcDoubleAgentRewardSumm: e.InputNumber,
selectCalcBroker: e.Select,
selectCalcBrokerRewardCondition: e.Select,
tbxCalcBrokerRewardSum: e.InputNumber,
selectCalcFinDepartment: e.Select,
selectFinDepartmentRewardCondtion: e.Select,
tbxFinDepartmentRewardSumm: e.InputNumber,
cbxInsDecentral: e.Switch,
radioInsKaskoType: e.Radio,
tbxInsFranchise: e.InputNumber,
cbxInsUnlimitDrivers: e.Switch,
tbxInsAgeDrivers: e.InputNumber,
tbxInsExpDrivers: e.InputNumber,
tbxINNForCalc: e.InputNumber,
selectGPSBrand: e.Select,
selectGPSModel: e.Select,
selectRegionRegistration: e.Select,
selectTownRegistration: e.Select,
radioInfuranceOPF: e.Radio,
selectRegistration: e.Select,
selectInsNSIB: e.Select,
selectRequirementTelematic: e.Select,
selectTracker: e.Select,
selectTelematic: e.Select,
selectTechnicalCard: e.Select,
cbxLastPaymentRedemption: e.Switch,
cbxPriceWithDiscount: e.Switch,
cbxFullPriceWithDiscount: e.Switch,
cbxCostIncrease: e.Switch,
cbxInsurance: e.Switch,
cbxRegistrationQuote: e.Switch,
cbxTechnicalCardQuote: e.Switch,
cbxNSIB: e.Switch,
cbxQuoteRedemptionGraph: e.Switch,
cbxShowFinGAP: e.Switch,
tbxQuoteName: e.Input,
radioQuoteContactGender: e.Radio,
cbxDisableChecks: e.Switch,
selectTarif: e.Select,
tbxCreditRate: e.InputNumber,
selectRate: e.Select,
tbxMaxPriceChange: e.InputNumber,
tbxImporterRewardPerc: e.InputNumber,
tbxImporterRewardRub: e.InputNumber,
selectLead: e.Select,
selectOpportunity: e.Select,
selectQuote: e.Select,
cbxRecalcWithRevision: e.Checkbox,
tbxIRR_Perc: e.InputNumber,
tbxMileage: e.InputNumber,
tbxEngineHours: e.InputNumber,
radioCalcType: e.Segmented,
tbxTotalPayments: e.InputNumber,
radioObjectRegistration: e.Radio,
selectObjectRegionRegistration: e.Select,
tbxVehicleTaxInYear: e.InputNumber,
tbxVehicleTaxInLeasingPeriod: e.InputNumber,
selectObjectCategoryTax: e.Select,
selectObjectTypeTax: e.Select,
radioTypePTS: e.Radio,
selectLegalClientRegion: e.Select,
selectLegalClientTown: e.Select,
selectSubsidy: e.Select,
selectFuelCard: e.Select,
tbxMinPriceChange: e.InputNumber,
tbxBonusCoefficient: e.InputNumber,
selectLeasingWithoutKasko: e.Select,
/** Readonly Elements */
labelLeaseObjectRisk: e.Text,
tbxInsKaskoPriceLeasePeriod: e.InputNumber,
labelIrrInfo: e.Text,
labelRegistrationDescription: e.Text,
labelDepreciationGroup: e.Text,
tbxSubsidySum: e.InputNumber,
/** Button Elements */
btnCreateKP: e.Button,
btnCalculate: e.Button,
/** Link Elements */
linkDownloadKp: e.Link,
linkLeadUrl: e.Link,
linkOpportunityUrl: e.Link,
linkQuoteUrl: e.Link,
});
export default components;
type ComponentsTypes = typeof components;
export type ElementsProps = {
[Component in keyof ComponentsTypes]: ComponentProps<ComponentsTypes[Component]>;
};