Commit 48cde2db authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Les scripts js ne sont plus systématiquement inclus dans <head> (trop de...

Les scripts js ne sont plus systématiquement inclus dans <head> (trop de requêtes intempestives sur toutes les pages) mais en "inline" par l'aide de vue IdrefPopupTriggerViewHelper si besoin.
parent ce77ba4e
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

2.2.0
-----
- Les scripts js ne sont plus systématiquement inclus dans <head> (trop de requêtes intempestives sur toutes les pages) 
  mais en "inline" par l'aide de vue IdrefPopupTriggerViewHelper si besoin.

2.1.0
-----
- Suppression de la dépendance avec laminas/laminas-dependency-plugin.
+5 −5
Original line number Diff line number Diff line
@@ -89,11 +89,11 @@ return [
     * Les chemins ci-dessous sont donc relatifs au dossier racine de l'appli.
     */
    'public_files' => [
        'head_scripts' => [
            '099_unicaen-idref_js_1' => '/unicaen/idref/js/formulaire.js',
            '099_unicaen-idref_js_2' => '/unicaen/idref/js/subModal.js',
            '099_unicaen-idref_js_3' => '/unicaen/idref/js/trigger.js',
        ],
//        'head_scripts' => [
//            '099_unicaen-idref_js_1' => '/unicaen/idref/js/formulaire.js',
//            '099_unicaen-idref_js_2' => '/unicaen/idref/js/subModal.js',
//            '099_unicaen-idref_js_3' => '/unicaen/idref/js/trigger.js',
//        ],
        'stylesheets' => [
            '099_unicaen-idref_css_1' => '/unicaen/idref/css/subModal.css',
            '099_unicaen-idref_css_2' => '/unicaen/idref/css/trigger.css',
+24 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ class IdrefPopupTriggerViewHelper extends AbstractHelper
        $this->sourceElements = $sourceElements;
        $this->destinationElement = $destinationElement;

        $this->attachInlineScripts();

        return $this;
    }

@@ -81,4 +83,26 @@ class IdrefPopupTriggerViewHelper extends AbstractHelper
            'params' => $this->params,
        ]);
    }

    /**
     * Inscrit les scripts js "inline" nécessaires si ce n'est pas déjà fait.
     */
    protected function attachInlineScripts(): void
    {
        /** @var \Laminas\View\Helper\InlineScript $helper */
        $helper = $this->view->plugin('inlineScript');

        $prefix = __NAMESPACE__ . '\\';

        $scripts = [
            1 => 'unicaen/idref/js/formulaire.js',
            2 => 'unicaen/idref/js/subModal.js',
            3 => 'unicaen/idref/js/trigger.js',
        ];
        foreach ($scripts as $i => $script) {
            if (!$helper->offsetExists($offset = $prefix . $i)) {
                $helper->offsetSetFile($offset, $this->view->basePath($script));
            }
        }
    }
}
 No newline at end of file