Subversion Repositories SmartDukaan

Rev

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

Rev 23026 Rev 23343
Line -... Line 1...
-
 
1
$(function() {
-
 
2
	
-
 
3
	$(".schemes").live('click', function() {
-
 
4
		console.log("Active Schemes Button Clicked...")
-
 
5
		schemes("main-content");
-
 
6
	});
-
 
7
	
-
 
8
	$(".schemes-download-page").live('click', function() {
-
 
9
		console.log("Schemes Download Clicked...")
-
 
10
		loadSchemesDownloadPage("main-content");
-
 
11
	});
-
 
12
	
-
 
13
	$(".create-scheme").live('click', function() {
-
 
14
		loadScheme("main-content");
-
 
15
	});
-
 
16
	
-
 
17
	
-
 
18
	$('#brands li a').live('click', function(){
-
 
19
		$('#brand-value').text($(this).text());
-
 
20
		loadItemsDescriptionByBrand("items-description-container", $(this).text());
-
 
21
	    console.log($(this).text());
-
 
22
	});
-
 
23
	
-
 
24
	$("#schemes-paginated .next").live('click', function() {
-
 
25
		var start = $( "#schemes-paginated .start" ).text();
-
 
26
		var end = $( "#schemes-paginated .end" ).text();
-
 
27
		getSchemesNextItems(start, end);
-
 
28
		$("#schemes-paginated .next").blur();
-
 
29
    });
-
 
30
	
-
 
31
	$("#schemes-paginated .previous").live('click', function() {
-
 
32
		var start = $( "#schemes-paginated .start" ).text();
-
 
33
		var end =  $( "#schemes-paginated .end" ).text();
-
 
34
		var pre = end - 20;
-
 
35
		getSchemesPreviousItems(start, end, pre);
-
 
36
		$("#schemes-paginated .previous").blur();
-
 
37
    });
-
 
38
	
-
 
39
	$(".scheme-details").live('click',function(){
-
 
40
		var schemeId = $(this).attr('data');
-
 
41
		console.log("schemeId = "+schemeId);
-
 
42
		loadSchemeDetails(schemeId, "scheme-details-container");
-
 
43
	});
-
 
44
	
-
 
45
	
-
 
46
	$(".active-scheme").live('click',function(){
-
 
47
		var schemeId = $(this).attr('data');
-
 
48
		console.log("active-scheme id : "+schemeId);
-
 
49
		var start = $( "#schemes-paginated .start" ).text();
-
 
50
		//var end = $( "#schemes-paginated .end" ).text();
-
 
51
		var offset = start - 1;
-
 
52
		if(confirm("Are you sure you want to Active Scheme!") == true){
-
 
53
			activeScheme(schemeId, offset, "schemes-table");
-
 
54
		}
-
 
55
	});
-
 
56
	
-
 
57
	$(".expire-scheme").live('click',function(){
-
 
58
		var schemeId = $(this).attr('data');
-
 
59
		console.log("expire-scheme id : "+schemeId);
-
 
60
		var start = $( "#schemes-paginated .start" ).text();
-
 
61
		//var end = $( "#schemes-paginated .end" ).text();
-
 
62
		var offset = start - 1;
-
 
63
		if(confirm("Are you sure you want to Expire Scheme!") == true){
-
 
64
			expireScheme(schemeId, offset, "schemes-table");
-
 
65
		}
-
 
66
	});
-
 
67
	
-
 
68
	
-
 
69
});
-
 
70
 
1
$().ready(function() {
71
$().ready(function() {
2
	$("form#create-scheme-form input").each(function(){
72
	$("form#create-scheme-form input").each(function(){
3
		$(this).attr('autocomplete', 'off');
73
		$(this).attr('autocomplete', 'off');
4
	});
74
	});
5
});
75
});
Line 84... Line 154...
84
         }
154
         }
85
	});
155
	});
86
  
156
  
87
});
157
});
88
 
158
 
-
 
159
function validateSchemeDetails(){
-
 
160
	console.log("validating Scheme Details...");
-
 
161
	var error = false;
-
 
162
	var name = $("form#create-scheme-form input[name=schemeName]").val();
-
 
163
	console.log("schemeName = " + name);
-
 
164
	$("#schemeName").removeClass("border-highlight");
-
 
165
	if(name ==""){
-
 
166
		alert("Name is required");
-
 
167
		$("#schemeName").addClass("border-highlight");
-
 
168
		error = true;
-
 
169
		return error;
-
 
170
	}
-
 
171
	var schemeType = $("#schemeType option:selected").val();
-
 
172
	console.log("schemeType = " + schemeType);
-
 
173
	$("#schemeType").removeClass("border-highlight");
-
 
174
	if(schemeType == ""){
-
 
175
		alert("Please choose Scheme Type");
-
 
176
		$("#schemeType").addClass("border-highlight");
-
 
177
		error = true;
-
 
178
		return error;
-
 
179
	}
-
 
180
	var amountType = $("#amountType option:selected").val();
-
 
181
	console.log("amountType = " + amountType);
-
 
182
	$("#amountType").removeClass("border-highlight");
-
 
183
	if(amountType == ""){
-
 
184
		alert("Please choose Amount Type");
-
 
185
		$("#amountType").addClass("border-highlight");
-
 
186
		error = true;
-
 
187
		return error;
-
 
188
	}
-
 
189
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
-
 
190
	console.log("amount = " + amount);
-
 
191
	$("#schemeAmount").removeClass("border-highlight");
-
 
192
	if (amount == ""){
-
 
193
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
-
 
194
	}else if(amount <= 0){
-
 
195
		alert("Amount should be greater than 0");
-
 
196
		$("#schemeAmount").addClass("border-highlight");
-
 
197
		error = true;
-
 
198
		return error;
-
 
199
	}
-
 
200
	
-
 
201
	
-
 
202
	var startDateTimeString = $("form#create-scheme-form input[name=startDateTime]").val();
-
 
203
	var endDateTimeString = $("form#create-scheme-form input[name=endDateTime]").val();
-
 
204
	$("#startDateTime").removeClass("border-highlight");
-
 
205
	$("#endDateTime").removeClass("border-highlight");
-
 
206
	
-
 
207
	
-
 
208
	if(Date.parse(endDateTimeString) < Date.parse(startDateTimeString)){
-
 
209
		alert("End date Time [" + endDateTimeString + "] can not be greater than equal to Start date Time [" + startDateTimeString + "]");
-
 
210
		$("#startDateTime").addClass("border-highlight");
-
 
211
		$("#endDateTime").addClass("border-highlight");
-
 
212
		error = true;
-
 
213
		return error;
-
 
214
	}
-
 
215
	
-
 
216
	//$('#brand-value').text($(this).text());
-
 
217
	$("#brand-value").removeClass("border-highlight");
-
 
218
	if($("#brand-value").text() == "Brands"){
-
 
219
		alert("Please choose Brand");
-
 
220
		$("#brand-value").addClass("border-highlight");
-
 
221
		error = true;
-
 
222
		return error;
-
 
223
	}
-
 
224
	
-
 
225
	$("#itemsDescription").removeClass("border-hightlight");
-
 
226
	var itemIdsString = $("#itemsDescription").val();
-
 
227
	if(itemIdsString == null){
-
 
228
		alert("Please choose items");
-
 
229
		$("#itemsDescription").addClass("border-highlight");
-
 
230
		error = true;
-
 
231
		return error;
-
 
232
	}
-
 
233
	
-
 
234
	var retailerIdsString = $("#retailerIds").val();
-
 
235
	if(retailerIdsString != undefined){
-
 
236
		var retailerIdsPattern = "^[0-9]{1,10}(?:,[0-9]{1,10})*$";
-
 
237
		if(retailerIdsString.match(retailerIdsPattern) == null){
-
 
238
			alert("Invalid retailerIds["+retailerIdsString+"] pattern");
-
 
239
			$("#retailerIds").addClass("border-highlight");
-
 
240
			error = true;
-
 
241
			return error;
-
 
242
		}
-
 
243
	}
-
 
244
	
-
 
245
	console.log("validation scheme error = " + error);
-
 
246
	return error;
-
 
247
}
-
 
248
 
-
 
249
function schemeDetailsJson(){
-
 
250
	console.log("schemeDetailsJson")
-
 
251
	var schemeObject = {};
-
 
252
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
-
 
253
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
-
 
254
	schemeObject['type'] = $("#schemeType option:selected").val();
-
 
255
	schemeObject['amountType'] = $("#amountType option:selected").val();
-
 
256
	schemeObject['amount'] = $('#schemeAmount').val();
-
 
257
	//var startEndDateTime = $("form#create-scheme-form input[name=startEndDateTime]").val().split("-");
-
 
258
	var startDateTimeString = $("form#create-scheme-form input[name=startDateTime]").val();
-
 
259
	console.log("startDateTimeString : "+startDateTimeString);
-
 
260
	var endDateTimeString = $("form#create-scheme-form input[name=endDateTime]").val();
-
 
261
	console.log("endDateTimeString : "+endDateTimeString);
-
 
262
	
-
 
263
	schemeObject['startDateTimeString'] = startDateTimeString;
-
 
264
	schemeObject['endDateTimeString'] = endDateTimeString;
-
 
265
	schemeObject['itemIds'] = [];
-
 
266
	var itemIds = $("#itemsDescription").val();
-
 
267
	//var itemIds = itemIdsString.substring(1, itemIdsString.length - 1).split(",");
-
 
268
	for(var i = 0; i < itemIds.length; i++){
-
 
269
		schemeObject['itemIds'].push(parseInt(itemIds[i]));
-
 
270
	}
-
 
271
	schemeObject['retailerAll'] = $("form#create-scheme-form input[name=retailerAll]").val();
-
 
272
	if($("#retailerAll").val() == 'true'){
-
 
273
		schemeObject['retailerIds'] = [];
-
 
274
	}else{
-
 
275
		schemeObject['retailerIds'] = []
-
 
276
		var retailerIds = $("#retailerIds").val().split(",");
-
 
277
		for(var retailerId of retailerIds){
-
 
278
			schemeObject['retailerIds'].push(parseInt(retailerId));
-
 
279
		}
-
 
280
	}
-
 
281
	return JSON.stringify(schemeObject);
-
 
282
}
-
 
283
 
89
$('#retailerAll').on('change', function() { 
284
$('#retailerAll').on('change', function() { 
90
    if (this.checked) {
285
    if (this.checked) {
91
    	$('#retailerAll').val('true');
286
    	$('#retailerAll').val('true');
92
    	$('#retailer-ids').html('');
287
    	$('#retailer-ids').html('');
93
    }else{
288
    }else{
94
    	$('#retailerAll').val('false');
289
    	$('#retailerAll').val('false');
95
    	$('#retailer-ids').html('<input placeholder="Retailer Ids" id="retailerIds" name="retailerIds" type="text" value="" pattern="^[0-9]{1,10}(?:,[0-9]{1,10})*$" title="Comma Seperated Positive Integer Retailer Ids" class="form-control input-sm">');
290
    	$('#retailer-ids').html('<input placeholder="Retailer Ids" id="retailerIds" name="retailerIds" type="text" value="" pattern="^[0-9]{1,10}(?:,[0-9]{1,10})*$" title="Comma Seperated Positive Integer Retailer Ids" class="form-control input-sm">');
96
    }
291
    }
97
});
-
 
98
292
});
-
 
293
 
-
 
294
 
-
 
295
function schemesDownload(){
-
 
296
	
-
 
297
	console.log("downloadItemLedgerReport Button clicked")
-
 
298
	
-
 
299
	var startEndDateTime = $('input[name="startEndDateTime"]').val().split("-");
-
 
300
	var startDateTime = $.trim(startEndDateTime[0]);
-
 
301
	console.log("startDateTime : "+startDateTime);
-
 
302
	var endDateTime = $.trim(startEndDateTime[1]);
-
 
303
	console.log("endDateTime : "+endDateTime);
-
 
304
	doAjaxGetDownload(context+"/schemes/download?startDateTime="+startDateTime+"&endDateTime="+endDateTime,
-
 
305
			 "SchemesReport.xlsx");
-
 
306
}
-
 
307
 
-
 
308
function getSchemesNextItems(start, end){
-
 
309
	console.log(start);
-
 
310
	console.log(end);
-
 
311
	console.log(+end + +10);
-
 
312
	console.log(+start + +10);
-
 
313
	doAjaxRequestHandler(context+"/getPaginatedSchemes?offset="+end, "GET", function(response){
-
 
314
		$( "#schemes-paginated .end" ).text(+end + +10);
-
 
315
		$( "#schemes-paginated .start" ).text(+start + +10);
-
 
316
		var last = $( "#schemes-paginated .end" ).text();
-
 
317
		var temp = $( "#schemes-paginated .size" ).text();
-
 
318
		if (parseInt(last) >= parseInt(temp)){
-
 
319
			$("#schemes-paginated .next").prop('disabled', true);
-
 
320
			//$( "#good-inventory-paginated .end" ).text(temp);
-
 
321
		}
-
 
322
	    $('#schemes-table').html(response);
-
 
323
	    $('#scheme-details-container').html('');
-
 
324
	    $("#schemes-paginated .previous").prop('disabled', false);
-
 
325
	});
-
 
326
	
-
 
327
    
-
 
328
}
-
 
329
 
-
 
330
 
-
 
331
function getSchemesPreviousItems(start, end, pre){
-
 
332
	
-
 
333
	doAjaxRequestHandler(context+"/getPaginatedSchemes/?offset="+pre, "GET", function(response){
-
 
334
		$( "#schemes-paginated .end" ).text(+end - +10);
-
 
335
		$( "#schemes-paginated .start" ).text(+start - +10);
-
 
336
		$('#schemes-table').html(response);
-
 
337
		$('#scheme-details-container').html('');
-
 
338
		$("#schemes-paginated .next").prop('disabled', false);
-
 
339
		if (parseInt(pre)==0)
-
 
340
		{
-
 
341
			$("#schemes-paginated .previous").prop('disabled', true);
-
 
342
		}
-
 
343
	});
-
 
344
	
-
 
345
}
-
 
346
 
-
 
347
function loadSchemeDetails(schemeId, domId){
-
 
348
	doAjaxRequestHandler(context+"/getSchemeById?schemeId="+schemeId, "GET", function(response){
-
 
349
		$('#' + domId).html(response);
-
 
350
		window.dispatchEvent(new Event('resize'));
-
 
351
	});
-
 
352
}
-
 
353
 
-
 
354
function activeScheme(schemeId, offset, domId){
-
 
355
	doAjaxRequestHandler(context+"/activeSchemeById?schemeId="+schemeId
-
 
356
	        +"&offset="+offset, "PUT", function(response){
-
 
357
		$('#' + domId).html(response);
-
 
358
		$('#scheme-details-container').html('');
-
 
359
	});
-
 
360
}
-
 
361
 
-
 
362
function expireScheme(schemeId, offset, domId){
-
 
363
	doAjaxRequestHandler(context+"/expireSchemeById?schemeId="+schemeId
-
 
364
	        +"&offset="+offset, "PUT", function(response){
-
 
365
		$('#' + domId).html(response);
-
 
366
		$('#scheme-details-container').html('');
-
 
367
	});
-
 
368
	
-
 
369
}
-
 
370
 
-
 
371
function loadScheme(domId){
-
 
372
	doAjaxRequestHandler(context+"/createScheme", "GET", function(response){
-
 
373
		$('#' + domId).html(response);
-
 
374
	});
-
 
375
}
-
 
376
 
-
 
377
function loadItemsDescriptionByBrand(domId, brand){
-
 
378
	doAjaxRequestHandler(context+"/getItemsByBrand?brand="+brand, "GET", function(response){
-
 
379
		$('#' + domId).html(response);
-
 
380
		configureItemsDescriptionDropDown();
-
 
381
	});
-
 
382
	
-
 
383
}
-
 
384
 
-
 
385
function configureItemsDescriptionDropDown(){
-
 
386
	$(document).ready(function() {
-
 
387
        $('#itemsDescription').multiselect({
-
 
388
        	includeSelectAllOption: true,
-
 
389
        	maxHeight: 200,
-
 
390
        	buttonWidth: '180px',
-
 
391
        	numberDisplayed: 1,
-
 
392
        	nonSelectedText: 'Items',
-
 
393
        	nSelectedText: ' - Items Selected',
-
 
394
        	allSelectedText: 'All Items Selected',
-
 
395
        	enableFiltering: true
-
 
396
        });
-
 
397
    });
-
 
398
}
-
 
399
 
-
 
400
function schemes(domId){
-
 
401
	doAjaxRequestHandler(context+"/getSchemes", "GET", function(response){
-
 
402
		$('#' + domId).html(response);
-
 
403
	});
-
 
404
}
-
 
405
 
-
 
406
function loadSchemesDownloadPage(domId){
-
 
407
	doAjaxRequestHandler(context+"/schemes/downloadPage", "GET", function(response){
-
 
408
		$('#' + domId).html(response);
-
 
409
	});
-
 
410
}
-
 
411
99
412