186 lines
6.9 KiB
JavaScript
Executable File
186 lines
6.9 KiB
JavaScript
Executable File
;(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);
|
|
|