|
({ |
|
handleMenuItems : function(component, type){ |
|
//get dynamic input div and clear contents |
|
console.log('type ' + type); |
|
var targetCmp = component.find('dynamicInputBox'); |
|
targetCmp.set("v.body",[]); |
|
|
|
//switch statement takes type of query and sets input accordingly |
|
//there are 3 possible input types in this scenario: text, date picker and date range |
|
//which uses a slider to pick between 30 and 365 days |
|
//TODO make this more concise to elliminate duplicate code |
|
switch(type){ |
|
|
|
case 'Material' : |
|
case 'Order Number' : |
|
case 'Batch Id' : |
|
console.log('in 1'); |
|
$A.createComponents([ |
|
["c:DynamicInputField", |
|
{ |
|
"name": type + " Input Field", |
|
}], |
|
["lightning:input", |
|
{ |
|
"name" : type, |
|
"label": type, |
|
"onchange":component.getReference("c.queryInputChange") |
|
}] |
|
], |
|
function(components, status, errorMessage){ |
|
targetCmp = component.find('dynamicInputBox'); |
|
var targBody = targetCmp.get('v.body'); |
|
|
|
var outer = components[0]; |
|
var inner = components[1]; |
|
outer.set("v.body",inner); |
|
|
|
targBody.push(outer); |
|
targetCmp.set('v.body',targBody); |
|
|
|
}); |
|
break; |
|
|
|
case 'Order Date' : |
|
console.log('in 2'); |
|
$A.createComponents([ |
|
["c:DynamicInputField", |
|
{ |
|
"name": type + " Input Field", |
|
}], |
|
["ui:inputDate", |
|
{ |
|
"aura:id": "findableAuraId", |
|
"label": type, |
|
"name" : type, |
|
"displayDatePicker":"true", |
|
"onchange":component.getReference("c.queryInputChange") |
|
}] |
|
], |
|
function(components, status, errorMessage){ |
|
targetCmp = component.find('dynamicInputBox'); |
|
var targBody = targetCmp.get('v.body'); |
|
|
|
var outer = components[0]; |
|
var inner = components[1]; |
|
outer.set("v.body",inner); |
|
|
|
targBody.push(outer); |
|
targetCmp.set('v.body',targBody); |
|
|
|
}); |
|
break; |
|
|
|
case 'Date Range' : |
|
case 'Batch Expiration' : |
|
console.log('in 3'); |
|
$A.createComponents([ |
|
["c:DynamicInputField", |
|
{ |
|
"name": type + " Input Field", |
|
}], |
|
["lightning:input", |
|
{ |
|
"type" : "range", |
|
"default" : "5", |
|
"aura:id" : 'dynamicInput', |
|
"class" : "dateRange", |
|
"name" : type, |
|
"min" : "5", |
|
"step": "5", |
|
"max" : "365", |
|
"label": type, |
|
"value":"", |
|
"onchange":component.getReference("c.queryInputChange") |
|
|
|
|
|
}] |
|
], |
|
function(components, status, errorMessage){ |
|
targetCmp = component.find('dynamicInputBox'); |
|
var targBody = targetCmp.get('v.body'); |
|
|
|
var outer = components[0]; |
|
var inner = components[1]; |
|
outer.set("v.body",inner); |
|
|
|
targBody.push(outer); |
|
targetCmp.set('v.body',targBody); |
|
|
|
}); |
|
break; |
|
default: |
|
console.log('default ' + type); |
|
|
|
} |
|
} |
|
}) |