Origin commit
This commit is contained in:
186
assets/js/frontend/dashboard.js
Executable file
186
assets/js/frontend/dashboard.js
Executable file
@@ -0,0 +1,186 @@
|
||||
;(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);
|
||||
|
||||
Reference in New Issue
Block a user