From f2d4e2490d2a4882f9eb1eef9a0366932585b618 Mon Sep 17 00:00:00 2001 From: Llewellyn van der Merwe Date: Wed, 8 Jan 2020 05:50:33 +0200 Subject: [PATCH] Added the modal sub subform for the list view columns in the Assistant. --- README.md | 4 +- admin/README.txt | 4 +- .../en-GB/en-GB.com_componentbuilder.ini | 8 +- .../assistant/tmpl/default_jcbviewsplan.php | 184 ++++++++++++++++-- componentbuilder.xml | 2 +- 5 files changed, 184 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 02654fdea..ac1088627 100644 --- a/README.md +++ b/README.md @@ -144,11 +144,11 @@ TODO + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *First Build*: 30th April, 2015 -+ *Last Build*: 5th January, 2020 ++ *Last Build*: 7th January, 2020 + *Version*: 2.10.10 + *Copyright*: Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **280707** ++ *Line count*: **280873** + *Field count*: **1503** + *File count*: **1769** + *Folder count*: **280** diff --git a/admin/README.txt b/admin/README.txt index 02654fdea..ac1088627 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -144,11 +144,11 @@ TODO + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *First Build*: 30th April, 2015 -+ *Last Build*: 5th January, 2020 ++ *Last Build*: 7th January, 2020 + *Version*: 2.10.10 + *Copyright*: Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **280707** ++ *Line count*: **280873** + *Field count*: **1503** + *File count*: **1769** + *Folder count*: **280** diff --git a/admin/language/en-GB/en-GB.com_componentbuilder.ini b/admin/language/en-GB/en-GB.com_componentbuilder.ini index f920e5a97..09c38275e 100644 --- a/admin/language/en-GB/en-GB.com_componentbuilder.ini +++ b/admin/language/en-GB/en-GB.com_componentbuilder.ini @@ -17,6 +17,7 @@ COM_COMPONENTBUILDER_ADD_MORE_FIELDS_TO_THIS_ADMIN_VIEW="Add more fields to this COM_COMPONENTBUILDER_ADD_TO_BACKUP_FOLDER_AMP_SALES_SERVER_SMALLIF_SETSMALL="Add to Backup Folder & Sales Server (if set)" COM_COMPONENTBUILDER_ADD_TO_REPOSITORY_FOLDER="Add to Repository Folder" COM_COMPONENTBUILDER_ADD_YOUR_OWN_JCB_PACKAGES_TO_THE_COMMUNITY_A_S_GITHUBA_REPOSITORYBR_WATCH_THIS_A_S_TUTORIALA_TO_SEE_HOW="Add your own JCB packages to the community gitHub repository.
Watch this tutorial to see how!" +COM_COMPONENTBUILDER_ADMIN="Admin" COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS="Admins Custom Tabs" COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_ACCESS="Admins Custom Tabs Access" COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_ACCESS_DESC="Allows the users in this group to access access admins custom tabs" @@ -1382,6 +1383,7 @@ COM_COMPONENTBUILDER_ALWAYS_INSURE_THAT_YOU_HAVE_YOUR_LOCAL_COMPONENTS_BACKED_UP COM_COMPONENTBUILDER_ANY_SELECTION_ONLY_FOUR_LISTRADIOCHECKBOXESDYNAMIC_LIST="Any Selection (only 4 list/radio/checkboxes/dynamic_list)" COM_COMPONENTBUILDER_AN_ERROR_HAS_OCCURRED="An error has occurred" COM_COMPONENTBUILDER_ARCHIVED="Archived" +COM_COMPONENTBUILDER_AREA="Area" COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WOULD_LIKE_TO_ADD_THIS_NEW_JCB_COMMUNITY_SNIPPET_TO_YOUR_LOCAL_SNIPPETS="Are you sure you would like to add this new JCB community snippet to your local snippets?" COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WOULD_LIKE_TO_CONTINUE="Are you sure you would like to continue?" COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPLACE_YOUR_LOCAL_SNIPPET_WITH_THIS_JCB_COMMUNITY_SNIPPET="Are you sure you would like to replace your local snippet with this JCB community snippet?" @@ -1753,6 +1755,7 @@ COM_COMPONENTBUILDER_CLONE="Clone" COM_COMPONENTBUILDER_CLONE_FAILED="Clone failed!" COM_COMPONENTBUILDER_CLOSE_NEW="Close & New" COM_COMPONENTBUILDER_CODE="Code" +COM_COMPONENTBUILDER_COLUMN="Column" COM_COMPONENTBUILDER_COMMUNITY_PACKAGES="Community Packages" COM_COMPONENTBUILDER_COMPANY="Company" COM_COMPONENTBUILDER_COMPANY_NAME="Company Name" @@ -7725,6 +7728,7 @@ COM_COMPONENTBUILDER_LINK_LOCAL_DYNAMIC="Link & Local (dynamic)" COM_COMPONENTBUILDER_LINK_TO_THE_CONTRIBUTOR="Link to the contributor" COM_COMPONENTBUILDER_LIST_FIELD="List Field" COM_COMPONENTBUILDER_LIST_VIEW="List View" +COM_COMPONENTBUILDER_LIST_VIEW_COLUMNS="List View Columns" COM_COMPONENTBUILDER_LIST_VIEW_NAME="List View Name" COM_COMPONENTBUILDER_LOADING="loading" COM_COMPONENTBUILDER_LOCAL="Local" @@ -7956,7 +7960,6 @@ COM_COMPONENTBUILDER_REVERT_ALL_AHEAD_SNIPPETS="Revert All Ahead Snippets" COM_COMPONENTBUILDER_REVIEW_THIS_ISSUE_ON_GITHUB="Review this issue on Github" COM_COMPONENTBUILDER_RIGHT_IN_TAB="Right in Tab" COM_COMPONENTBUILDER_RIGHT_OF_TABS="Right of Tabs" -COM_COMPONENTBUILDER_ROW_SELECTION="Row Selection" COM_COMPONENTBUILDER_RUN_EXPANSION="Run Expansion" COM_COMPONENTBUILDER_SAVE_SUCCESS="Great! Item successfully saved." COM_COMPONENTBUILDER_SAVE_WARNING="The value already existed so please select another." @@ -8132,6 +8135,7 @@ COM_COMPONENTBUILDER_SHOW_ONLY="Show Only" COM_COMPONENTBUILDER_SHOW_TOGGLE="Show Toggle" COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_BIMPORT_PROCESSB_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_BDOES_NOTB_HAVE_THE_KEY_THEY_CAN_SEE_BWHERE_TO_GET_ITB="Since the owner details are displayed during import process before adding the key, this way if the user/dev does not have the key they can see where to get it." COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_IMPORT_PROCESS_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_DOES_NOT_HAVE_THE_KEY_THEY_CAN_SEE_WHERE_TO_GET_IT="Since the owner details are displayed during import process before adding the key, this way if the user/dev does not have the key they can see where to get it." +COM_COMPONENTBUILDER_SITE="Site" COM_COMPONENTBUILDER_SITE_VIEW="Site View" COM_COMPONENTBUILDER_SITE_VIEWS="Site Views" COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS="Site Views Access" @@ -8836,6 +8840,7 @@ COM_COMPONENTBUILDER_S_NOT_LINKED="%s Not Linked" COM_COMPONENTBUILDER_S_PLEASE_WAIT_THE_COMPONENT_IS_BEING_COMPILED="%s, please wait! The component is being compiled" COM_COMPONENTBUILDER_TAB="Tab" COM_COMPONENTBUILDER_TABLE_BSB_NOT_FOUND_IN_THE_LOCAL_DATABASE_SO_ITS_VALUES_COULD_NOT_BE_IMPORTED_PLEASE_UPDATE_YOUR_JCB_INSTALL_AND_TRY_AGAIN="Table %s not found in the local database so its values could not be imported, please update your JCB install and try again." +COM_COMPONENTBUILDER_TARGET="Target" COM_COMPONENTBUILDER_TARGET_BEHAVIOUR="Target Behaviour" COM_COMPONENTBUILDER_TARGET_FIELDS="Target Field/s" COM_COMPONENTBUILDER_TARGET_PATH="Target Path" @@ -9034,6 +9039,7 @@ COM_COMPONENTBUILDER_THIS_BSB_IS_NOT_LINKED_TO_ANY_OTHER_AREAS_OF_JCB_AT_THIS_TI COM_COMPONENTBUILDER_THIS_PACKAGE_BPASSEDB_THE_CHECKSUM_VALIDATIONBR_BR_SMALLMANUALLY_ALSO_VALIDATE_THAT_THE_CORRECT_CHECKSUM_WAS_USEDSMALLBR_THIS_CHECKSUM_BSB_MUST_BE_THE_SAME_AS_THE_ONE_FOUND_A_S_SA="This package PASSED the checksum validation!

Manually also validate that the correct checksum was used.
This checksum: %s must be the same as the one found @ " COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY="This package has no key." COM_COMPONENTBUILDER_TITLE="Title" +COM_COMPONENTBUILDER_TITLE_COLUMN="Title Column" COM_COMPONENTBUILDER_TOTAL_DOWNLOADS="total downloads" COM_COMPONENTBUILDER_TO_ADD_SIMPLY_COPY_AND_PAST_THE_SNIPPET_INTO_YOUR_CODE="To add simply copy and past the snippet into your code." COM_COMPONENTBUILDER_TO_ADD_VALIDATION_TO_A_FIELD_IF_VALIDATION_IS_NOT_PART_OF_FIELD_TYPE_PROPERTIES_LOADED_ABOVE_SO_IF_YOU_HAVE_VALIDATION_SET_AS_A_FIELD_PROPERTY_THIS_EXTRA_PROPERTY_WILL_NOT_BE_NEEDED="To add validation to a field if validation is not part of field type properties loaded above. So if you have validation set as a field property this extra property will not be needed." diff --git a/admin/views/assistant/tmpl/default_jcbviewsplan.php b/admin/views/assistant/tmpl/default_jcbviewsplan.php index 83208b0cc..3c4305189 100644 --- a/admin/views/assistant/tmpl/default_jcbviewsplan.php +++ b/admin/views/assistant/tmpl/default_jcbviewsplan.php @@ -236,25 +236,185 @@ function buildSubform() ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// LISTVIEW START + /// LISTVIEW SUBFORM END ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // start building the listview area XML - $listviewXML = new SimpleXMLElement(''); + // start building the subform field XML + $sub_subformXML = new SimpleXMLElement(''); // subform attributes - $listviewAttribute = array( - 'type' => 'note', + $sub_subformAttribute = array( + 'type' => 'subform', 'name' => 'columns', - 'label' => 'COM_COMPONENTBUILDER_ROW_SELECTION', - 'description' => ' - More details soon, to help you select the fields for the list display of rows.', - 'heading' => 'h5' + 'label' => 'COM_COMPONENTBUILDER_LIST_VIEW_COLUMNS', + 'layout' => 'joomla.form.field.subform.repeatable-table', + 'multiple' => 'true', + 'icon' => 'list', + 'max' => 2, + 'min' => 1 ); // load the subform attributes - ComponentbuilderHelper::xmlAddAttributes($listviewXML, $listviewAttribute); + ComponentbuilderHelper::xmlAddAttributes($sub_subformXML, $sub_subformAttribute); + // now add the subform child form + $sub_childform = $sub_subformXML->addChild('form'); + // child form attributes + $sub_childformAttribute = array( + 'hidden' => 'true', + 'name' => 'list_properties', + 'repeat' => 'true'); + // load the child form attributes + ComponentbuilderHelper::xmlAddAttributes($sub_childform, $sub_childformAttribute); + + // view building the name field XML + $targetXML = new SimpleXMLElement(''); + // subform attributes + $targetAttribute = array( + 'type' => 'list', + 'name' => 'target', + 'label' => 'COM_COMPONENTBUILDER_TARGET', + 'description' => 'COM_COMPONENTBUILDER_AREA', + 'required' => true, + 'class' => 'list_class', + 'default' => '1' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($targetXML, $targetAttribute); + // add the options + ComponentbuilderHelper::xmlAddOptions($targetXML, array(1 => 'COM_COMPONENTBUILDER_ADMIN', 2 => 'COM_COMPONENTBUILDER_SITE')); // now add the fields to the child form - ComponentbuilderHelper::xmlAppend($childForm, $listviewXML); + ComponentbuilderHelper::xmlAppend($sub_childform, $targetXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_0', + 'label' => 'COM_COMPONENTBUILDER_TITLE_COLUMN', + 'multiple' => false, + 'required' => true, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_1', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_2', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_3', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_4', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_5', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_6', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + // view building the name field XML + $nameXML = new SimpleXMLElement(''); + // subform attributes + $nameAttribute = array( + 'type' => 'viewfields', + 'name' => 'column_7', + 'label' => 'COM_COMPONENTBUILDER_COLUMN', + 'multiple' => false, + 'required' => false, + 'class' => 'list_class' + ); + // load the subform attributes + ComponentbuilderHelper::xmlAddAttributes($nameXML, $nameAttribute); + // now add the fields to the child form + ComponentbuilderHelper::xmlAppend($sub_childform, $nameXML); + + + // no add to main sub from + ComponentbuilderHelper::xmlAppend($childForm, $sub_subformXML); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// LISTVIEW END + /// LISTVIEW SUBFORM END ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/componentbuilder.xml b/componentbuilder.xml index 7b35343bd..a85f04f63 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -1,7 +1,7 @@ COM_COMPONENTBUILDER - 5th January, 2020 + 7th January, 2020 Llewellyn van der Merwe llewellyn@joomlacomponentbuilder.com http://www.joomlacomponentbuilder.com