diff --git a/VERSIONS_HOTLINE/151880 b/VERSIONS_HOTLINE/151880 new file mode 100644 index 0000000000000000000000000000000000000000..17b24f79761d3f12b8b157d004ec18052f6e0fc2 --- /dev/null +++ b/VERSIONS_HOTLINE/151880 @@ -0,0 +1 @@ + - correctif #151880 : Magasin de thèmes : Administration : correction du comportement des configurations automatiques des carrousels. \ No newline at end of file diff --git a/library/ZendAfi/Form/Configuration/Widget/Base.php b/library/ZendAfi/Form/Configuration/Widget/Base.php index 9fabf19ce0e098eb54e92d7c7536a871c214f814..0d68e05eadb29ccdc67e41640d7b840f851f6e34 100644 --- a/library/ZendAfi/Form/Configuration/Widget/Base.php +++ b/library/ZendAfi/Form/Configuration/Widget/Base.php @@ -21,6 +21,14 @@ class ZendAfi_Form_Configuration_Widget_Base extends ZendAfi_Form_Configuration_Base { + + + public function __construct($options = null) { + parent::__construct($options); + $this->_doAfterInit(); + } + + public function init() { parent::init(); @@ -44,4 +52,9 @@ class ZendAfi_Form_Configuration_Widget_Base extends ZendAfi_Form_Configuration_ public function customPopulate($datas, $form = null) { return $this; } + + + protected function _doAfterInit() : self { + return $this; + } } \ No newline at end of file diff --git a/library/templates/Intonation/Library/Widget/Carousel/Form.php b/library/templates/Intonation/Library/Widget/Carousel/Form.php index f0c6d431a8c1e6bab6c5a7848165b7b1ac58f5a6..5ab95bca0d3fc0a65a3b4b80c85fd0b45a828b5d 100644 --- a/library/templates/Intonation/Library/Widget/Carousel/Form.php +++ b/library/templates/Intonation/Library/Widget/Carousel/Form.php @@ -22,6 +22,16 @@ class Intonation_Library_Widget_Carousel_Form extends ZendAfi_Form_Configuration_Widget_Base { + + protected function _doAfterInit() : self { + Class_ScriptLoader::getInstance() + ->addJQueryReady(sprintf('$("#layout").closest("form").onChangeDoSideEffects(%s);', + file_get_contents(__DIR__ . '/../../../Assets/js/onChangeDoSideEffects/side_effects.js'))); + + return parent::_doAfterInit(); + } + + public function init() { parent::init(); @@ -37,10 +47,7 @@ class Intonation_Library_Widget_Carousel_Form extends ZendAfi_Form_Configuration ->addJQueryReady(sprintf('formSelectToggleVisibilityForElement("#layout", $("#order").closest("tr"), ["%s"]);', $this->_getLayoutsWithoutTimeline())) - ->addScripts([Class_Url::absolute('/library/templates/Intonation/Assets/js/onChangeDoSideEffects/onChangeDoSideEffects.js')]) - - ->addJQueryReady(sprintf('$("#layout").closest("form").onChangeDoSideEffects(%s);', - file_get_contents(__DIR__ . '/../../../Assets/js/onChangeDoSideEffects/side_effects.js'))); + ->addScripts([Class_Url::absolute('/library/templates/Intonation/Assets/js/onChangeDoSideEffects/onChangeDoSideEffects.js')]); $this diff --git a/tests/scenarios/Templates/TemplatesArticlesTest.php b/tests/scenarios/Templates/TemplatesArticlesTest.php index a2bf4bcd3148362d2ff2615c1e824eb3de4607f5..c2bb2725a3ac77c67ca91b1ff05243837207aa8c 100644 --- a/tests/scenarios/Templates/TemplatesArticlesTest.php +++ b/tests/scenarios/Templates/TemplatesArticlesTest.php @@ -127,8 +127,8 @@ class TemplatesArticlesEditWidgetTest extends TemplatesArticlesWidgetTestCase { /** @test */ - public function onChangeDoSideEffectsScriptShouldBePresent() { - $this->assertXPathContentContains('//script', '$(function(){$("#layout").closest("form").onChangeDoSideEffects({\'input\' : \'#layout\', + public function onChangeDoSideEffectsScriptShouldBePresentAfterInitScripts() { + $this->assertXPathContentContains('//script[contains(text(), \'$(function(){formSelectToggleVisibilityForElement("#layout", $("#cycle").closest("tr"), ["carousel", "multiple_carousel", "multiple_carousel_plus"]);});\')]/following-sibling::script', '$(function(){$("#layout").closest("form").onChangeDoSideEffects({\'input\' : \'#layout\', \'side_effects\' : [ {\'value\' : \'accordion\',