diff --git a/administrator/components/com_installer/src/Controller/ManageController.php b/administrator/components/com_installer/src/Controller/ManageController.php
index f305381a30f8f..9ebb2c1856b1c 100644
--- a/administrator/components/com_installer/src/Controller/ManageController.php
+++ b/administrator/components/com_installer/src/Controller/ManageController.php
@@ -153,7 +153,7 @@ public function refresh()
}
/**
- * Load the changelog for a given extension.
+ * Load the changelog for a given extension. Outputs HTML encoded in JSON.
*
* @return void
*
@@ -175,4 +175,26 @@ public function loadChangelog()
echo (new JsonResponse($output));
}
+
+ /**
+ * Load the changelog for a given extension. Outputs HTML.
+ *
+ * @return void
+ *
+ * @since __DEPLOY_VERSION__
+ */
+ public function loadChangelogRaw()
+ {
+ /** @var ManageModel $model */
+ $model = $this->getModel('manage');
+
+ $eid = $this->input->get('eid', 0, 'int');
+ $source = $this->input->get('source', 'manage', 'string');
+
+ if (!$eid) {
+ return;
+ }
+
+ echo $model->loadChangelog($eid, $source);
+ }
}
diff --git a/administrator/components/com_installer/tmpl/manage/default.php b/administrator/components/com_installer/tmpl/manage/default.php
index ff13700e212d6..ecbd3234d23ec 100644
--- a/administrator/components/com_installer/tmpl/manage/default.php
+++ b/administrator/components/com_installer/tmpl/manage/default.php
@@ -17,9 +17,9 @@
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->document->getWebAssetManager();
-$wa->useScript('com_installer.changelog')
- ->useScript('table.columns')
- ->useScript('multiselect');
+$wa->useScript('table.columns')
+ ->useScript('multiselect')
+ ->useScript('joomla.dialog-autocreate');
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
@@ -118,20 +118,18 @@
version)) : ?>
- changelogurl)) : ?>
-
- version?>
-
- extension_id,
- [
- 'title' => Text::sprintf('COM_INSTALLER_CHANGELOG_TITLE', $item->name, $item->version),
- ],
- ''
- );
+ changelogurl)) :
+ $popupOptions = [
+ 'popupType' => 'ajax',
+ 'textHeader' => Text::sprintf('COM_INSTALLER_CHANGELOG_TITLE', $item->name, $item->version),
+ 'src' => Route::_('index.php?option=com_installer&task=manage.loadChangelogRaw&eid=' . $item->extension_id . '&source=manage&format=raw', false),
+ 'width' => '800px',
+ 'height' => 'fit-content',
+ ];
?>
+
version; ?>
diff --git a/administrator/components/com_installer/tmpl/update/default.php b/administrator/components/com_installer/tmpl/update/default.php
index 8739374e6d6da..c5c5b4ef18618 100644
--- a/administrator/components/com_installer/tmpl/update/default.php
+++ b/administrator/components/com_installer/tmpl/update/default.php
@@ -19,7 +19,7 @@
$wa = $this->document->getWebAssetManager();
$wa->useScript('multiselect')
->useScript('table.columns')
- ->useScript('com_installer.changelog');
+ ->useScript('joomla.dialog-autocreate');
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
@@ -117,20 +117,18 @@
version; ?>
|
- changelogurl)) : ?>
-
-
-
- extension_id,
- [
- 'title' => Text::sprintf('COM_INSTALLER_CHANGELOG_TITLE', $item->name, $item->version),
- ],
- ''
- );
+ changelogurl)) :
+ $popupOptions = [
+ 'popupType' => 'ajax',
+ 'textHeader' => Text::sprintf('COM_INSTALLER_CHANGELOG_TITLE', $item->name, $item->version),
+ 'src' => Route::_('index.php?option=com_installer&task=manage.loadChangelogRaw&eid=' . $item->extension_id . '&source=update&format=raw', false),
+ 'width' => '800px',
+ 'height' => 'fit-content',
+ ];
?>
+
diff --git a/build/media_source/com_installer/joomla.asset.json b/build/media_source/com_installer/joomla.asset.json
index 11bc62d387616..3ca54fcb2b578 100644
--- a/build/media_source/com_installer/joomla.asset.json
+++ b/build/media_source/com_installer/joomla.asset.json
@@ -14,7 +14,9 @@
],
"attributes": {
"type": "module"
- }
+ },
+ "deprecated": true,
+ "deprecatedMsg": "Use joomla.dialog asset for changelog popup"
},
{
"name": "com_installer.installer",
|