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); + } }); \ No newline at end of file diff --git a/api/src/Controller/index.html b/api/src/Controller/index.html new file mode 100644 index 000000000..fa6d84e80 --- /dev/null +++ b/api/src/Controller/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/api/src/View/index.html b/api/src/View/index.html new file mode 100644 index 000000000..fa6d84e80 --- /dev/null +++ b/api/src/View/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/api/src/index.html b/api/src/index.html new file mode 100644 index 000000000..fa6d84e80 --- /dev/null +++ b/api/src/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/componentbuilder.xml b/componentbuilder.xml index 4b16dcd77..47eb2b949 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -7,9 +7,9 @@ https://dev.vdm.io Copyright (C) 2015 Vast Development Method. All rights reserved. GNU General Public License version 2 or later; see LICENSE.txt - 4.0.2-beta1 + 4.0.2-beta2 Component Builder (v.4.0.2-beta1) +

Component Builder (v.4.0.2-beta2)

The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. diff --git a/componentbuilder_update_server.xml b/componentbuilder_update_server.xml index 1f02c5def..d450ae4a6 100644 --- a/componentbuilder_update_server.xml +++ b/componentbuilder_update_server.xml @@ -77,10 +77,28 @@ pkg_component_builder package site - 4.0.2-beta1 + 4.0.2-beta https://dev.vdm.io - https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.2-beta1.zip + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.2-beta2.zip + + + beta + + Llewellyn van der Merwe + https://dev.vdm.io + + + + Component Builder + Builds Complex Joomla Components + pkg_component_builder + package + site + 4.0.2-beta2 + https://dev.vdm.io + + https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.2-beta2.zip beta