Skip to content
Snippets Groups Projects
Commit 35c2c119 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Correction de l'affichage des macros dans le Select2 pour le moteur Laminas.

parent 80096afb
No related branches found
No related tags found
No related merge requests found
Pipeline #38367 passed
...@@ -4,6 +4,7 @@ CHANGELOG ...@@ -4,6 +4,7 @@ CHANGELOG
7.0.6 7.0.6
----- -----
- [FIX] Plantage de TinyMCE à cause du `?php` oublié dans les `extended_valid_elements` : retrait car inutile au moteur par défaut de toute façon. - [FIX] Plantage de TinyMCE à cause du `?php` oublié dans les `extended_valid_elements` : retrait car inutile au moteur par défaut de toute façon.
- [FIX] Correction de l'affichage des macros dans le Select2 pour le moteur Laminas.
7.0.5 7.0.5
----- -----
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
} }
.macro-select { .macro-select {
width: 15rem; width: 30rem;
} }
.macro-selection-placeholder{ .macro-selection-placeholder{
display: none; display: none;
......
...@@ -39,9 +39,12 @@ function installMacrosWidgets(macros) ...@@ -39,9 +39,12 @@ function installMacrosWidgets(macros)
// installation du select2 dans le popover // installation du select2 dans le popover
let $macroSelect2; let $macroSelect2;
const escapeHTML = function(html) {
return document.createElement('div').appendChild(document.createTextNode(html)).parentNode.innerHTML;
};
const macroSelectTemplate = function (macro) { const macroSelectTemplate = function (macro) {
if (!macro) return "Aucune macro sélectionnée."; if (!macro) return "Aucune macro sélectionnée.";
return '<strong class="macro-id">' + macro.text + '</strong> : ' + '<code class="macro-value">' + macro.value + '</code><br>' + return '<strong class="macro-id">' + macro.text + '</strong> : ' + '<code class="macro-value">' + escapeHTML(macro.value) + '</code><br>' +
'<div class="macro-description text-secondary">' + macro.description + '</div>'; '<div class="macro-description text-secondary">' + macro.description + '</div>';
} }
try { try {
......
...@@ -60,7 +60,7 @@ class LaminasTemplateEngine extends AbstractTemplateEngine ...@@ -60,7 +60,7 @@ class LaminasTemplateEngine extends AbstractTemplateEngine
public function generateMacroSourceCode(Macro $macro): string public function generateMacroSourceCode(Macro $macro): string
{ {
return '<?php echo ' . $macro->getVariable() . '->' . $macro->getMethode() . ' ?>'; return '<?php echo $' . $macro->getVariable() . '->' . $macro->getMethode() . '() ?>';
} }
/** /**
......
<?php <?php
use UnicaenRenderer\Entity\Db\Template;
use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges; use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges;
/** /**
* @see \UnicaenRenderer\Controller\TemplateController::ajouterAction() * @see \UnicaenRenderer\Controller\TemplateController::ajouterAction()
* @see \UnicaenRenderer\Controller\TemplateController::modifierAction() * @see \UnicaenRenderer\Controller\TemplateController::modifierAction()
* *
* @var \Laminas\View\Renderer\PhpRenderer $this
* @var \UnicaenRenderer\Form\Template\TemplateForm $form * @var \UnicaenRenderer\Form\Template\TemplateForm $form
* @var \UnicaenRenderer\Entity\Db\Template $template * @var \UnicaenRenderer\Entity\Db\Template $template
* @var string $macros * @var string $macros
...@@ -128,10 +128,13 @@ $htmlEditorEnabled = ! $template->requiresTextEditing(); ...@@ -128,10 +128,13 @@ $htmlEditorEnabled = ! $template->requiresTextEditing();
<!--<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />--> <!--<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />-->
<!--<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>--> <!--<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>-->
<?php echo $this->macroInsert() ?> <?php
/** @var \UnicaenRenderer\View\Helper\MacroInsertViewHelper $macroInsertHelper */
$macroInsertHelper = $this->plugin('macroInsert');
echo $macroInsertHelper;
?>
<script> <script>
const macros = <?php echo $macrosJsonValue ?>; const macros = <?php echo $macrosJsonValue ?>;
console.log(macros);
$(function () { $(function () {
installMacrosWidgets(macros); installMacrosWidgets(macros);
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment