/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/** ****** left menu *********************** **/
$(function () {
$("[data-toggle='tooltip']").tooltip();
$('.close-link').click(function () {
var content = $(this).closest('div.x_panel');
content.remove();
});
$(".btn-dashboard-search").on("click", function(){
$keyword = $("#dashboard-search").val();
$keyword = $.trim($keyword);
if($keyword!=""){
$url = $(this).attr("data-ajaxurl");
document.location.href = $url+"?q="+$keyword+"&_cri=cn";
}
});
// Collapse ibox function
$('.collapse-link').on("click", function () {
console.warn("triggered collapse link");
var x_panel = $(this).closest('div.x_panel');
var button = $(this).find('i');
var content = x_panel.find('div.x_content');
content.slideToggle(200);
(x_panel.hasClass('fixed_height_390') ? x_panel.toggleClass('').toggleClass('fixed_height_390') : '');
(x_panel.hasClass('fixed_height_320') ? x_panel.toggleClass('').toggleClass('fixed_height_320') : '');
button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');
setTimeout(function () {
x_panel.resize();
}, 50);
});
// $('#sidebar-menu li ul').slideUp();
$('#sidebar-menu li').click(function () {
if ($(this).is('.active')) {
$(this).removeClass('active');
$('ul', this).slideUp();
$(this).removeClass('nv');
$(this).addClass('vn');
} else {
$('#sidebar-menu li ul').slideUp();
$(this).removeClass('vn');
$(this).addClass('nv');
$('ul', this).slideDown();
$('#sidebar-menu li').removeClass('active');
$(this).addClass('active');
}
});
$('#menu_toggle').click(function () {
if ($('body').hasClass('nav-md')) {
$('body').removeClass('nav-md');
$('body').addClass('nav-sm');
$('.left_col').removeClass('scroll-view');
$('.left_col').removeAttr('style');
$('.sidebar-footer').hide();
if ($('#sidebar-menu li').hasClass('active')) {
$('#sidebar-menu li.active').addClass('active-sm');
$('#sidebar-menu li.active').removeClass('active');
}
} else {
$('body').removeClass('nav-sm');
$('body').addClass('nav-md');
$('.sidebar-footer').show();
if ($('#sidebar-menu li').hasClass('active-sm')) {
$('#sidebar-menu li.active-sm').addClass('active');
$('#sidebar-menu li.active-sm').removeClass('active-sm');
}
}
});
});
/** ****** /left menu *********************** **/
/** ****** Accordion *********************** **/
$(function () {
$(".expand").on("click", function () {
$(this).next().slideToggle(200);
$expand = $(this).find(">:first-child");
if ($expand.text() == "+") {
$expand.text("-");
} else {
$expand.text("+");
}
});
});
/** ****** Accordion *********************** **/
/* Check uncheck all checkboxes*/
$(document).ready(function(){
$("#check-all").on("click",function(){
if($(this).prop("checked")===true){
$(".row-checkboxes").prop("checked",true);
}else{
$(".row-checkboxes").prop("checked",false);
}
});
})
/* Check uncheck all checkboxes*/
$(document).ready(function(){
//populate form fields when user choose to edit record.
$(".item-edit").on("click",function(){
$form_id = $(this).attr("data-formid");
$item_id = $(this).attr("data-id");
$ajax_url = $(this).attr("data-url");
$cdn_url = $(this).attr("data-cdnurl") || "";
$(".just-reset").trigger("click");
if($("#"+$form_id).length==0) return;
$(".just-reset").removeClass("hide");
//IF the page is users, we don't want password field to be required because they may not need to change password
if($("#user_password").length>0) {
$("#user_password").removeAttr("required");
$("#user_password").prev("label").find(".required").hide();
}
//if the page is user, in edit mode make username field disabled as user can't change username
if($("#username").length>0) {
$("#username").attr("readonly","readonly");
$("#username").removeAttr("required");
}
getItemsToEdit($ajax_url,$item_id,$form_id,$cdn_url);
console.warn("Count calls");
});
//cancel and reset form when user chose to cancel
$(document).on("click",".cancel-reset, .just-reset", function(e,from){
$form = $(this).attr("data-formid");
$("#"+$form).trigger("reset");
$("#"+$form).find("input[type='hidden']").each(function(){
$(this).val("");
});
if($(this).attr("data-htmleditors")){
$editor = $(this).attr("data-htmleditors");
nicEditors.findEditor($editor).setContent("");
}
if($form=="frmQueries"){ //if frmQueries remove location tags as well
$("#"+$form).find(".location-input-holder").find(".locations").empty().html('
No location chosen
');
}
//for password field, add attribute required as in edit mode we have removed them
if($("#user_password").length>0) {
$("#user_password").attr("required","required");
$("#user_password").prev("label").find(".required").show();
}
if($("#username").length>0) {
$("#username").removeAttr("readonly");
}
if($(e.target).hasClass("just-reset")===false && from!="no-collapse"){
$('#add-edit').find('.collapse-link').trigger('click');
$(".just-reset").addClass("hide");
}
//if(typeof setTitle==="function"){ //for queries form
$(".req-what:checked").trigger("click");
$('.phone-email-holder').slideUp()
$('.budget-area-holder').slideUp();
//}
if($('.selectpicker').length>0){
$('.selectpicker').selectpicker('refresh');
}
if($("#agency_logo_path").length>0){
if($("#agency_logo_path").val()==""){
$("#preview-img").removeAttr("src");
$(".preview-img-div").addClass("hide");
}
}
if($("#agent_photo_path").length>0){
if($("#agent_photo_path").val()==""){
$("#agent-preview-img").removeAttr("src");
$(".agent-preview-img-div").addClass("hide");
}
}
var page = $(this).attr("data-page");
var user_type = $(this).attr("data-usertype");
if(page=="agencies" && user_type==2){
$("#add-edit").addClass("hide");
}else if(page=="list" && user_type==1){
$("#add-edit").addClass("hide");
}
});
//function to toggle item status
$(document).on("click",".toggle-status",function(){
$item_id = $(this).attr("data-id");
$ajax_url = $(this).attr("data-url");
$new_status = $(this).attr("data-changeto");
var obj = $(this);
$.ajax({
url: $ajax_url,
data: "item_id="+$item_id+"&new_status="+$new_status,
type: "post",
beforeSend: function(){
if(!$item_id>0){
alert("Item ID not found");
return false;
}
$(".gb-loader").show();
},
success: function(response){
$(".gb-loader").hide();
$response = $.trim(response);
if($response){
if($new_status==1){
$new_class = "btn-success";
$next_status = 0;
$new_text = "Active";
obj.parent("td").parent("tr").hide().removeClass("yellow-row").fadeIn("slow");
}else{
$new_class = "btn-danger";
$next_status = 1;
$new_text = obj.attr("data-newtext") || "Inactive";
obj.parent("td").parent("tr").hide().addClass("yellow-row").fadeIn("slow");
}
obj.attr("data-changeto", $next_status);
obj.removeClass("btn-success").removeClass("btn-danger").addClass($new_class).text($new_text);
}
}
});
});
//event to toggle the approved, is featured, etc status
$(document).on("click",".toggle-item",function(){
$item_id = $(this).attr("data-id");
$ajax_url = $(this).attr("data-url");
$new_status = $(this).attr("data-changeto");
var obj = $(this);
$.ajax({
url: $ajax_url,
data: "item_id="+$item_id+"&new_status="+$new_status,
type: "post",
beforeSend: function(){
if(!$item_id>0){
alert("Item ID not found");
return false;
}
$(".gb-loader").show();
},
success: function(response){
$(".gb-loader").hide();
$response = $.trim(response);
if($response){
if($new_status==1){
$new_class = "btn-default";
$next_status = 0;
$new_text = "";
}else{
$new_class = "btn-default";
$next_status = 1;
$new_text = "";
}
obj.attr("data-changeto", $next_status);
obj.removeClass("btn-success").removeClass("btn-danger").addClass($new_class).html($new_text);
}
}
});
});
$(".btn-dashboard-sms").on("click", function(){
if($("#frm-send-sms-db").length==0) return;
var isOk = true;
// evaluate the form using generic validaing
if (!validator.checkAll($("#frm-send-sms-db"))) {
isOk = false;
}
$ajax_url = $(this).attr("data-url");
if(isOk==true){
$.ajax({
url: $ajax_url,
type: "post",
data: $("#frm-send-sms-db").serialize(),
dataType: "json",
beforeSend: function(){
$(".gb-loader").show();
},
success: function(response){
$(".gb-loader").hide();
$("#db-sms-numbers").val("");
$("#db-sms-message").val("");
if(response.status=="error"){
$("#frm-send-sms-db").prev(".alert").empty().show().html("Error!
Could not send sms - "+response.message).removeClass("alert-success hide").addClass("alert-danger").fadeOut(8000);
}else{
$("#frm-send-sms-db").prev(".alert").empty().show().html("Success! SMS send successfully.").removeClass("alert-danger hide").addClass("alert-success").fadeOut(4000);
}
},
complete: function(){
$(".gb-loader").hide();
}
});
}
});
$("#db-sms-message, #template_text").on("keyup", function(){
$("#db-sms-char-count").html(""+$(this).val().length+"");
})
$("#user_type").on("change", function(){
var ut = $(this).val();
if(ut == 1){ //agent
$("#agencies-list-div").removeClass("hide");
$("#agent-about-div").removeClass("hide");
$("#agent-photo-div").removeClass("hide");
$(".only-for-agency").addClass("hide");
$("#agency_id").attr("required", "required");
}else if(ut == 2){ //agency
$("#agencies-list-div").addClass("hide");
$("#agent-about-div").addClass("hide");
$("#agent-photo-div").addClass("hide");
$(".only-for-agency").removeClass("hide");
$("#agency_id").removeAttr("required");
$("#agency_name").attr("required", "required");
$("#head_office").attr("required", "required");
$("#agency_phone_number").attr("required", "required");
$("#agency_status").attr("required", "required");
$("#about_agency").attr("required", "required");
}else{ //user
$("#agencies-list-div").addClass("hide");
$("#agent-about-div").addClass("hide");
$("#agent-photo-div").addClass("hide");
$(".only-for-agency").addClass("hide");
$("#agency_id").removeAttr("required");
$("#agency_name").removeAttr("required");
$("#head_office").removeAttr("required");
$("#agency_phone_number").removeAttr("required");
$("#agency_status").removeAttr("required");
$("#about_agency").removeAttr("required");
}
});
//Save/Update records in the database
$(".save-data").on("click", function(){
console.warn("save initiated");
$form_id = $(this).attr("data-formid");
$ajax_url = $(this).attr("data-url");
$validate_url = $(this).attr("data-validateurl");
$reloadPage = $(this).attr("data-reload") || true;
if($("#"+$form_id).length==0) return;
var isOk = true;
// evaluate the form using generic validaing
if (!validator.checkAll($("#"+$form_id))) {
isOk = false;
}
if($form_id == "frmDistributionList"){
var tags = $("#area_tag_id").val();
if(!tags>0){
$("button[data-id='area_tag_id']").addClass("bad-area-tag");
isOk = false;
}else{
$("button[data-id='area_tag_id']").removeClass("bad-area-tag");
isOk = true;
}
}else if($form_id == "frmUsers"){
if(isOk == true){
var uName = $("#username").val();
var eAddress = $("#email_address").val();
var user_id = $("#user_id").val();
$.ajax({
url: $validate_url,
type: "post",
dataType: "json",
data: "username="+uName+"&email_address="+eAddress+"&user_id="+user_id,
beforeSend: function(){
$(".gb-loader").show();
},
success: function(response){
if(response.status == "ok"){
$("#frmUsers").attr("action",$ajax_url).submit();
return false;
}else {
alert(response.message);
return false;
}
},
complete: function(){
$(".gb-loader").hide();
}
});
return false;
//$("#frmAgencies").submit();
}
}
if(isOk==true){
$.ajax({
url: $ajax_url,
type: "post",
data: $("#"+$form_id).serialize(),
dataType: "json",
beforeSend: function(){
$(".gb-loader").show();
},
success: function(response){
$(".gb-loader").hide();
if(response.status==="error"){
var errors = "";
for(var a=0; a";
}
$("#"+$form_id).prev(".alert").empty().show().html("Error!
"+errors).removeClass("alert-success hide").addClass("alert-danger").fadeOut(8000);
}else{
window.scrollTo(0,0);
$(".just-reset").trigger("click");
$("#"+$form_id).prev(".alert").empty().show().html("Success! Record saved successfully.").removeClass("alert-danger hide").addClass("alert-success").fadeOut(4000,function(){
if($reloadPage==true){
location.reload();
}else{
$(".cancel-reset").trigger("click","no-collapse");
}
});
}
}
});
}
});
});
function getItemsToEdit(ajax_url,item_id,form_id,cdn_url){
$ajax_url = ajax_url;
$item_id = item_id;
$form_id = form_id;
$cdn_url = cdn_url;
$.ajax({
url: $ajax_url,
data: "item_id="+$item_id,
type: "post",
dataType: "json",
beforeSend: function(){
if(!$item_id>0){
alert("Item ID not found");
return false;
}
$("#add-edit").removeClass("hide");
$(".gb-loader").show();
},
success: function(response){
$(".gb-loader").hide();
console.warn("TEST TEST TEST = "+$("#agency_logo_path").val());
$.each(response, function(key, value) {
console.warn("key = "+key+", value = "+value);
var element = $("#"+$form_id).find("#"+key);
if(key=="requirement"){
$("input[name='requirement'][value='"+value+"']").prop("checked",true);
}
if(key=="priority"){
$("input[name='priority'][value='"+value+"']").prop("checked",true);
}
if(key=="want_to"){
$("input[name='want_to'][value='"+value+"']").prop("checked",true);
}
if(element.length>0 && key!="user_password"){
var tag = element[0].tagName.toLowerCase();
var type = "";
//else if(tag=="input" && type=="file" && $cdn_url!="" && value!=null){
if(typeof element.attr("type")!="undefined"){
type = element.attr("type");
}
console.warn("Tag "+tag+", type = "+type+", Cdn url = "+$cdn_url+", Value = "+value);
if((tag=="input" && type!="checkbox" && type!="radio" && type!="file") || tag=="textarea" || tag=="select"){
if(element.attr("id")=="page_contents" || element.attr("id")=="news_body" || element.attr("id")=="news_body_short"){
element.val(value);
nicEditors.findEditor(element.attr("id")).setContent(value);
}else{
element.val(value);
}
}else if(tag=="input" && (type=="checkbox" || type=="radio")){
if(value==1){
element.prop("checked",true);
}else{
element.prop("checked",false);
}
}else if(tag=="input" && type=="file" && $cdn_url!="" && value!=null){
console.warn("FILE INPUT "+element.attr("data-imagefor"));
if(element.attr("data-imagefor")=="news"){
$("#preview-img").attr("src",$cdn_url+"media/news/thumbs/"+value);
$("#preview-img").parent().removeClass("hide");
}else if(element.attr("data-imagefor")=="agency"){
$("#preview-img").attr("src",$cdn_url+"media/agencies/logos/thumbs/"+value);
$("#preview-img").parent().removeClass("hide");
}else if(element.attr("data-imagefor")=="agent"){
$("#agent-preview-img").attr("src",$cdn_url+"media/agencies/agents/thumbs/"+value);
$("#agent-preview-img").parent().removeClass("hide");
}else{
if(key=="advert_image"){
$("#preview-img").attr("src",$cdn_url+"media/adverts/thumbs/"+value);
$("#preview-img").parent().removeClass("hide");
}
if(key=="advert_image_mobile"){
$("#preview-mobile-img").attr("src",$cdn_url+"media/adverts/thumbs/"+value);
$("#preview-mobile-img").parent().removeClass("hide");
}
}
}
}else{ //in case of queries, there is no respective location_ids field so handle it here
if(key=="location_ids"){
buildLocationTags(value);
}
}
if($form_id == "frmSmsTemplates"){
$("#db-sms-char-count").html(""+$("#template_text").val().length+"");
}
if($form_id == "frmUsers"){
/* var agency_logo_path = $("#agency_logo_path").val();
$("#preview-img").attr("src", agency_logo_path);
$(".preview-img-div").removeClass("hide");
var agent_photo_path = $("#agent_photo_path").val();
$("#agent-preview-img").attr("src", agent_photo_path);
$(".agent-preview-img-div").removeClass("hide");
*/
// data-formid="frmUsers" data-id="user_id?>"
var agencyid = $("a[data-id='"+$item_id+"']").attr("data-agencyid");
/* if(agencyid>0){
$("#user_type").val(1);
}*/
$("#user_type").trigger("change");
}
});
if($('.selectpicker').length>0){
$('.selectpicker').selectpicker('refresh');
}
$("#add-edit").find(".x_content").slideDown("fast");
$("#add-edit").find(".collapse-link").find("i").removeClass("fa-chevron-down").addClass("fa-chevron-up");
$('html, body').animate({
scrollTop: $("#add-edit").offset().top
}, 1000);
}
});
}
// $( '.property_block' ).each( function() {
// $( this ).find( 'figure img' ).load( function() {
// var imgWidth = $( this ).width();
// var ratio = 371/276;
// $( this ).closest( 'figure' ).css( 'height', imgWidth / ratio );
// });
// });