File: Inventory\dealerUserInventory.js
/*================================================================================================================\
+
+ Project : GoData-Eicher
+ Filename : dealerUserInventory.js
+ Module Name : DealerUserInventory
+ Purpose : For Dealer User Inventory
+ Coded By : Parul Gupta
+
+================================================================================================================*/
/**
* For user management
* @module UserManagement
*/
/**
* This class contains functionality of add non-vecv(dealer) users.
* @class NonVecvUserManagement
* @constructor
*/
//Global variables
var activeRequest, activeRequest_City, activeRequest_del, activeRequest_UserDetails, activeRequest_export;
/**
* Function to get non-vecv users list.
* @method getDealerUserList
* @for NonVecvUserManagement
*/
function getDealerUserList() {
$.ajax({
type: "POST",
url: "/UserInventory/ManageUserInventory_GetUserList/",
data: { userType: "dealer" },
success: function (data) {
//Bind html
$("#divDealerUserList").html(data);
},
error: function (data) {
console.log(data);
}
});
}
/**
* Function to show non-vecv users details.
* @method showUserDetails
* @for NonVecvUserManagement
*/
function showUserDetails() {
//function call on click of user list table's row
$("#tableUserList tbody tr").click(function (e) {
var userName, $this;
$this = $(this);
userName = e.currentTarget.id;
//Add button hide show
$("#btnAdd").show();
// add selected class on selected row
$('#tableUserList > tbody > tr').removeClass("SelectedRow");
$this.addClass("SelectedRow");
// ajax request to get non-vecv user detail
if (activeRequest_UserDetails && activeRequest_UserDetails.readystate != 4) {
activeRequest_UserDetails.abort();
}
activeRequest_UserDetails = $.ajax({
type: "POST",
url: "/UserInventory/ManageUserInventory_GetUserDetails/",
data: { UserName: userName },
success: function (data) {
$("#divDealerUserDetailPanel").html('');
$("#divDealerUserDetailPanel").html(data);
},
error: function (data) {
console.log(data);
}
});
});
//Trigger click event on first row of non-vecv user list table
$("#tableUserList tbody tr:first").trigger('click');
}
/**
* Function to add new non-vecv users.
* @method addNonUserDealer
* @for NonVecvUserManagement
*/
function addNonUserDealer() {
//send ajax report to add non-vecv user
$.ajax({
type: "Get",
url: "/UserInventory/ManageDealerInventory_AddDealer/",
success: function (data) {
$("#divDealerUserDetailPanel").html(data);
$("#btnAdd").hide();
},
error: function (data) {
console.log(data);
}
});
}
/**
* Function to check if user already exist.
* @method checkIfUsernameIsExist
* @for NonVecvUserManagement
*/
function checkIfUsernameIsExist() {
//function call on blur of user name text box
$("#UserName").blur(function () {
var _userName = $("#UserName").val();
if (_userName != "") {
$.getJSON("/UserInventory/CheckUserIsExist/", { UserName: _userName }, function (data) {
console.log(data);
if (data.result == false) {
//show validation message if username already exists
$("#spanUserName").show();
$("#UserName").val('').focus();
}
else {
$("#spanUserName").hide();
}
});
}
});
}
/**
* Function to check if email id exist.
* @method checkIfEmailidIsExist
* @for NonVecvUserManagement
*/
function checkIfEmailidIsExist() {
//function call on blur of user name text box
$("#EmailId").blur(function () {
var _emailId = $("#EmailId").val();
if (_emailId != "") {
$.getJSON("/UserInventory/CheckEmailIsExist/", { EmailId: _emailId }, function (data) {
console.log(data);
if (data.result == false) {
//show validation message if username already exists
$("#spanEmail").show();
$("#EmailId").val('').focus();
}
else {
$("#spanEmail").hide();
}
});
}
});
}
/**
* Function to load city list state wise.
* @method LoadCityList
* @param {String} stateId selected state id
* @for NonVecvUserManagement
*/
function LoadCityList(stateId) {
var selectedState = $('#ddState').find('option:selected').text();
$("#stateName").val(selectedState);
var stateVal;
stateVal = $("#ddState").val();
if (stateVal != "-Select-") {
stateVal = $("#ddState").val();
}
else {
stateVal = 0;
}
if (stateVal != "") {
if (activeRequest_City && activeRequest_City.readystate != 4) {
activeRequest_City.abort();
}
activeRequest_City = $.ajax({
type: "GET",
url: "/UserInventory/showCityStateWise/",
data: { stateVal: stateVal },
success: function (data) {
// empty City dropdown
$("#ddCity").text("");
// by default add select text.
$("#ddCity").append($('<option></option>').val("").html("-Select-"));
// add data to dropdown.
if (data.list) {
for (var counter = 0; counter < data.list.length; counter++) {
$("#ddCity").append(
$('<option></option>').val(data.list[counter].Value).html(data.list[counter].Text));
}
}
},
error: function (data) {
console.log(data);
}
});
}
}
/**
* Function call onclick of cancel button.
* @method btnCancelAddUser
* @for NonVecvUserManagement
*/
function btnCancelAddUser() {
if (document.getElementById('tableUserList')) {
$("#tableUserList tbody tr.SelectedRow").trigger('click');
} else {
$("#divDealerUserDetailPanel").html("");
$("#btnAdd").show();
}
}
/**
* Function call onsuccess of add non-vecv user.
* @method onSuccessAddDealer
* @for NonVecvUserManagement
*/
function onSuccessAddDealer(data) {
if (data.success == true) {
//console.log("user added");
getDealerUserList();
//jAlert('User added successfully.', 'Message', function () {
jAlert(USER_INVENTORY_MESSAGES.addUserSuccess, 'Message', function () {
$("#tableUserList tbody tr[data-userName='" + data.userAuthId + "']").trigger('click');
});
}
else {
//jAlert('Add User failed !!' + data.message, 'Message');
jAlert(USER_INVENTORY_MESSAGES.addUserFailed + data.message, 'Message');
}
}
//
/**
* Function to get organization id dealer wise(non-vecv user)
* @method getOrganizationDealerWise
* @for NonVecvUserManagement
*/
function getOrganizationDealerWise($this) {
var dealerId;
dealerId = $("#ddNonUserDealer").val();
if (dealerId != "-Select-") {
dealerId = $("#ddNonUserDealer").val();
}
else {
dealerId = 0;
}
if (dealerId != "") {
$.ajax({
type: "GET",
url: "/UserInventory/GetOrganizationDealerWise/",
data: { dealerId: dealerId },
success: function (data) {
// console.log(data);
if (data) {
if (data.organizationId) {
for (var counter = 0; counter < data.organizationId.length; counter++) {
// console.log(data.organizationId[counter]);
$("#organizationName").val(data.organizationId[counter]);
}
}
if (data.organizationName) {
for (var counter = 0; counter < data.organizationName.length; counter++) {
//console.log(data.organizationName[counter]);
$("#ddOrganization").val(data.organizationName[counter]);
}
}
}
},
error: function (data) {
console.log(data);
}
});
}
}
///**
//* To search BTS from BTS list
//* @method searchBts
//* @for Inventory
//*/
//function searchUser() {
// var $rows = $('#tableUserList tr');
// // On key uo of textbox
// $('#txtSearchUserList').keyup(function (e) {
// console.log(e);
// var code = e.keyCode;
// if (code == 13) {
// filterTableForSearch();
// }
// if ($('#txtSearchUserList').val() == '') {
// filterTableForSearch();
// $("#btnSearchCancel").hide();
// $("#btnSearch").show();
// }
// });
// // When search button clicked
// $("#btnSearch").click(function () {
// if ($('#txtSearchUserList').val() != '') {
// filterTableForSearch();
// }
// });
// // when cancel button clicked
// $("#btnSearchCancel").click(function () {
// $("#btnSearchCancel").hide();
// $("#btnSearch").show();
// $("#txtSearchUserList").val('');
// $rows.show();
// });
//}
///**
//* Update bts list based on the searched value.
//* @method filterTableForSearch
//* @for Inventory
//*/
//function filterTableForSearch() {
// console.log("hi");
// var $rows = $('#tableUserList tr');
// $("#btnSearchCancel").show();
// $("#btnSearch").hide();
// var searchString = $("#txtSearchUserList").val();
// var val = $.trim(searchString).replace(/ +/g, ' ').toLowerCase();
// $rows.show().filter(function () {
// var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
// return !~text.indexOf(val);
// }).hide();
//}
/**
* Function used to trigger row click event.
* @method initSearch
* @param {String} keyCode Input key code.
* @param {String} sValue text to be search.
* @for NonVecvUserManagement
*/
function initSearch(keyCode, sValue) {
var $rows = $('#tableUserList tbody tr');
var jThis;
if (keyCode != 8 && keyCode != 46) {
$rows.each(function () {
jThis = $(this);
if (jThis.is(':visible')) {
var oLabel = jThis.find('label').text();
if (oLabel.length > 0) {
if (oLabel.toLowerCase().indexOf(sValue.toLowerCase()) >= 0) {
jThis.show();
} else {
jThis.hide();
}
}
}
});
}
else {
$rows.each(function () {
jThis = $(this);
var oLabel = jThis.find('label').text();
if (oLabel.length > 0) {
if (oLabel.toLowerCase().indexOf(sValue.toLowerCase()) >= 0) {
jThis.show();
} else {
jThis.hide();
}
}
});
}
}
/**
* Bind textbox keyup event for searching.
* @event keyup
* @for NonVecvUserManagement
*/
$('#txtSearchUserList').keyup(function (event) {
var sValue = $.trim($(this).val());
initSearch(event.keyCode, sValue);
}).keydown(function () { }).focus(function () { $(this).select(); });
//------------------------------------ document ready function --------------------------------------//
$(document).ready(function () {
getDealerUserList();
});