@tractorzoom/equipment-attributes
Version:
Source of truth for equipment attributes by category
676 lines (675 loc) • 14.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllAttributes = exports.ZIP_CODE = exports.YEAR = exports.WIDTH = exports.TRANSMISSION = exports.THREE_POINT_HITCH = exports.TAG_AXLE = exports.SUBCATEGORY = exports.STATE = exports.SPREADER = exports.SPACING = exports.SERIAL = exports.SEPARATOR_HOURS = exports.ROW_CLEANERS = exports.REAR_TIRES = exports.REAR_PTO = exports.POWERFOLD_BIN = exports.PRICE = exports.NUMBER_OF_SHANKS = exports.NUMBER_OF_ROWS = exports.NUMBER_OF_BOTTOMS = exports.NUMBER_OF_BALES = exports.MODEL = exports.MILES = exports.MAKE = exports.LOT_NUMBER = exports.LOADER = exports.LENGTH = exports.HORSEPOWER = exports.HOURS = exports.FRONT_TIRES = exports.EQUIPMENT_CONDITION = exports.EMISSIONS = exports.DRIVE = exports.DESCRIPTION = exports.CONDITION = exports.COMBINE_TYPE = exports.CHOPPER = exports.CITY = exports.CENTER_BULK_FILL = exports.CATEGORY = exports.CAPACITY = exports.CAB = exports.BELLY_MOWER = exports.ACRES = void 0;
const categories = require("./categories");
const units = require("./units");
/*
Input of number of acres worked
*/
exports.ACRES = {
input: true,
inputType: 'number',
label: 'Acres',
name: 'acres',
shortName: 'Acres',
type: 'number',
};
/*
Switch if equipment has belly mower
*/
exports.BELLY_MOWER = {
label: 'Belly Mower',
name: 'bellyMower',
switch: true,
type: 'boolean',
};
/*
Select of cab types
Options: Standard, Deluxe, Buddy Seat
*/
exports.CAB = {
label: 'Cab',
name: 'cab',
options: [
{
name: 'Standard',
value: 1,
},
{
name: 'Premium',
value: 2,
},
{
name: 'No Cab',
value: 3,
},
],
select: true,
type: 'string',
};
/*
Input of capacity of equipment
*/
exports.CAPACITY = {
input: true,
inputType: 'number',
label: 'Capacity',
name: 'capacity',
type: 'number',
unitOptions: [units.GALLONS, units.TONS, units.BUSHELS],
};
/*
Select of equipment categories
Options: Ag Trailers, Chemical Applicators, Harvesting, Hay and Forage, Manure Handling, Other Equipment, Planting, Tillage, Tractors
*/
exports.CATEGORY = {
label: 'Category',
name: 'category',
options: categories.CATEGORY_LIST.map((x) => ({ name: x.name, value: x })),
select: true,
type: 'string',
};
/*
Switch if equipment is center bulk fill
*/
exports.CENTER_BULK_FILL = {
label: 'Center Bulk Fill',
name: 'centerBulkFill',
switch: true,
type: 'boolean',
};
/*
Input of city
*/
exports.CITY = {
input: true,
inputType: 'string',
label: 'City',
name: 'city',
type: 'string',
};
/*
Switch if equipment has chopper
*/
exports.CHOPPER = {
label: 'Chopper',
name: 'chopper',
switch: true,
type: 'boolean',
};
/*
Select of combine type
Options: Corn/Bean, Rice, Small Grains, Specialty
*/
exports.COMBINE_TYPE = {
label: 'Combine Type',
name: 'combineType',
options: [
{
name: 'Corn/Bean',
value: 1,
},
{
name: 'Rice',
value: 2,
},
{
name: 'Small Grain',
value: 3,
},
{
name: 'Specialty',
value: 4,
},
],
select: true,
type: 'string',
};
/*
Select of equipment condition
Options: New, Used
*/
exports.CONDITION = {
default: 'Used',
label: 'Condition',
name: 'condition',
options: [
{
name: 'New',
value: 0,
},
{
name: 'Used',
value: 1,
},
],
select: true,
type: 'string',
};
/*
Input of auctioneer description
*/
exports.DESCRIPTION = {
input: true,
inputType: 'string',
label: 'Description',
name: 'description',
type: 'string',
};
/*
Select of equipment drive
Options:
*/
exports.DRIVE = {
label: 'Drive',
name: 'drive',
options: [
{
name: '2WD',
value: 1,
},
{
name: 'MFWD',
value: 2,
},
{
name: '4WD',
value: 3,
},
{
label: 'Two Tracks',
name: 'Tracks',
value: 4,
},
{
name: 'RWA',
value: 5,
},
{
label: '4WD/PRWD',
name: 'PRWD',
value: 6,
},
],
select: true,
type: 'string',
};
/*
Select of emission types
Options: DEF, DPF, EGR, No Emissions
*/
exports.EMISSIONS = {
label: 'Emissions',
name: 'emissions',
options: [
{
name: 'DEF',
value: 1,
},
{
name: 'DPF',
value: 2,
},
{
name: 'EGR',
value: 3,
},
{
name: 'No Emissions',
value: 4,
},
],
select: true,
type: 'string',
};
/*
Select of equipment condition types
Options: Excellent, Good, Average, Fair, Poor
*/
exports.EQUIPMENT_CONDITION = {
label: 'Condition',
name: 'equipmentCondition',
options: [
{
description: 'The implement has seen little or no use in the field. Engine is in perfect condition with 0 to 600 hrs. of use. Tires have 90 to 100% tread remaining, and no breaks or cracks. The paint is original and bright in appearance. The parts have little or no wear. Well cared for.',
name: 'Excellent',
value: 1,
},
{
description: 'Engine is in good running condition. Tires have about 80% of the tread remaining. The paint is original or has a good repaint job. The implement is utilized as if it were in excellent condition and only requires routine maintenance to maintain its running condition.',
name: 'Good',
value: 2,
},
{
description: 'Engine will require some minor maintenance in order to extend its life in the foreseeable future. The general appearance of the implement is showing wear but it can still be utilized for the use for which it was originally built. Tires have about 70% of their tread.',
name: 'Average',
value: 3,
},
{
description: 'Replacement of parts would enhance performance. Tires have only 60% tread remaining with possibly some scars visible. Paint is weathered and shows some signs of rust. Parts are wearing. Functionally the implement is still useful but to a much lesser extent.',
name: 'Fair',
value: 4,
},
{
description: 'Needs major overhaul to restore power or performance. Tires have 50% wear or less tread remaining with scars and cracks. Paint and appearance are rough. Bearings appear to need replacement. Rebuilding is necessary.',
name: 'Poor',
value: 5,
},
],
select: true,
type: 'string',
};
/*
Select of front tire types
Options: Singles, Duals
*/
exports.FRONT_TIRES = {
label: 'Front Tires',
name: 'frontTires',
options: [
{
name: 'Singles',
value: 1,
},
{
name: 'Duals',
value: 2,
},
{
name: 'Triples',
value: 3,
},
{
name: 'Tracks',
value: 4,
},
],
select: true,
type: 'string',
};
/*
Input of equipment hours
*/
exports.HOURS = {
input: true,
inputType: 'number',
label: 'Hours',
name: 'hours',
shortName: 'Hrs',
type: 'number',
};
/*
Input of equipment horsepower
*/
exports.HORSEPOWER = {
input: true,
inputType: 'number',
label: 'Horsepower',
name: 'horsepower',
shortName: 'HP',
type: 'number',
};
/*
Input of equipment length
*/
exports.LENGTH = {
input: true,
inputType: 'number',
label: 'Length',
name: 'length',
shortName: 'Ft',
type: 'number',
unitOptions: [units.FEET],
};
/*
Switch if equipment has loader
*/
exports.LOADER = {
label: 'Loader',
name: 'loader',
switch: true,
type: 'boolean',
};
/*
Input of lot number for equipment in an auction
*/
exports.LOT_NUMBER = {
input: true,
inputType: 'string',
label: 'Lot Number',
name: 'lotNumber',
type: 'string',
};
/*
Select of makes for equipment
Options: Dynamic list from database
*/
exports.MAKE = {
label: 'Make',
name: 'make',
options: [],
select: true,
type: 'string',
};
/*
Input of miles driven for equipment
*/
exports.MILES = {
input: true,
inputType: 'number',
label: 'Miles',
name: 'miles',
shortName: 'mi',
type: 'number',
};
/*
Select of models based on make for equipment
Options: Dynamic list from database based on make
*/
exports.MODEL = {
label: 'Model',
name: 'model',
options: [],
select: true,
type: 'string',
};
/*
Input of number of bales for equipment
*/
exports.NUMBER_OF_BALES = {
input: true,
inputType: 'number',
label: 'Number of Bales',
name: 'numberOfBales',
shortName: 'Bales',
type: 'number',
};
/*
Input of number of bottoms for equipment
*/
exports.NUMBER_OF_BOTTOMS = {
input: true,
inputType: 'number',
label: 'Number of Bottoms',
name: 'numberOfBottoms',
shortName: 'Bottoms',
type: 'number',
};
/*
Input of number of rows for equipment
*/
exports.NUMBER_OF_ROWS = {
input: true,
inputType: 'number',
label: 'Number of Rows',
name: 'numberOfRows',
shortName: 'Rows',
type: 'number',
};
/*
Input of number of shanks for equipment
*/
exports.NUMBER_OF_SHANKS = {
input: true,
inputType: 'number',
label: 'Number of Shanks',
name: 'numberOfShanks',
shortName: 'Shanks',
type: 'number',
};
/*
Input of price for equipment
*/
exports.PRICE = {
input: true,
inputType: 'number',
label: 'Price',
name: 'price',
type: 'number',
};
/*
Switch if equipment has powerfold bin
*/
exports.POWERFOLD_BIN = {
label: 'Powerfold Bin',
name: 'powerfoldBin',
switch: true,
type: 'boolean',
};
/*
Select of rear PTO
Options: Yes, No
*/
exports.REAR_PTO = {
label: 'Rear PTO',
name: 'rearPTO',
options: [
{
name: 'No',
value: 0,
},
{
name: 'Yes',
value: 1,
},
],
select: true,
type: 'number',
};
/*
Select of rear tire types
Options: Singles, Duals
*/
exports.REAR_TIRES = {
label: 'Rear Tires',
name: 'rearTires',
options: [
{
name: 'Singles',
value: 1,
},
{
name: 'Duals',
value: 2,
},
{
name: 'Triples',
value: 3,
},
{
name: 'Tracks',
value: 4,
},
],
select: true,
type: 'string',
};
/*
Switch if equipment has row cleaners
*/
exports.ROW_CLEANERS = {
label: 'Row Cleaners',
name: 'rowCleaners',
switch: true,
type: 'boolean',
};
/*
Input of separator hours for equipment
*/
exports.SEPARATOR_HOURS = {
input: true,
inputType: 'number',
label: 'Separator Hours',
name: 'separatorHours',
shortName: 'Sep Hrs',
type: 'number',
};
/*
Input of serial number for equipment
*/
exports.SERIAL = {
input: true,
inputType: 'string',
label: 'Serial No.',
name: 'serial',
type: 'string',
};
/*
Input of spacing for equipment
*/
exports.SPACING = {
input: true,
inputType: 'number',
label: 'Spacing',
name: 'spacing',
shortName: 'In',
type: 'number',
unitOptions: [units.INCHES],
};
/*
Switch if equipment has spreader
*/
exports.SPREADER = {
label: 'Spreader',
name: 'spreader',
switch: true,
type: 'boolean',
};
/*
Input of state
*/
exports.STATE = {
input: true,
inputType: 'string',
label: 'State',
name: 'state',
type: 'string',
};
/*
Select of subcategories based on category for equipment
Options: Dynamic list from database based on category
*/
exports.SUBCATEGORY = {
label: 'Subcategory',
name: 'subcategory',
options: [],
select: true,
type: 'string',
};
/*
Switch if equipment has tag axle
*/
exports.TAG_AXLE = {
label: 'Tag Axle',
name: 'tagAxle',
switch: true,
type: 'boolean',
};
/*
Switch if equipment has three point hitch
*/
exports.THREE_POINT_HITCH = {
label: 'Three Point Hitch',
description: 'Complete with Arms & Third Link',
name: 'threePointHitch',
switch: true,
type: 'boolean',
};
/*
Select of transmission for other equipment category
Options: Automatic, Manual
*/
exports.TRANSMISSION = {
label: 'Transmission',
name: 'transmission',
options: [
{
name: 'Automatic',
value: 2,
},
{
name: 'Manual',
value: 1,
},
],
select: true,
type: 'string',
};
/*
Input of width for equipment
*/
exports.WIDTH = {
input: true,
inputType: 'number',
label: 'Width',
name: 'width',
type: 'number',
unitOptions: [units.FEET, units.INCHES],
};
/*
Input of year for equipment
*/
exports.YEAR = {
input: true,
inputType: 'number',
label: 'Year',
name: 'year',
type: 'number',
};
/*
Input of zip code
*/
exports.ZIP_CODE = {
input: true,
inputType: 'number',
label: 'Zip',
name: 'zipCode',
type: 'string',
};
const getAllAttributes = () => [
exports.ACRES,
exports.BELLY_MOWER,
exports.CAB,
exports.CAPACITY,
exports.CATEGORY,
exports.CENTER_BULK_FILL,
exports.CITY,
exports.CHOPPER,
exports.CONDITION,
exports.COMBINE_TYPE,
exports.DESCRIPTION,
exports.DRIVE,
exports.EMISSIONS,
exports.EQUIPMENT_CONDITION,
exports.FRONT_TIRES,
exports.HOURS,
exports.HORSEPOWER,
exports.LENGTH,
exports.LOADER,
exports.LOT_NUMBER,
exports.MAKE,
exports.MILES,
exports.MODEL,
exports.NUMBER_OF_BALES,
exports.NUMBER_OF_BOTTOMS,
exports.NUMBER_OF_ROWS,
exports.NUMBER_OF_SHANKS,
exports.PRICE,
exports.POWERFOLD_BIN,
exports.REAR_PTO,
exports.REAR_TIRES,
exports.ROW_CLEANERS,
exports.SEPARATOR_HOURS,
exports.SERIAL,
exports.SPACING,
exports.SPREADER,
exports.STATE,
exports.SUBCATEGORY,
exports.TAG_AXLE,
exports.THREE_POINT_HITCH,
exports.TRANSMISSION,
exports.WIDTH,
exports.YEAR,
exports.ZIP_CODE,
];
exports.getAllAttributes = getAllAttributes;