164 lines
5.2 KiB
TypeScript
164 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,
|
|
tbxVIN: e.Input,
|
|
|
|
/** 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]>;
|
|
};
|