Fix empty Richeditor class lists from breaking widget (#4725)
This commit is contained in:
parent
8da798a5cd
commit
e97057246a
|
|
@ -1,10 +1,12 @@
|
|||
<?php namespace Backend\FormWidgets;
|
||||
|
||||
use App;
|
||||
use Config;
|
||||
use File;
|
||||
use Event;
|
||||
use Lang;
|
||||
use Request;
|
||||
use Backend;
|
||||
use BackendAuth;
|
||||
use Backend\Classes\FormWidgetBase;
|
||||
use Backend\Models\EditorSetting;
|
||||
|
|
@ -131,7 +133,16 @@ class RichEditor extends FormWidgetBase
|
|||
{
|
||||
$this->addCss('css/richeditor.css', 'core');
|
||||
$this->addJs('js/build-min.js', 'core');
|
||||
$this->addJs('js/build-plugins-min.js', 'core');
|
||||
|
||||
if (Config::get('develop.decompileBackendAssets', false)) {
|
||||
$scripts = Backend::decompileAsset($this->getAssetPath('js/build-plugins.js'));
|
||||
foreach ($scripts as $script) {
|
||||
$this->addJs($script, 'core');
|
||||
}
|
||||
} else {
|
||||
$this->addJs('js/build-plugins-min.js', 'core');
|
||||
}
|
||||
|
||||
$this->addJs('/modules/backend/formwidgets/codeeditor/assets/js/build-min.js', 'core');
|
||||
|
||||
if ($lang = $this->getValidEditorLang()) {
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@
|
|||
<?php if ($noWrapTags): ?>data-no-wrap-tags="<?= e($noWrapTags) ?>"<?php endif ?>
|
||||
<?php if ($removeTags): ?>data-remove-tags="<?= e($removeTags) ?>"<?php endif ?>
|
||||
<?php if ($lineBreakerTags): ?>data-line-breaker-tags="<?= e($lineBreakerTags) ?>"<?php endif ?>
|
||||
<?php if ($imageStyles): ?>data-image-styles="<?= e(json_encode($imageStyles)) ?>"<?php endif ?>
|
||||
<?php if ($linkStyles): ?>data-link-styles="<?= e(json_encode($linkStyles)) ?>"<?php endif ?>
|
||||
<?php if ($paragraphStyles): ?>data-paragraph-styles="<?= e(json_encode($paragraphStyles)) ?>"<?php endif ?>
|
||||
<?php if ($tableStyles): ?>data-table-styles="<?= e(json_encode($tableStyles)) ?>"<?php endif ?>
|
||||
<?php if ($tableCellStyles): ?>data-table-cell-styles="<?= e(json_encode($tableCellStyles)) ?>"<?php endif ?>
|
||||
<?php if (isset($imageStyles)): ?>data-image-styles="<?= e(json_encode($imageStyles)) ?>"<?php endif ?>
|
||||
<?php if (isset($linkStyles)): ?>data-link-styles="<?= e(json_encode($linkStyles)) ?>"<?php endif ?>
|
||||
<?php if (isset($paragraphStyles)): ?>data-paragraph-styles="<?= e(json_encode($paragraphStyles)) ?>"<?php endif ?>
|
||||
<?php if (isset($tableStyles)): ?>data-table-styles="<?= e(json_encode($tableStyles)) ?>"<?php endif ?>
|
||||
<?php if (isset($tableCellStyles)): ?>data-table-cell-styles="<?= e(json_encode($tableCellStyles)) ?>"<?php endif ?>
|
||||
data-links-handler="<?= $this->getEventHandler('onLoadPageLinksForm') ?>"
|
||||
data-ace-vendor-path="<?= Url::asset('/modules/backend/formwidgets/codeeditor/assets/vendor/ace') ?>"
|
||||
data-control="richeditor">
|
||||
|
|
|
|||
|
|
@ -128,9 +128,14 @@ class EditorSetting extends Model
|
|||
$defaultValue = $instance->getDefaultValue($key);
|
||||
|
||||
if (is_array($value)) {
|
||||
$value = array_build($value, function ($key, $value) {
|
||||
return [array_get($value, 'class_name'), array_get($value, 'class_label')];
|
||||
});
|
||||
$value = array_filter(array_build($value, function ($key, $value) {
|
||||
if (array_has($value, ['class_name', 'class_label'])) {
|
||||
return [
|
||||
array_get($value, 'class_name'),
|
||||
array_get($value, 'class_label')
|
||||
];
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
return $value != $defaultValue ? $value : $default;
|
||||
|
|
|
|||
Loading…
Reference in New Issue