Load core editor setting as the base settings for the email editor

[MAILPOET-5660]
This commit is contained in:
Rostislav Wolny
2023-10-19 12:44:34 +02:00
committed by Jan Lysý
parent b4b7a5b6d2
commit 9f0e015f44
2 changed files with 12 additions and 11 deletions

View File

@@ -1,11 +1,5 @@
import { SETTINGS_DEFAULTS } from '@wordpress/block-editor';
import { EmailEditorSettings } from './types'; import { EmailEditorSettings } from './types';
export function getEditorSettings(): EmailEditorSettings { export function getEditorSettings(): EmailEditorSettings {
const settings = window.MailPoetEmailEditor return window.MailPoetEmailEditor.editor_settings as EmailEditorSettings;
.editor_settings as EmailEditorSettings;
// eslint-disable-next-line no-underscore-dangle
settings.__experimentalFeatures.color.palette.default =
SETTINGS_DEFAULTS.colors;
return settings;
} }

View File

@@ -13,9 +13,6 @@ class SettingsController {
]; ];
const DEFAULT_SETTINGS = [ const DEFAULT_SETTINGS = [
'enableCustomSpacing' => true,
'enableCustomLineHeight' => true,
'disableCustomFontSizes' => false,
'enableCustomUnits' => ['px', '%'], 'enableCustomUnits' => ['px', '%'],
'__experimentalFeatures' => [ '__experimentalFeatures' => [
'color' => [ 'color' => [
@@ -41,9 +38,19 @@ class SettingsController {
} }
public function getSettings(): array { public function getSettings(): array {
$settings = self::DEFAULT_SETTINGS; $coreDefaultSettings = get_default_block_editor_settings();
$coreThemeData = \WP_Theme_JSON_Resolver::get_core_data();
$coreSettings = $coreThemeData->get_settings();
// Enable custom spacing
$coreSettings['spacing']['units'] = ['px'];
$coreSettings['spacing']['padding'] = true;
$settings = array_merge($coreDefaultSettings, self::DEFAULT_SETTINGS);
$settings['allowedBlockTypes'] = self::ALLOWED_BLOCK_TYPES; $settings['allowedBlockTypes'] = self::ALLOWED_BLOCK_TYPES;
$settings['defaultEditorStyles'] = [[ 'css' => $this->stylesController->getEmailContentStyles() ]]; $settings['defaultEditorStyles'] = [[ 'css' => $this->stylesController->getEmailContentStyles() ]];
$settings['__experimentalFeatures'] = $coreSettings;
return $settings; return $settings;
} }
} }