HEX
Server: Apache
System: Linux www 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64
User: root (0)
PHP: 8.2.1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals
Upload Files
File: /mnt/drbd/www/edenhouse/wp-content/plugins/essential-blocks/lib/global-styles/src/store/index.js
/**
 * Store Setup
 */
import {
    createReduxStore,
    register,
    select,
    subscribe,
    dispatch,
    useSelect
} from '@wordpress/data';

/**
 * Import Constants
 */
import {
    globalColorKey,
    customColorKey,
    gradientColorKey,
    customGradientColorKey,
    globalTypoKey
} from "./constant"

import { getGlobalSettings } from "../helpers/helpers"

/**
 * Import Fetch Functions
 */
import {
    updateGlobalStyle
} from '../fetch';

import * as actions from "./actions"
import * as selectors from "./selectors"
import * as controls from "./controls"
import * as resolvers from "./resolvers"
import reducer from "./reducer"

/**
 * Create WP Redux Store
 */
const store = createReduxStore(
    'essential-blocks',
    {
        reducer,
        actions,
        selectors,
        controls,
        resolvers
    }
);

register(store);


/**
 * Save Global Values on Save Page/Post
 */

subscribe(() => {
    const isSavingPost = select('core/editor').isSavingPost();
    const isAutosavingPost = select('core/editor').isAutosavingPost();

    const ebIsSaving = select('essential-blocks').getIsSaving()

    if (!ebIsSaving || isAutosavingPost || !isSavingPost) {
        return;
    }

    const globals = getGlobalSettings()
    const allData = {
        [globalColorKey]: globals?.getGlobalColors,
        [customColorKey]: globals?.getCustomColors,
        [gradientColorKey]: globals?.getGradientColors,
        [customGradientColorKey]: globals?.getCustomGradientColors,
        [globalTypoKey]: globals?.getGlobalTypography
    }

    let response = updateGlobalStyle(allData);

    //setIsSaving to 'false' so that 'updateGlobalStyle' won't run multiple times
    dispatch('essential-blocks').setIsSaving(false)
});