Mobile Groundnut Thresher

Share :

Choose Language:

[google-translator]

Details

Innovator Details

Innovation Details

The innovator developed a Automatic Groundnut Harvester to lift the dugout crops and automatically thresh them. There are separate storage compartments for groundnut shells and the leaves. Thus, it can do threshing and keep the farm clean by storing everything in the different compartments.

Have thoughts on this innovation or suggestions for improvement? Kindly Share your feedback !

` : ''; /* * Location / map. * * We first try to find decimal * latitude + longitude in the * database location field. */ const locationValue = practice.location || ''; const coordinates = gridExtractCoordinates( locationValue ); let mapHTML = ''; if(coordinates){ const lat = coordinates.lat; const lng = coordinates.lng; /* * OpenStreetMap embed. * * The marker is directly visible. */ const delta = 0.035; const west = lng - delta; const east = lng + delta; const south = lat - delta; const north = lat + delta; const mapURL = 'https://www.openstreetmap.org/export/embed.html' + '?bbox=' + encodeURIComponent(west) + ',' + encodeURIComponent(south) + ',' + encodeURIComponent(east) + ',' + encodeURIComponent(north) + '&layer=mapnik' + '&marker=' + encodeURIComponent(lat) + ',' + encodeURIComponent(lng); mapHTML = ` `; }else{ mapHTML = `
Location coordinates are not available for this practice.
`; } /* * PAS fields. */ const pasFields = [ ['PAS 1', practice.pas_1], ['PAS 2', practice.pas_2], ['PAS 3', practice.pas_3], ['PAS 4', practice.pas_4], ['PAS 5', practice.pas_5] ]; let pasHTML = ''; pasFields.forEach(function(item){ if( item[1] !== null && item[1] !== undefined && String(item[1]).trim() !== '' ){ pasHTML += `
${gridEscapeHTML( item[0] )}
${gridFormatText( item[1] )}
`; } }); if(!pasHTML){ pasHTML = `
No PAS / resource information available.
`; } /* * Practice fields. */ const practiceFields = [ ['Crop', practice.crop], ['Crop Family', practice.crop_family], [ 'Crop Scientific Name', practice.crop_scientific_name ], [ 'Crop Vernacular Name', practice.crop_vernacular_name ], [ 'Pest Taxonomy', practice.pest_taxonomy ], [ 'Pest Group', practice.pest_group ], [ 'Pest Scientific Name', practice.pest_scientific_names ], [ 'Pest Vernacular Names', practice.pest_vernacular_names ], [ 'Pest Vector Name', practice.pest_vector_name ], [ 'Formulation', practice.formulation ], [ 'Ingredients', practice.ingredients ], [ 'Dosage', practice.dosage ], [ 'Control Mode', practice.control_mode ], [ 'Problem Statement', practice.problem_statement ], [ 'Problem Scale', practice.problem_scale ], [ 'Manufacturing Capacity', practice.manufacturing_capacity ], [ 'Scalability', practice.scalability ], [ 'Potential Users', practice.potential_users ], [ 'Technology Transfer Terms', practice.technology_transfer_terms ], [ 'Scope for Technology Transfer Support', practice.scope_for_technology_transfer_support ], [ 'Limitations', practice.limitations ], [ 'Limitations of Approach', practice.limitations_of_approach ], [ 'Precautions', practice.precautions ] ]; let practiceHTML = ''; practiceFields.forEach(function(item){ if( item[1] !== null && item[1] !== undefined && String(item[1]).trim() !== '' ){ practiceHTML += gridDetailRow( item[0], item[1] ); } }); if(!practiceHTML){ practiceHTML = `
No additional practice details available.
`; } /* * References. */ const referenceFields = [ ['References', practice.references], ['Paper Link 1', practice.paper_link_1], ['Paper Link 2', practice.paper_link_2], ['Paper Link 5', practice.paper_link_5], ['Similar Paper / Patent / Practice', practice.similar_paper_patent_practice], ['Website', practice.website], ['Website Details', practice.website_details], ['Blog Link 1', practice.blog_link_1], ['Blog Link 2', practice.blog_link_2], ['Blog Link 3', practice.blog_link_3], ['Blog Link 5', practice.blog_link_5], ['News Link 1', practice.news_link_1], ['News Link 2', practice.news_link_2], ['News Link 3', practice.news_link_3], ['News Link 4', practice.news_link_4], ['News Link 5', practice.news_link_5] ]; let referencesHTML = ''; referenceFields.forEach(function(item){ if( item[1] !== null && item[1] !== undefined && String(item[1]).trim() !== '' ){ referencesHTML += gridDetailRow( item[0], item[1] ); } }); if(!referencesHTML){ referencesHTML = `
No reference information available.
`; } /* * Final HTML. */ app.innerHTML = `
${imageHTML}
${mapHTML}
${ type ? `
${gridEscapeHTML(type)}
` : '' }

${gridEscapeHTML(title)}

${ category ? `
${gridEscapeHTML(category)}
` : '' } ${ reference ? `
GIAN Reference: ${gridEscapeHTML(reference)}
` : '' }
About the Practice
${ detail ? `
Detail
${gridFormatText(detail)}
` : `
No practice description available.
` }
About the Innovator
${ innovator ? gridDetailRow( 'Knowledge Provider / Innovator', innovator ) : '' } ${ address ? gridDetailRow( 'Address', address ) : '' } ${ city ? gridDetailRow( 'City', city ) : '' } ${ district ? gridDetailRow( 'District', district ) : '' } ${ state ? gridDetailRow( 'State', state ) : '' } ${ pincode ? gridDetailRow( 'PIN Code', pincode ) : '' } ${ practice['Email Address (if any)'] ? gridDetailRow( 'Email', practice['Email Address (if any)'] ) : '' } ${ practice['Contact no: (if any)'] ? gridDetailRow( 'Contact No.', practice['Contact no: (if any)'] ) : '' }
Practice / Technology Details
${practiceHTML}
PAS / Resources
${pasHTML}
References
${referencesHTML}
${imageFallbackScript} `; /* * Back button. */ const backButton = document.getElementById( 'grid-back-practices' ); if(backButton){ backButton.addEventListener( 'click', function(){ /* * Reloading restores the * paginated database. */ window.location.reload(); } ); } /* * Keep map/image at top of * details after AJAX. */ app.scrollIntoView({ behavior:'smooth', block:'start' }); }; /* ===================================================== COORDINATE DETECTION ===================================================== */ window.gridExtractCoordinates = function(value){ if(!value){ return null; } const text = String(value); /* * Decimal pair: * * 21.1702, 72.8311 * * 21.1702 72.8311 */ const match = text.match( /(-?\d+(?:\.\d+)?)\s*[,;]\s*(-?\d+(?:\.\d+)?)/ ); if(match){ const lat = parseFloat(match[1]); const lng = parseFloat(match[2]); if( lat >= -90 && lat <= 90 && lng >= -180 && lng <= 180 ){ return { lat:lat, lng:lng }; } } return null; }; /* ===================================================== DETAIL ROW ===================================================== */ window.gridDetailRow = function(label,value){ return `
${gridEscapeHTML(label)}: ${gridFormatText(value)}
`; }; /* ===================================================== SAFE TEXT ===================================================== */ window.gridEscapeHTML = function(value){ if( value === null || value === undefined ){ return ''; } const div = document.createElement('div'); div.textContent = String(value); return div.innerHTML; }; window.gridEscapeAttribute = function(value){ return gridEscapeHTML(value) .replace( /"/g, '"' ); }; /* ===================================================== FORMAT LONG TEXT + LINKS ===================================================== */ window.gridFormatText = function(value){ if( value === null || value === undefined || value === '' ){ return ''; } let text = gridEscapeHTML(value); /* * Convert URLs into clickable links. */ text = text.replace( /(https?:\/\/[^\s<]+)/g, function(url){ return ` ${url} `; } ); /* * Preserve line breaks. */ text = text.replace( /\r?\n/g, '
' ); return text; }; })();

Got questions? Contact us!

Got questions? Contact us!