import { __ } from '@wordpress/i18n'; import { speak } from '@wordpress/a11y'; import { SELECTORS } from './constants'; import API from './classes/api'; import ControlSync from './classes/control/control-sync'; import ControlStates from './classes/control/control-states'; import ControlMeta from './classes/control/control-meta'; import OptimizationDetails from './classes/optimization-details'; class OptimizationControl { constructor() { this.controlSyncRequestInProgress = false; this.init(); this.controlSync = new ControlSync(); } init() { this.initEventListeners(); setInterval( () => this.runStatusCheckLoop(), 5000 ); } async runStatusCheckLoop() { if ( this.controlSyncRequestInProgress ) { return; } this.controlSyncRequestInProgress = true; await this.controlSync.run(); this.controlSyncRequestInProgress = false; } initEventListeners() { document.addEventListener( 'click', ( e ) => this.handleOptimizeButtonClick( e ) ); document.addEventListener( 'click', ( e ) => this.handleReoptimizeButtonClick( e ) ); document.addEventListener( 'click', ( e ) => this.handleRestoreButtonClick( e ) ); document.addEventListener( 'click', ( e ) => this.handleOptimizationDetailsOpen( e ) ); document.addEventListener( 'click', ( e ) => this.handleOptimizationDetailsClick( e ) ); } async handleOptimizeButtonClick( e ) { if ( ! e.target.closest( `${ SELECTORS.optimizeButtonSelector }, ${ SELECTORS.tryAgainOptimizeButtonSelector }` ) ) { return; } speak( __( 'Optimization is in progress', 'image-optimization' ), 'assertive' ); const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const states = new ControlStates( controlWrapper ); states.renderLoading( 'optimize' ); try { controlWrapper.dataset.isFrozen = true; await API.optimizeSingleImage( { imageId: new ControlMeta( controlWrapper ).getImageId(), reoptimize: false, } ); } catch ( error ) { states.renderError( error ); } } async handleReoptimizeButtonClick( e ) { if ( ! e.target.closest( `${ SELECTORS.reoptimizeButtonSelector }, ${ SELECTORS.tryAgainReoptimizeButtonSelector }` ) ) { return; } speak( __( 'Reoptimizing is in progress', 'image-optimization' ), 'assertive' ); const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const states = new ControlStates( controlWrapper ); states.renderLoading( 'reoptimize' ); try { controlWrapper.dataset.isFrozen = true; await API.optimizeSingleImage( { imageId: new ControlMeta( controlWrapper ).getImageId(), reoptimize: true, } ); } catch ( error ) { states.renderError( error ); } } async handleRestoreButtonClick( e ) { if ( ! e.target.closest( `${ SELECTORS.restoreButtonSelector }, ${ SELECTORS.tryAgainRestoreButtonSelector }` ) ) { return; } speak( __( 'Image restoring is in progress', 'image-optimization' ), 'assertive' ); const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const states = new ControlStates( controlWrapper ); states.renderLoading( 'restore' ); try { controlWrapper.dataset.isFrozen = true; await API.restoreSingleImage( new ControlMeta( controlWrapper ).getImageId() ); } catch ( error ) { states.renderError( error ); } } async handleOptimizationDetailsOpen( e ) { if ( ! e.target.closest( `${ SELECTORS.optimizationDetailsButtonSelector }` ) ) { return; } const controlWrapper = e.target.closest( SELECTORS.controlWrapperSelector ); const imageId = new ControlMeta( controlWrapper ).getImageId(); try { OptimizationDetails.initModal(); OptimizationDetails.renderLoading(); const details = await API.getOptimizationDetails( imageId ); OptimizationDetails.openModal(); OptimizationDetails.renderData( imageId, details ); } catch ( error ) { OptimizationDetails.openModal(); OptimizationDetails.renderError( error.message ); } } async handleOptimizationDetailsClick( e ) { if ( ! e.target.closest( `${ SELECTORS.optimizationDetailsOptimizeButtonSelector }` ) ) { return; } const imageId = parseInt( e.target.dataset?.imageId, 10 ); await API.optimizeSingleImage( { imageId } ); const controlWrapper = document.querySelector( `.image-optimization-control[data-image-optimization-image-id="${ imageId }"]` ); if ( controlWrapper ) { new ControlStates( controlWrapper ).renderLoading( 'optimize' ); } OptimizationDetails.closeModal(); } } export default OptimizationControl; Commentaires sur : Le goût du gras… une nouvelle saveur ! Peut-on la retrouver dans le Thé ? Ou peut-elle aller se « Gras Thé » ? https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/?utm_source=rss&utm_medium=rss&utm_campaign=le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the Apprenez facilement à choisir, préparer et déguster votre Thé ! Tue, 23 May 2017 07:46:14 +0000 hourly 1 https://wordpress.org/?v=5.7.21 Par : Clôture Carnaval d'articles "Mission: Détox" : "Nouveaux regards sur les matières grasses" https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/#comment-716 Tue, 23 May 2017 07:46:14 +0000 http://les-filles-du-the.com/?p=2109#comment-716 […] Oui ! je veux lire l'article de Mylène : Le goût du gras… une nouvelle saveur… […]

]]>
Par : Juliette et Mylène https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/#comment-714 Sun, 21 May 2017 20:49:11 +0000 http://les-filles-du-the.com/?p=2109#comment-714 En réponse à Hervé RV.

Merci à toi Hervé pour ton commentaire, comme je l’ai stipulé, il s’agit vraiment d’une sensation très légère dans le thé.

]]>
Par : Juliette et Mylène https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/#comment-713 Sun, 21 May 2017 20:47:42 +0000 http://les-filles-du-the.com/?p=2109#comment-713 En réponse à valerie 123degustez.

Merci Valérie Ton commentaire.
La dégustation de Thé japonais est plus propice à la découverte de la saveur Umami, très présente dans l’Asatsuyu du Parti du Thé. Faut-il encore que le Thé soit bien préparé.

Heureuses de te faire découvrir cette nouvelle saveur, qu’est l’oléogutus, à travers cet article, ainsi que les thés dans lesquels un soupçon de cette dernière est présent.

]]>
Par : valerie 123degustez https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/#comment-712 Sun, 21 May 2017 20:02:31 +0000 http://les-filles-du-the.com/?p=2109#comment-712 Bonsoir, je découvre l’oléogutus ! Déjà l’unami n’est pas facile à détecter … Merci pour cet éclairage qui me donne envie de gouter tous ces thés inconnus par mon palais grand amateur de thé !
A bientôt. Valérie

]]>
Par : Nouveaux regards sur les matières grasses https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/#comment-710 Fri, 19 May 2017 19:53:24 +0000 http://les-filles-du-the.com/?p=2109#comment-710 […] Mylène du blog Les filles des thés  dont l'article est : Le goût du gras…une nouvelle saveur ! […]

]]>
Par : Hervé RV https://les-filles-du-the.com/le-gout-du-gras-une-nouvelle-saveur-peut-on-la-retrouver-dans-le-the-ou-peut-elle-aller-se-gras-the/#comment-709 Fri, 19 May 2017 11:15:26 +0000 http://les-filles-du-the.com/?p=2109#comment-709 Bonjour Mylène, merci pour cet article intéressant et enrichissant dans lequel je découvre que le thé peut avoir des goûts de gras ! J’ignorais ! 🙂

]]>