Release of v3.2.0-beta10

Fix the search area layout. Fix the search area code line selection. Fix the input edit button for custom fields. Add the new layout to list fields (GUI UPDATE).
This commit is contained in:
Robot 2024-03-26 22:30:10 +02:00
parent 02a5e42bb5
commit ec714566f6
Signed by: Robot
GPG Key ID: 14DECD44E7E1BB95
46 changed files with 255 additions and 159 deletions

View File

@ -1,3 +1,10 @@
# v3.2.0-beta10
- Fix the search area layout.
- Fix the search area code line selection.
- Fix the input edit button for custom fields.
- Add the new layout to list fields (GUI UPDATE)
# v3.2.0-beta9
- Fix [Set String Value] in placeholder table to store the value as a base64 string.

View File

@ -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 (3.2.0-beta9) 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 (3.2.0-beta10) 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)
@ -144,13 +144,13 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 20th March, 2024
+ *Version*: 3.2.0-beta9
+ *Last Build*: 26th March, 2024
+ *Version*: 3.2.0-beta10
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **738901**
+ *Line count*: **739140**
+ *Field count*: **2078**
+ *File count*: **5203**
+ *File count*: **5209**
+ *Folder count*: **459**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

View File

@ -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 (3.2.0-beta9) 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 (3.2.0-beta10) 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)
@ -144,13 +144,13 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 20th March, 2024
+ *Version*: 3.2.0-beta9
+ *Last Build*: 26th March, 2024
+ *Version*: 3.2.0-beta10
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **738901**
+ *Line count*: **739140**
+ *Field count*: **2078**
+ *File count*: **5203**
+ *File count*: **5209**
+ *Folder count*: **459**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

View File

@ -1012,6 +1012,7 @@
name="language"
label="COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="en-GB"
required="true"

View File

@ -27,6 +27,7 @@ use Joomla\Registry\Registry;
use VDM\Joomla\Componentbuilder\Search\Factory as SearchFactory;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\Base64Helper;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
@ -505,16 +506,16 @@ class ComponentbuilderModelAjax extends ListModel
// we get the plugin group, or the powers
if ($key == 1)
{
return ComponentbuilderHelper::getVars('class_' . $type, $id, 'joomla_plugin_group', 'id');
return GetHelper::vars('class_' . $type, $id, 'joomla_plugin_group', 'id');
}
elseif ($key == 2)
{
return ComponentbuilderHelper::getVars('class_' . $type, 'powers', 'extension_type', 'id');
return GetHelper::vars('class_' . $type, 'powers', 'extension_type', 'id');
}
}
elseif ('joomla_plugin_group' === $type)
{
return ComponentbuilderHelper::getVars($type, $id, 'class_extends', 'id');
return GetHelper::vars($type, $id, 'class_extends', 'id');
}
return false;
}
@ -526,8 +527,7 @@ class ComponentbuilderModelAjax extends ListModel
return base64_decode($head);
}
return false;
}
}
// Used in admin_view
protected $rowNumbers = array(
@ -1561,9 +1561,9 @@ class ComponentbuilderModelAjax extends ListModel
protected function linkedGuid($guid, $setGuid): bool
{
// check if GUID is valid
if ($guid && ComponentbuilderHelper::validGUID($guid))
if ($guid && GuidHelper::valid($guid))
{
if (is_string($setGuid) && ComponentbuilderHelper::validGUID($setGuid) && $guid === $setGuid)
if (is_string($setGuid) && GuidHelper::valid($setGuid) && $guid === $setGuid)
{
return true;
}
@ -1581,7 +1581,7 @@ class ComponentbuilderModelAjax extends ListModel
* @var array
* @since 3.0.13
*/
protected $viewid = array();
protected $viewid = [];
/**
* Get the view details via the session
@ -1614,9 +1614,9 @@ class ComponentbuilderModelAjax extends ListModel
}
}
// set GUID if found
if (($guid = ComponentbuilderHelper::get($vdm . '__guid')) !== false && method_exists('ComponentbuilderHelper', 'validGUID'))
if (($guid = ComponentbuilderHelper::get($vdm . '__guid')) !== false)
{
if (ComponentbuilderHelper::validGUID($guid))
if (GuidHelper::valid($guid))
{
$this->viewid[$call]['a_guid'] = $guid;
}
@ -3162,7 +3162,7 @@ class ComponentbuilderModelAjax extends ListModel
// get the full path to rule file
$path = JPATH_LIBRARIES . '/src/Form/Rule/'.$name.'Rule.php';
// get all the code
if ($code = ComponentbuilderHelper::getFileContents($path))
if ($code = FileHelper::getContent($path))
{
// remove the class details and the ending }
$codeArray = (array) explode("FormRule\n{\n", $code);

View File

@ -39,23 +39,24 @@ class JFormFieldArticles extends JFormFieldList
*/
protected function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.title','a.alias'),array('id','article_title','alias')));
$query->from($db->quoteName('#__content', 'a'));
$query->where($db->quoteName('a.state') . ' = 1');
$query->order('a.title ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select an Article');
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->article_title . ' (' . $item->alias . ')');
}
}
return $options;
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.title','a.alias'),array('id','article_title','alias')));
$query->from($db->quoteName('#__content', 'a'));
$query->where($db->quoteName('a.state') . ' = 1');
$query->order('a.title ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select an Article');
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->article_title . ' (' . $item->alias . ')');
}
}
return $options;
}
}

View File

@ -94,7 +94,7 @@ class JFormFieldClassextends extends JFormFieldList
if ($user->authorise('class_extends.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldClasspowers extends JFormFieldList
if ($user->authorise('power.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -39,25 +39,26 @@ class JFormFieldCustomgets extends JFormFieldList
*/
protected function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name','a.gettype'),array('id','custom_get_name','type')));
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name','a.gettype'),array('id','custom_get_name','type')));
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$query->where('( '.$db->quoteName('a.gettype') . ' = 3 OR ' . $db->quoteName('a.gettype') . ' = 4 )');
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$model = ComponentbuilderHelper::getModel('dynamic_gets');
foreach($items as $item)
{
$type = $model->selectionTranslation($item->type,'gettype');
$options[] = JHtml::_('select.option', $item->id, $item->custom_get_name . ' (' . JText::_($type) . ')' );
}
}
return $options;
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$model = ComponentbuilderHelper::getModel('dynamic_gets');
foreach($items as $item)
{
$type = $model->selectionTranslation($item->type,'gettype');
$options[] = JHtml::_('select.option', $item->id, $item->custom_get_name . ' (' . JText::_($type) . ')' );
}
}
return $options;
}
}

View File

@ -94,7 +94,7 @@ class JFormFieldDynamicget extends JFormFieldList
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
if ($user->authorise('language.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldFieldtypes extends JFormFieldList
if ($user->authorise('fieldtype.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldInterfacepowers extends JFormFieldList
if ($user->authorise('power.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldJoomlacomponent extends JFormFieldList
if ($user->authorise('joomla_component.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldJoomlaplugingroups extends JFormFieldList
if ($user->authorise('core.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldJoomlaplugins extends JFormFieldList
if ($user->authorise('joomla_plugin.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_EXTENSION_COMPONENTBUILDERPOWERSAUTOLOADERCOMPILER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_EXTENSION_COMPONENTBUILDERPOWERSAUTOLOADERCOMPILER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldLibraries extends JFormFieldList
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldLibrariesx extends JFormFieldList
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldLibrary extends JFormFieldList
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldMaingets extends JFormFieldList
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldServers extends JFormFieldList
if ($user->authorise('server.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldSnippets extends JFormFieldList
if ($user->authorise('core.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -871,6 +871,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_DESCRIPTION"
class="list_class fieldFull"
layout="joomla.form.field.list-fancy-select"
multiple="true"
showon="alias_builder_type:2"
/>

View File

@ -341,8 +341,8 @@
name="custom_get"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CUSTOM_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default=""
/>
<!-- Add_javascript_file Field. Type: Radio. (joomla) -->
<field
@ -452,6 +452,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -276,6 +276,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_TABLE_MAIN_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_TABLE_MAIN_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
required="true"
button="false"

View File

@ -145,6 +145,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default=""
required="true"
@ -157,6 +158,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
required="true"
button="false"
@ -183,6 +185,7 @@
name="article"
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_ARTICLE_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
required="true"

View File

@ -1069,6 +1069,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_DESCRIPTION"
class="fieldMedium"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default=""
/>

View File

@ -325,6 +325,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"
@ -364,8 +365,8 @@
name="custom_get"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default=""
/>
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
<field

View File

@ -114,6 +114,7 @@
name="plugins"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_PLUGINS_LABEL"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
button="true"
@ -124,6 +125,7 @@
name="modules"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_MODULES_LABEL"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
button="true"
@ -134,6 +136,7 @@
name="components"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_COMPONENTS_LABEL"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
button="false"
@ -167,6 +170,7 @@
name="language"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_LANGUAGE_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="en-GB"
required="true"

View File

@ -215,6 +215,7 @@
label="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -193,6 +193,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -310,6 +310,7 @@
label="COM_COMPONENTBUILDER_POWER_EXTENDS_LABEL"
description="COM_COMPONENTBUILDER_POWER_EXTENDS_DESCRIPTION"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
showon="type:class[OR]type:abstract class[OR]type:final class"
@ -405,6 +406,7 @@
label="COM_COMPONENTBUILDER_POWER_IMPLEMENTS_LABEL"
description="COM_COMPONENTBUILDER_POWER_IMPLEMENTS_DESCRIPTION"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
showon="type!:interface[AND]type!:trait"

View File

@ -313,8 +313,8 @@
name="custom_get"
label="COM_COMPONENTBUILDER_SITE_VIEW_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_CUSTOM_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default=""
/>
<!-- Note_linked_to_notice Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_linked_to_notice" label="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LINKED_TO_NOTICE_LABEL" description="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LINKED_TO_NOTICE_DESCRIPTION" heading="h4" class="note_linked_to_notice" />
@ -416,6 +416,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -215,6 +215,7 @@
label="COM_COMPONENTBUILDER_TEMPLATE_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_TEMPLATE_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -125,6 +125,7 @@
label="COM_COMPONENTBUILDER_VALIDATION_RULE_INHERIT_LABEL"
description="COM_COMPONENTBUILDER_VALIDATION_RULE_INHERIT_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
required="false"

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.10" method="upgrade">
<name>COM_COMPONENTBUILDER</name>
<creationDate>20th March, 2024</creationDate>
<creationDate>26th March, 2024</creationDate>
<author>Llewellyn van der Merwe</author>
<authorEmail>joomla@vdm.io</authorEmail>
<authorUrl>https://dev.vdm.io</authorUrl>
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<version>3.2.0-beta9</version>
<version>3.2.0-beta10</version>
<description><![CDATA[
<h1>Component Builder (v.3.2.0-beta9)</h1>
<h1>Component Builder (v.3.2.0-beta10)</h1>
<div style="clear: both;"></div>
<p>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.

View File

@ -1685,4 +1685,22 @@
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
<update>
<name>Component Builder</name>
<description>Builds Complex Joomla Components</description>
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>3.2.0-beta10</version>
<infourl title="Component Builder!">https://dev.vdm.io</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.0-beta10.zip</downloadurl>
</downloads>
<tags>
<tag>beta</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
</updates>

View File

@ -31,6 +31,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Service\Library;
use VDM\Joomla\Componentbuilder\Compiler\Service\Customview;
use VDM\Joomla\Componentbuilder\Compiler\Service\Templatelayout;
use VDM\Joomla\Componentbuilder\Compiler\Service\Extension;
use VDM\Joomla\Componentbuilder\Service\CoreRules;
use VDM\Joomla\Componentbuilder\Compiler\Service\Field;
use VDM\Joomla\Componentbuilder\Compiler\Service\Joomlamodule;
use VDM\Joomla\Componentbuilder\Compiler\Service\Joomlaplugin;
@ -162,6 +163,7 @@ abstract class Factory implements FactoryInterface
->registerServiceProvider(new Customview())
->registerServiceProvider(new Templatelayout())
->registerServiceProvider(new Extension())
->registerServiceProvider(new CoreRules())
->registerServiceProvider(new Field())
->registerServiceProvider(new Joomlamodule())
->registerServiceProvider(new Joomlaplugin())

View File

@ -261,7 +261,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " build edit button";
$addButton[] = Indent::_(4)
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small hasTooltip\" title=\"'.Text:"
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small btn-outline-success button-select hasTooltip\" title=\"'.Text:"
. ":sprintf('" . $this->config->lang_prefix
. "_EDIT_S', \$button_label).'\" style=\"display: none; border-radius: 0px 4px 4px 0px;\" href=\"#\" >";
$addButton[] = Indent::_(5)

View File

@ -261,7 +261,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " build edit button";
$addButton[] = Indent::_(4)
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small hasTooltip\" title=\"'.Text:"
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small btn-outline-success button-select hasTooltip\" title=\"'.Text:"
. ":sprintf('" . $this->config->lang_prefix
. "_EDIT_S', \$button_label).'\" style=\"display: none; border-radius: 0px 4px 4px 0px;\" href=\"#\" >";
$addButton[] = Indent::_(5)

View File

@ -263,7 +263,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4)
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small hasTooltip\" title=\"'.Text:"
. ":sprintf('" . $this->config->lang_prefix
. "_EDIT_S', \$button_label).'\" style=\"display: none; padding: 4px 4px 4px 7px;\" href=\"#\" >";
. "_EDIT_S', \$button_label).'\" style=\"display: none; padding: 3px 4px 4px 7px;\" href=\"#\" >";
$addButton[] = Indent::_(5)
. "<span class=\"icon-edit\"></span></a>';";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)

View File

@ -25,9 +25,6 @@ use VDM\Joomla\Componentbuilder\Compiler\Field\UniqueName;
use VDM\Joomla\Componentbuilder\Compiler\Field\Rule;
use VDM\Joomla\Componentbuilder\Compiler\Field\Customcode;
use VDM\Joomla\Componentbuilder\Compiler\Field\DatabaseName;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreRule as J3CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreRule as J4CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreRule as J5CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreField as J3CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreField as J4CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreField as J5CoreField;
@ -35,7 +32,6 @@ use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\InputButton as J3Inpu
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\InputButton as J4InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\InputButton as J5InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreFieldInterface as CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreRuleInterface as CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\InputButtonInterface as InputButton;
@ -102,15 +98,6 @@ class Field implements ServiceProviderInterface
$container->alias(DatabaseName::class, 'Field.Database.Name')
->share('Field.Database.Name', [$this, 'getDatabaseName'], true);
$container->alias(J3CoreRule::class, 'J3.Field.Core.Rule')
->share('J3.Field.Core.Rule', [$this, 'getJ3CoreRule'], true);
$container->alias(J4CoreRule::class, 'J4.Field.Core.Rule')
->share('J4.Field.Core.Rule', [$this, 'getJ4CoreRule'], true);
$container->alias(J5CoreRule::class, 'J5.Field.Core.Rule')
->share('J5.Field.Core.Rule', [$this, 'getJ5CoreRule'], true);
$container->alias(J3CoreField::class, 'J3.Field.Core.Field')
->share('J3.Field.Core.Field', [$this, 'getJ3CoreField'], true);
@ -132,9 +119,6 @@ class Field implements ServiceProviderInterface
$container->alias(CoreField::class, 'Field.Core.Field')
->share('Field.Core.Field', [$this, 'getCoreField'], true);
$container->alias(CoreRule::class, 'Field.Core.Rule')
->share('Field.Core.Rule', [$this, 'getCoreRule'], true);
$container->alias(InputButton::class, 'Field.Input.Button')
->share('Field.Input.Button', [$this, 'getInputButton'], true);
}
@ -308,45 +292,6 @@ class Field implements ServiceProviderInterface
);
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J3CoreRule
* @since 3.2.0
*/
public function getJ3CoreRule(Container $container): J3CoreRule
{
return new J3CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J4CoreRule
* @since 3.2.0
*/
public function getJ4CoreRule(Container $container): J4CoreRule
{
return new J4CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J5CoreRule
* @since 3.2.0
*/
public function getJ5CoreRule(Container $container): J5CoreRule
{
return new J5CoreRule();
}
/**
* Get The CoreField Class.
*
@ -455,24 +400,6 @@ class Field implements ServiceProviderInterface
return $container->get('J' . $this->currentVersion . '.Field.Core.Field');
}
/**
* Get The CoreRuleInterface Class.
*
* @param Container $container The DI container.
*
* @return CoreRule
* @since 3.2.0
*/
public function getCoreRule(Container $container): CoreRule
{
if (empty($this->currentVersion))
{
$this->currentVersion = Version::MAJOR_VERSION;
}
return $container->get('J' . $this->currentVersion . '.Field.Core.Rule');
}
/**
* Get The InputButton Class.
*

View File

@ -0,0 +1,119 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 4th September, 2022
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/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
*/
namespace VDM\Joomla\Componentbuilder\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Joomla\CMS\Version;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreRule as J3CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreRule as J4CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreRule as J5CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreRuleInterface as CoreRule;
/**
* Joomla Core Rules
*
* @since 3.2.0
*/
class CoreRules implements ServiceProviderInterface
{
/**
* Current Joomla Version We are IN
*
* @var int
* @since 3.2.0
**/
protected $currentVersion;
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
* @since 3.2.0
*/
public function register(Container $container)
{
$container->alias(J3CoreRule::class, 'J3.Field.Core.Rule')
->share('J3.Field.Core.Rule', [$this, 'getJ3CoreRule'], true);
$container->alias(J4CoreRule::class, 'J4.Field.Core.Rule')
->share('J4.Field.Core.Rule', [$this, 'getJ4CoreRule'], true);
$container->alias(J5CoreRule::class, 'J5.Field.Core.Rule')
->share('J5.Field.Core.Rule', [$this, 'getJ5CoreRule'], true);
$container->alias(CoreRule::class, 'Field.Core.Rule')
->share('Field.Core.Rule', [$this, 'getCoreRule'], true);
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J3CoreRule
* @since 3.2.0
*/
public function getJ3CoreRule(Container $container): J3CoreRule
{
return new J3CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J4CoreRule
* @since 3.2.0
*/
public function getJ4CoreRule(Container $container): J4CoreRule
{
return new J4CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J5CoreRule
* @since 3.2.0
*/
public function getJ5CoreRule(Container $container): J5CoreRule
{
return new J5CoreRule();
}
/**
* Get The CoreRuleInterface Class.
*
* @param Container $container The DI container.
*
* @return CoreRule
* @since 3.2.0
*/
public function getCoreRule(Container $container): CoreRule
{
if (empty($this->currentVersion))
{
$this->currentVersion = Version::MAJOR_VERSION;
}
return $container->get('J' . $this->currentVersion . '.Field.Core.Rule');
}
}

View File

@ -9618,7 +9618,7 @@ class Com_ComponentbuilderInstallerScript
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder">
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
</a>
<h3>Upgrade to Version 3.2.0-beta9 Was Successful! Let us know if anything is not working as expected.</h3></div>';
<h3>Upgrade to Version 3.2.0-beta10 Was Successful! Let us know if anything is not working as expected.</h3></div>';
// Set db if not set already.
if (!isset($db))