Opal-Estate-Pro/assets/js/frontend/dashboard.js

186 lines
6.9 KiB
JavaScript
Raw Permalink Normal View History

2019-09-10 06:27:33 +02:00
;(function ($, settings) {
"use strict";
if (window.Opalestate === undefined) {
window.Opalestate = {};
}
/**
* GooglemapSearch
*/
var AgencyUpdateProfile = Opalestate.AgencyUpdateProfile = function ( form ) {
/**
* Create Google Map In Single Property Only
*/
function getFormData () {
var formData = new FormData();
formData.append('section', 'general');
$(".cmb2-uploader-files").each( function(){
var file_btn = $( 'input.select-file', this );
var files = $(".uploader-item-preview", this );
var name = $(this).data( 'name' );
var issingle = $( this ).data('single');
$(files).each( function( i , element ){
var file = $(this).prop( 'file');
if( file ) {
if( issingle ){
formData.append( name, file );
} else {
formData.append( name+"["+i+"]", file );
}
}
} );
});
return formData;
}
function toggleSubmit ( _this ){
if( $( _this ).attr('disabled') == "disabled" ){
$( _this ).removeAttr( 'disabled' );
$(_this).find('i').remove( );
} else {
$( _this ).attr('disabled','disabled');
$(_this).append( ' <i class="fa fa-spinner fa-spin"></i> ' );
}
};
function makeAjax( formData, $submit_btn ) {
$.ajax({
url : opalesateJS.ajaxurl,
data : formData,
type : 'POST',
processData: false,
contentType: false,
dataType: "json",
success : function( response ){
if( response.status == true ){
if( response.redirect ){
window.location.href = response.redirect;
}
var myToast = $.toast({
heading: response.heading,
text: response.message,
icon: 'success',
position: 'bottom-right',
hideAfter: 5000,
showHideTransition: 'fade',
});
} else {
toggleSubmit( $submit_btn );
var myToast = $.toast({
heading: response.heading,
text: response.message,
icon: 'error',
position: 'bottom-right',
hideAfter: 5000,
showHideTransition: 'fade'
});
}
}
});
}
var init = function ( form ){
$( form ).on( "submit", function(){
if( typeof(tinyMCE) != "undefined" ) {
tinyMCE.triggerSave();
}
toggleSubmit( $("button:submit" , form ) ) ;
var formData = getFormData();
var dataSubmit = $( form ).serializeArray();
$.each( dataSubmit, function ( key, input ) {
formData.append( input.name, input.value );
});
makeAjax( formData, $("button:submit" , form ) )
return false;
} );
}
init( form );
}
/////
$(document).ready(function () {
/// update agency profile
if( $("#opalestate_ofe_front").length > 0 ){
new AgencyUpdateProfile( $("#opalestate_ofe_front") );
}
// update agent profile
if( $("#opalestate_agt_front").length > 0 ){
new AgencyUpdateProfile( $("#opalestate_agt_front") );
}
if( $("#opalestate_user_front").length > 0 ){
new AgencyUpdateProfile( $("#opalestate_user_front") );
}
if( $("#opalestate-add-team-form").length > 0 ){
function formatRepo (repo) {
if ( repo.loading ) {
return repo.text;
}
var markup = "<div class='select2-search-member clearfix'>" +
"<div class='avatar'><img width=\"50\" src='" + repo.avatar_url + "' /></div>" +
"<div class='member-meta'>" +
"<div class='member-title'>" + repo.full_name + "</div>";
markup += "</div></div>";
return markup;
}
function formatRepoSelection (repo) {
return repo.full_name || repo.text;
}
function load_select2_member ( id, action ) {
$( id ).select2({
width: '100%',
ajax: {
url: opalesateJS.ajaxurl+"?action="+action,
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
placeholder: 'Search for a repository',
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo,
templateSelection: formatRepoSelection
});
}
load_select2_member( ".opalesate-find-user", 'opalestate_search_property_users');
}
} );
})(jQuery);