Merge pull request #11331 from Tithugues/templatingDisplayJavascript_master

Templating PMA_displayJavascript function.
This commit is contained in:
Marc Delisle 2015-07-29 10:22:53 -04:00
commit 7e44dc321a
3 changed files with 19 additions and 14 deletions

View File

@ -478,17 +478,15 @@ function PMA_addJsValidate($field_id, $validators, &$js_array)
function PMA_displayJavascript($js_array)
{
if (empty($js_array)) {
return;
return null;
}
$htmlOutput = '<script type="text/javascript">' . "\n"
. 'if (typeof configInlineParams === "undefined"'
. ' || !Array.isArray(configInlineParams)) configInlineParams = [];' . "\n"
. 'configInlineParams.push(function() {' . "\n"
. implode(";\n", $js_array) . ";\n"
. '});' . "\n"
. 'if (typeof configScriptLoaded !== "undefined"'
. ' && configInlineParams) loadInlineConfig();' . "\n"
. '</script>' . "\n";
require_once './libraries/Template.class.php';
$htmlOutput = PMA\Template::get('javascript/display')->render(
array('js_array' => $js_array,)
);
return $htmlOutput;
}

View File

@ -0,0 +1,7 @@
<script type="text/javascript">
if (typeof configInlineParams === "undefined" || !Array.isArray(configInlineParams)) configInlineParams = [];
configInlineParams.push(function() {
<?php echo implode(";\n", $js_array); ?>;
});
if (typeof configScriptLoaded !== "undefined" && configInlineParams) loadInlineConfig();
</script>

View File

@ -556,16 +556,16 @@ class PMA_FormDisplay_Tpl_Test extends PHPUnit_Framework_TestCase
$result = PMA_displayJavascript(array('var i = 1', 'i++'));
$this->assertEquals(
'<script type="text/javascript">' . "\n"
'<script type="text/javascript">'
. 'if (typeof configInlineParams === "undefined"'
. ' || !Array.isArray(configInlineParams)) configInlineParams = [];' . "\n"
. ' || !Array.isArray(configInlineParams)) '
. 'configInlineParams = [];' . "\n"
. 'configInlineParams.push(function() {' . "\n"
. 'var i = 1;' . "\n"
. 'i++;' . "\n"
. '});' . "\n"
. 'if (typeof configScriptLoaded !== "undefined"'
. ' && configInlineParams) loadInlineConfig();' . "\n"
. '</script>' . "\n",
. ' && configInlineParams) loadInlineConfig();</script>',
$result
);
}