diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3bd2dc948..17a2091a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
-# v4.0.2-beta1
+# v4.0.2-beta2
+
+- Fix dynamicGet so that the table values will load again. #1155
+
+# v4.0.2-beta
- Fix abstract schema class function check default index warring
diff --git a/ComponentbuilderInstallerScript.php b/ComponentbuilderInstallerScript.php
index 3f8526090..414aa5449 100644
--- a/ComponentbuilderInstallerScript.php
+++ b/ComponentbuilderInstallerScript.php
@@ -3270,7 +3270,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
echo '
-
Upgrade to Version 4.0.2-beta1 Was Successful! Let us know if anything is not working as expected.
';
+ Upgrade to Version 4.0.2-beta2 Was Successful! Let us know if anything is not working as expected.
';
// Add/Update component in the action logs extensions table.
$this->setActionLogsExtensions();
diff --git a/README.md b/README.md
index b3fee0b77..378a47e86 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
-You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (4.0.2-beta1) with **ALL** its features and **ALL** concepts totally open-source and free!
+You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (4.0.2-beta2) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@@ -145,13 +145,13 @@ TODO
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 1st August, 2024
-+ *Version*: 4.0.2-beta1
++ *Version*: 4.0.2-beta2
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **791490**
++ *Line count*: **791516**
+ *Field count*: **2093**
-+ *File count*: **5500**
-+ *Folder count*: **540**
++ *File count*: **5505**
++ *Folder count*: **544**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
diff --git a/admin/README.txt b/admin/README.txt
index b3fee0b77..378a47e86 100644
--- a/admin/README.txt
+++ b/admin/README.txt
@@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
-You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (4.0.2-beta1) with **ALL** its features and **ALL** concepts totally open-source and free!
+You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (4.0.2-beta2) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@@ -145,13 +145,13 @@ TODO
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 1st August, 2024
-+ *Version*: 4.0.2-beta1
++ *Version*: 4.0.2-beta2
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **791490**
++ *Line count*: **791516**
+ *Field count*: **2093**
-+ *File count*: **5500**
-+ *Folder count*: **540**
++ *File count*: **5505**
++ *Folder count*: **544**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
diff --git a/admin/compiler/joomla_4/API_VIEWS_CONTROLLER.php b/admin/compiler/joomla_4/API_VIEWS_CONTROLLER.php
new file mode 100644
index 000000000..8a93e6b90
--- /dev/null
+++ b/admin/compiler/joomla_4/API_VIEWS_CONTROLLER.php
@@ -0,0 +1,45 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this JCB template file (EVER)
+defined('_JCB_TEMPLATE') or die;
+?>
+###BOM###
+namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\Controller;
+
+###API_VIEWS_CONTROLLER_HEADER###
+
+// No direct access to this file
+\defined('_JEXEC') or die;
+
+/**
+ * ###Views### Api Controller
+ *
+ * @since 4.0.0
+ */
+class ###Views###Controller extends ApiController
+{
+ /**
+ * The content type of the item.
+ *
+ * @var string
+ * @since 4.0.0
+ */
+ protected $contentType = '###views###';
+
+ /**
+ * The default view for the display method.
+ *
+ * @var string
+ * @since 3.0
+ */
+ protected $default_view = '###views###';
+}
\ No newline at end of file
diff --git a/admin/compiler/joomla_4/API_VIEWS_JSON.php b/admin/compiler/joomla_4/API_VIEWS_JSON.php
new file mode 100644
index 000000000..8a6b17dfa
--- /dev/null
+++ b/admin/compiler/joomla_4/API_VIEWS_JSON.php
@@ -0,0 +1,30 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this JCB template file (EVER)
+defined('_JCB_TEMPLATE') or die;
+?>
+###BOM###
+namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\View\###Views###;
+
+###API_VIEWS_JSON_HEADER###
+
+// No direct access to this file
+\defined('_JEXEC') or die;
+
+/**
+ * ###Component### Json View class for the ###Views###
+ *
+ * @since 4.0.0
+ */
+class JsonapiView extends BaseApiView
+{
+}
diff --git a/admin/compiler/joomla_4/API_VIEW_CONTROLLER.php b/admin/compiler/joomla_4/API_VIEW_CONTROLLER.php
new file mode 100644
index 000000000..41191d491
--- /dev/null
+++ b/admin/compiler/joomla_4/API_VIEW_CONTROLLER.php
@@ -0,0 +1,72 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this JCB template file (EVER)
+defined('_JCB_TEMPLATE') or die;
+?>
+###BOM###
+namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\Controller;
+
+###API_VIEW_CONTROLLER_HEADER###
+
+// No direct access to this file
+\defined('_JEXEC') or die;
+
+/**
+ * ###View### Api Controller
+ *
+ * @since 4.0.0
+ */
+class ###View###Controller extends ApiController
+{
+ /**
+ * The content type of the item.
+ *
+ * @var string
+ * @since 4.0.0
+ */
+ protected $contentType = '###view###';
+
+ /**
+ * The default view for the display method.
+ *
+ * @var string
+ * @since 3.0
+ */
+ protected $default_view = '###view###';
+
+ /**
+ * Method override to check if you can add a new record.
+ *
+ * @param array $data An array of input data.
+ *
+ * @return boolean
+ *
+ * @since 1.6
+ */
+ protected function allowAdd($data = [])
+ {###JCONTROLLERFORM_ALLOWADD###
+ }
+
+ /**
+ * Method override to check if you can edit an existing record.
+ *
+ * @param array $data An array of input data.
+ * @param string $key The name of the key for the primary key.
+ *
+ * @return boolean
+ *
+ * @since 1.6
+ */
+ protected function allowEdit($data = [], $key = 'id')
+ {###JCONTROLLERFORM_ALLOWEDIT###
+ }
+}
diff --git a/admin/compiler/joomla_4/API_VIEW_JSON.php b/admin/compiler/joomla_4/API_VIEW_JSON.php
new file mode 100644
index 000000000..f3ead9b89
--- /dev/null
+++ b/admin/compiler/joomla_4/API_VIEW_JSON.php
@@ -0,0 +1,30 @@
+
+ * @git Joomla Component Builder
+ * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+// No direct access to this JCB template file (EVER)
+defined('_JCB_TEMPLATE') or die;
+?>
+###BOM###
+namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\View\###View###;
+
+###API_VIEW_JSON_HEADER###
+
+// No direct access to this file
+\defined('_JEXEC') or die;
+
+/**
+ * ###View### Json View class
+ *
+ * @since 4.0.0
+ */
+class JsonapiView extends BaseApiView
+{
+}
diff --git a/admin/compiler/joomla_4/settings.json b/admin/compiler/joomla_4/settings.json
index dfc6be80c..453a3ab4f 100644
--- a/admin/compiler/joomla_4/settings.json
+++ b/admin/compiler/joomla_4/settings.json
@@ -33,6 +33,12 @@
},
"tmpl": "tmpl"
},
+ "api": {
+ "src": {
+ "Controller": "Controller",
+ "View": "View"
+ }
+ },
"site": {
"assets": {
"css": "css",
@@ -564,6 +570,32 @@
"type": "javascript_file"
}
},
+ "api": {
+ "API_VIEW_CONTROLLER.php": {
+ "path": "c0mp0n3nt/api/src/Controller",
+ "rename": "new",
+ "newName": "[[[Name]]]Controller.php",
+ "type": "single"
+ },
+ "API_VIEW_JSON.php": {
+ "path": "c0mp0n3nt/api/src/View/[[[Name]]]",
+ "rename": "new",
+ "newName": "JsonapiView.php",
+ "type": "single"
+ },
+ "API_VIEWS_CONTROLLER.php": {
+ "path": "c0mp0n3nt/api/src/Controller",
+ "rename": "new",
+ "newName": "[[[Name]]]Controller.php",
+ "type": "list"
+ },
+ "API_VIEWS_JSON.php": {
+ "path": "c0mp0n3nt/api/src/View/[[[Name]]]",
+ "rename": "new",
+ "newName": "JsonapiView.php",
+ "type": "list"
+ }
+ },
"site": {
"SITE_VIEWS_HTML.php": {
"path": "c0mp0n3nt/site/src/View/[[[Name]]]",
diff --git a/admin/sql/updates/mysql/4.0.2-beta.sql b/admin/sql/updates/mysql/4.0.2-beta.sql
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/admin/sql/updates/mysql/4.0.2-beta.sql
@@ -0,0 +1 @@
+
diff --git a/admin/tmpl/dynamic_get/default.php b/admin/tmpl/dynamic_get/default.php
index ba88c807a..d3f069ee3 100644
--- a/admin/tmpl/dynamic_get/default.php
+++ b/admin/tmpl/dynamic_get/default.php
@@ -638,44 +638,47 @@ jQuery('#adminForm').on('change', '#jform_gettype',function (e)
-
- 'Db','view' => 'View'); ?>
+
+ 'Db', 'view' => 'View'); ?>
// for the vlaues already set
-jQuery(document).ready(function(){
- $funcName): ?>
-
- updateSubItems('', , '_', '_');
-
-
+document.addEventListener('DOMContentLoaded', function() {
+ $funcName): ?>
+
+ updateSubItems('', , '_', '_');
+
+
});
// for the values the will still be set
-jQuery(document).ready(function(){
- jQuery(document).on('subform-row-add', function(event, row){
- var groupName = jQuery(row).data('group');
- var fieldName = groupName.replace('join_', '').replace('_table', '').replace(/([0-9])/g, '');
- var fieldNr = groupName.replace(/([A-z_])/g, '');
- updateSubItems(fieldName, fieldNr, '_', '_');
- });
-
+document.addEventListener('DOMContentLoaded', function() {
+ document.addEventListener('subform-row-add', function(event) {
+ var row = event.detail.row;
+ var groupName = row.getAttribute('data-group');
+ var fieldName = groupName.replace('join_', '').replace('_table', '').replace(/([0-9])/g, '');
+ var fieldNr = groupName.replace(/([A-z_])/g, '');
+ updateSubItems(fieldName, fieldNr, '_', '_');
+ });
});
- $funcName): ?>jQuery('#adminForm').on('change', '#jform__table_main',function (e) {
- // get options
- var value_ = jQuery("#jform__table_main option:selected").val();
- getTableColumns(value_, 'a', '', 3, true, '', '');
+
+ $funcName): ?>
+document.getElementById('adminForm').addEventListener('change', function(e) {
+ if (e.target && e.target.id === 'jform__table_main') {
+ let value_ = e.target.options[e.target.selectedIndex].value;
+ getTableColumns(value_, 'a', '', 3, true, '', '');
+ }
});
-// #jform_add_php_router_parse listeners
-jQuery('#jform_add_php_router_parse').on('change',function() {
- var valueSwitch = jQuery("#jform_add_php_router_parse input[type='radio']:checked").val();
- getDynamicScripts(valueSwitch);
-});
-jQuery('#adminForm').on('change', '#jform_select_all',function (e)
-{
- e.preventDefault();
- // get the selected value
- var select_all = jQuery("#jform_select_all input[type='radio']:checked").val();
- setSelectAll(select_all);
+document.getElementById('jform_add_php_router_parse').addEventListener('change', function() {
+ var valueSwitch = document.querySelector("#jform_add_php_router_parse input[type='radio']:checked").value;
+ getDynamicScripts(valueSwitch);
+});
+
+document.getElementById('adminForm').addEventListener('change', function(e) {
+ if (e.target && e.target.matches('#jform_select_all input[type="radio"]')) {
+ e.preventDefault();
+ var selectAll = e.target.value;
+ setSelectAll(selectAll);
+ }
});