Subversion Repositories SmartDukaan

Rev

Rev 26053 | Rev 26063 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26053 amit.gupta 1
$(document).on('click', 'a.list-group-item', function() {
26054 amit.gupta 2
	startDate=undefined;
3
	endDate=undefined;
4
	$reportModal = $('#report-modal');
26053 amit.gupta 5
	$reportModal.find('h4.modal-title').html($(this).find('h4').html());
6
	if($(this).data("paramslist") == undefined) {
26054 amit.gupta 7
		return true;
26053 amit.gupta 8
	} else {
9
		var paramsList = $(this).data("paramslist");
10
		paramsMap = {};
11
		renderInputDialog(paramsList);
12
		$reportModal.modal('show');
13
		return false;
14
	}
15
});
26054 amit.gupta 16
$(document.on('click', 'download-report', function(){
17
	var reportParams = {};
18
	$inputContainer.find("input").forEach(function(inputElement){
19
		var inputName = $(inputElement).attr("name");
20
		if($(inputElement).val()=="") {
21
			bootbox.alert(`${params.displayName} is required`);
22
			return false;
23
		}
24
		param = paramsMap[inputName];
25
		if(param.type=='DATE') {
26
			reportParams[`MANUAL_${inputName}`] = startDate;
27
		} else if(param.type=='DATE_RANGE') {
28
			reportParams[`MANUAL_${inputName}_FROMDATE`] = startDate;
29
			reportParams[`MANUAL_${inputName}_TODATE`] = endDate;
30
		} else if(params.type=="LIST"){
31
			reportParams[inputName] = $(inputElement).val().split();
32
		} else {
33
			reportParams[`MANUAL_${inputName}`] = $(inputElement).val();
34
		}
35
	});
36
});
26053 amit.gupta 37
function renderInputDialog(paramsList) {
26054 amit.gupta 38
	$reportModal = $('div#report-modal');
39
	$inputContainer = $reportModal.find('div.modal-body');
40
	//Clear container first
41
	$inputContainer.html('');
26053 amit.gupta 42
	paramsList.forEach(function(value) {
43
		paramsMap[value.name] = value;
44
		renderInput($inputContainer, value);
45
	});
46
}
47
 
26054 amit.gupta 48
function renderInput($inputContainer, param) {
49
	console.log(param.type);
26053 amit.gupta 50
	switch (param.type) {
51
		case "DATE": {
26054 amit.gupta 52
			$inputContainer.append(`<div class="form-group">
26053 amit.gupta 53
									<label>${param.displayText}</label> 
54
				   	  				<input name="${param.name}" type="text" value="" class="form-control input-sm">
55
								</div>`);
26054 amit.gupta 56
			$inputContainer.find(`input[name="${param.name}"]`).daterangepicker(getSingleDatePicker(),dateRangeCallback);
57
			return;
26053 amit.gupta 58
		}
59
		case "DATE_RANGE" : {
26054 amit.gupta 60
			$inputContainer.append(`<div class="form-group">
26053 amit.gupta 61
					<label>${param.displayText}</label> 
62
					<input name="${param.name}" type="text" value="" class="form-control input-sm">
63
			</div>`);
26054 amit.gupta 64
			$inputContainer.find(`input[name="${param.name}"]`).daterangepicker(getRangedDatePicker(true),dateRangeCallback);
65
			return;
26053 amit.gupta 66
		}
67
		case "STRING": {
26054 amit.gupta 68
			$inputContainer.append(`<div class="form-group">
26053 amit.gupta 69
					<label>${param.displayText}</label> 
70
					<input name="${param.name}" type="text" value="" class="form-control input-sm">
71
			</div>`);
26054 amit.gupta 72
			return;
26053 amit.gupta 73
		}
74
		case "LIST" : {
26054 amit.gupta 75
			$inputContainer.append(`<div class="form-group">
76
					<label>${param.displayText}(Comma Separated)</label> 
26053 amit.gupta 77
					<input name="${param.name}" type="text" value="" class="form-control input-sm">
78
			</div>`);
26054 amit.gupta 79
			return;
26053 amit.gupta 80
		}
81
	}
82
}