Subversion Repositories SmartDukaan

Rev

Rev 26054 | Rev 26089 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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