UNPKG

qe-fe-automation

Version:
60 lines (52 loc) 1.54 kB
import { MakeRequiredSomeFields } from '@utility-lib/constants'; export type CustomField = 'projects' | 'billToClient' | 'tripPurpose'; const customFieldLabel: Record<CustomField, string> = { projects: 'Projects', tripPurpose: 'Trip purpose', billToClient: 'Bill to client' }; export type CustomFiledOption = { isDefault: boolean; label: string; value: string; isNew: boolean; }; export type CompanyCustomFields = Map<CustomField, CustomFiledOption[]>; export class CustomFieldsUtility { static initCustomFieldOption( option: MakeRequiredSomeFields<CustomFiledOption, 'label'> ): CustomFiledOption { return { label: option.label, value: option.value || option.label.toUpperCase(), isDefault: option.isDefault ?? false, isNew: option.isNew ?? true }; } static generateCompanyTripPurposeData( customField: CustomField, options: CustomFiledOption[] ) { return { name: customField, label: customFieldLabel[customField], type: 'SELECT', required: true, defaultVal: '', _isCustom: false, options: options, allowFreeText: false }; } static initCompanyCustomFieldsForTripPurpose(): CompanyCustomFields { const companyCustomFields: CompanyCustomFields = new Map(); companyCustomFields.set('tripPurpose', [ CustomFieldsUtility.initCustomFieldOption({ label: 'Custom Trip purpose', value: 'CUSTOM_TRIP_PURPOSE', isDefault: true }) ]); return companyCustomFields; } }