/* global wp_mail_smtp_tools_debug_events, ajaxurl, flatpickr */ /** * WPMailSMTP Debug Events functionality. * * @since 3.0.0 */ 'use strict'; var WPMailSmtpDebugEvents = window.WPMailSmtpDebugEvents || ( function( document, window, $ ) { /** * Elements. * * @since 3.0.0 * * @type {object} */ var el = { $debugEventsPage: $( '.wp-mail-smtp-tab-tools-debug-events' ), $dateFlatpickr: $( '.wp-mail-smtp-filter-date-selector' ), }; /** * Public functions and properties. * * @since 3.0.0 * * @type {object} */ var app = { /** * Start the engine. * * @since 3.0.0 */ init: function() { $( app.ready ); }, /** * Document ready. * * @since 3.0.0 */ ready: function() { app.initDateRange(); app.events(); // Open debug event popup from the query string. var searchParams = new URLSearchParams( location.search ); if ( searchParams.has( 'debug_event_id' ) ) { app.openDebugEventPopup( searchParams.get( 'debug_event_id' ) ); } }, /** * Register JS events. * * @since 3.0.0 */ events: function() { el.$debugEventsPage.on( 'click', '#wp-mail-smtp-reset-filter .reset', app.resetFilter ); el.$debugEventsPage.on( 'click', '#wp-mail-smtp-delete-all-debug-events-button', app.deleteAllDebugEvents ); el.$debugEventsPage.on( 'click', '.js-wp-mail-smtp-debug-event-preview', app.eventClicked ); }, /** * Init Flatpickr at Date Range field. * * @since 3.0.0 */ initDateRange: function() { var langCode = wp_mail_smtp_tools_debug_events.lang_code, flatpickrLocale = { rangeSeparator: ' - ', }; if ( flatpickr !== 'undefined' && Object.prototype.hasOwnProperty.call( flatpickr, 'l10ns' ) && Object.prototype.hasOwnProperty.call( flatpickr.l10ns, langCode ) ) { flatpickrLocale = flatpickr.l10ns[ langCode ]; flatpickrLocale.rangeSeparator = ' - '; } el.$dateFlatpickr.flatpickr( { altInput : true, altFormat : 'M j, Y', dateFormat: 'Y-m-d', locale : flatpickrLocale, mode : 'range' } ); }, /** * Reset filter handler. * * @since 3.0.0 */ resetFilter: function() { var $form = $( this ).parents( 'form' ); $form.find( $( this ).data( 'scope' ) ).find( 'input,select' ).each( function() { var $this = $( this ); if ( app.isIgnoredForResetInput( $this ) ) { return; } app.resetInput( $this ); } ); // Submit the form. $form.submit(); }, /** * Reset input. * * @since 3.0.0 * * @param {object} $input Input element. */ resetInput: function( $input ) { switch ( $input.prop( 'tagName' ).toLowerCase() ) { case 'input': $input.val( '' ); break; case 'select': $input.val( $input.find( 'option' ).first().val() ); break; } }, /** * Input is ignored for reset. * * @since 3.0.0 * * @param {object} $input Input element. * * @returns {boolean} Is ignored. */ isIgnoredForResetInput: function( $input ) { return [ 'submit', 'hidden' ].indexOf( ( $input.attr( 'type' ) || '' ).toLowerCase() ) !== -1 && ! $input.hasClass( 'flatpickr-input' ); }, /** * Process the click on the delete all debug events button. * * @since 3.0.0 * * @param {object} event jQuery event. */ deleteAllDebugEvents: function( event ) { event.preventDefault(); var $btn = $( event.target ); $.confirm( { backgroundDismiss: false, escapeKey: true, animationBounce: 1, closeIcon: true, type: 'orange', icon: app.getModalIcon( 'exclamation-circle-solid-orange' ), title: wp_mail_smtp_tools_debug_events.texts.notice_title, content: wp_mail_smtp_tools_debug_events.texts.delete_all_notice, buttons: { confirm: { text: wp_mail_smtp_tools_debug_events.texts.yes, btnClass: 'btn-confirm', keys: [ 'enter' ], action: function() { app.executeAllDebugEventsDeletion( $btn ); } }, cancel: { text: wp_mail_smtp_tools_debug_events.texts.cancel, btnClass: 'btn-cancel', } } } ); }, /** * Process the click on the event item. * * @since 3.0.0 * * @param {object} event jQuery event. */ eventClicked: function( event ) { event.preventDefault(); app.openDebugEventPopup( $( this ).data( 'event-id' ) ); }, /** * Open debug event popup. * * @since 3.5.0 * * @param {int} eventId Debug event ID. */ openDebugEventPopup: function( eventId ) { var data = { action: 'wp_mail_smtp_debug_event_preview', id: eventId, nonce: $( '#wp-mail-smtp-debug-events-nonce', el.$debugEventsPage ).val() }; var popup = $.alert( { backgroundDismiss: true, escapeKey: true, animationBounce: 1, type: 'blue', icon: app.getModalIcon( 'info-circle-blue' ), title: false, content: wp_mail_smtp_tools_debug_events.loader, boxWidth: '550px', buttons: { confirm: { text: wp_mail_smtp_tools_debug_events.texts.close, btnClass: 'btn-confirm', keys: [ 'enter' ] } }, onOpenBefore: function() { this.$contentPane.addClass( 'no-scroll' ); } } ); $.post( ajaxurl, data, function( response ) { if ( response.success ) { popup.setTitle( response.data.title ); popup.setContent( response.data.content ); } else { popup.setIcon( app.getModalIcon( 'exclamation-circle-regular-red' ) ); popup.setType( 'red' ); popup.setContent( response.data ); } } ).fail( function() { popup.setContent( wp_mail_smtp_tools_debug_events.texts.error_occurred ); } ); }, /** * AJAX call for deleting all debug events. * * @since 3.0.0 * * @param {object} $btn jQuery object of the clicked button. */ executeAllDebugEventsDeletion: function( $btn ) { $btn.prop( 'disabled', true ); var data = { action: 'wp_mail_smtp_delete_all_debug_events', nonce: $( '#wp-mail-smtp-debug-events-nonce', el.$debugEventsPage ).val() }; $.post( ajaxurl, data, function( response ) { var message = response.data, icon, type, callback; if ( response.success ) { icon = 'check-circle-solid-green'; type = 'green'; callback = function() { location.reload(); return false; }; } else { icon = 'exclamation-circle-regular-red'; type = 'red'; } app.displayModal( message, icon, type, callback ); $btn.prop( 'disabled', false ); } ).fail( function() { app.displayModal( wp_mail_smtp_tools_debug_events.texts.error_occurred, 'exclamation-circle-regular-red', 'red' ); $btn.prop( 'disabled', false ); } ); }, /** * Display the modal with provided text and icon. * * @since 3.0.0 * * @param {string} message The message to be displayed in the modal. * @param {string} icon The icon name from /assets/images/font-awesome/ to be used in modal. * @param {string} type The type of the message (red, green, orange, blue, purple, dark). * @param {Function} actionCallback The action callback function. */ displayModal: function( message, icon, type, actionCallback ) { type = type || 'default'; actionCallback = actionCallback || function() {}; $.alert( { backgroundDismiss: true, escapeKey: true, animationBounce: 1, type: type, closeIcon: true, title: false, icon: icon ? app.getModalIcon( icon ) : '', content: message, buttons: { confirm: { text: wp_mail_smtp_tools_debug_events.texts.ok, btnClass: 'wp-mail-smtp-btn wp-mail-smtp-btn-md', keys: [ 'enter' ], action: actionCallback } } } ); }, /** * Returns prepared modal icon. * * @since 3.0.0 * * @param {string} icon The icon name from /assets/images/font-awesome/ to be used in modal. * * @returns {string} Modal icon HTML. */ getModalIcon: function( icon ) { return '"> Immobilier - Studyo.LB

Immobilier

Ma prestation pour l'Immobilier

Mettre en valeur votre bien

Quelque soit le type, le style ou l'état du bien que vous souhaitez vendre ou mettre en valeur, je mets mon savoir-faire, mon expérience et ma passion à votre disposition pour mener à bien votre projet 

Vous différencier de la concurrence

Le marché de l'immobilier est inondé de milliers d'images de mauvaise qualité, prises avec des appareils bas de gamme ou de smartphones et surtout des clichés aux rendus mal maîtrisés. Lors de mes prestations; la rigueur de mes prises de vue et la qualité de la post-production vous assurent un rendu d'images PROFESSIONNELLES qui vous démarqueront de vos concurrents. 

Surmonter les difficultés 

Bien que paraissant simple à première vue, la photographie immobilière demande une grande maîtrise des techniques professionnelles et une extrême rigueur dans la gestion de paramètres comme la luminosité, les perspectives, la composition de l'image et ce dans des conditions qui quelque fois peuvent sembler insurmontables à un amateur. Mon expérience dans ce domaine, me permet de vous assurer une prestation de qualité quelque soient les circonstances.


Réservez votre séance !

Clickez sur le bouton ci-dessous

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Dernières Parutions

Yannick LB

03/20/2025

MERCI !!!

MERCI !!!

Yannick LB

12/31/2023

BONNE ANNÉE 2024 !!!

BONNE ANNÉE 2024 !!!

Yannick LB

10/18/2023

CHLOÉ : Pro + Perso …

CHLOÉ : Pro + Perso …

Yannick LB

05/05/2023

NEW FACE : LOU …

NEW FACE : LOU …

Inscrivez-vous maintenant à la newsletter pour être informé des dernières nouvelles !

reseaux sociaux

contact

  • 5 allée des Roses, Saint Jean le Blanc, 45650, France 
  • contact@studyolb.com 

TRAVAUX PERSONNELS

©2025 STUDYO.LB,   Mentions légales