Conflicting Files ? ? Failure

User tests: Successful: Unsuccessful:

avatar PhocaCz
PhocaCz
26 Dec 2018

This PR adds the ability to filter parameters in Joomla! configuration options

Filter Options

Filter Options

Summary of Changes

The following files were changed:
administrator\components\com_config\tmpl\component\default.php - linked layout file
administrator\components\com_config\tmpl\application\default.php - linked layout file
layouts\joomla\searchtools\filter_options.php - layout file displaying filter input field
administrator\language\en-GB\en-GB.ini - added one language string
build\media_src\com_config\css\filter-options.css - added CSS to display search results in Global Configuration in a better way (Global Configuration is problematic part because it includes columns)
build\media_src\com_config\js\config-filter-options.es6.js - main Javascript file (thanks to David Jardin and Benjamin Trenkle for overwriting it from jQuey to Vanilla JS).

Testing Instructions

Because the Javascript file and CSS file should be built by npm, this feature must be tested the following way:
https://docs.joomla.org/J4.x:Setting_Up_Your_Local_Environment

After building Javascript and CSS files, just go to Joomla! Global Configuration or Options of some component and type into the filter input field.

Expected result

You should be able to filter parameters in Joomla! options, see videos:

See YouTube video (Joomla! 4):
Filter Parameters in Options - Joomla! 4

You can test this feature in Joomla! 3.9 with help of the following system plugin:
https://www.phoca.cz/phoca-filter-options-system-plugin

See YouTube video (Joomla! 3.9 - there is no PR in Joomla! 3.9 but system plugin)
Phoca Filter Options - Joomla! 3.9

Possible Problems

  • For now, I don't know if file names and the file location match Joomla! convention rules, if not, this needs to be changed
  • Global Configuration is a problematic part, because of columns. This feature is based on manipulating design parts. Global configuration needs extra CSS and maybe it needs to be improved
  • A11y not tested yet
  • Possible improvement could be unification of HTML output (Global Configuration / Component Options => #configContent vs. #config-document) and changing HTML Output of Options so there will be less Javascript manipulation.
avatar PhocaCz PhocaCz - open - 26 Dec 2018
avatar PhocaCz PhocaCz - change - 26 Dec 2018
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 26 Dec 2018
Category Administration com_config Language & Strings Repository JavaScript Layout
avatar PhocaCz PhocaCz - change - 27 Dec 2018
The description was changed
avatar PhocaCz PhocaCz - edited - 27 Dec 2018
avatar PhocaCz PhocaCz - change - 27 Dec 2018
The description was changed
avatar PhocaCz PhocaCz - edited - 27 Dec 2018
avatar infograf768 infograf768 - change - 27 Dec 2018
Title
Filter Parameters in Options
[4.0] Filter Parameters in Options
avatar infograf768 infograf768 - change - 27 Dec 2018
Title
Filter Parameters in Options
[4.0] Filter Parameters in Options
avatar infograf768 infograf768 - edited - 27 Dec 2018
avatar infograf768
infograf768 - comment - 27 Dec 2018

This works (tested also with French) but it is extremely confusing.
The issue is simple: the result(s) do not display to which specific tab they belong.

Examples:

screen shot 2018-12-27 at 08 53 05

screen shot 2018-12-27 at 08 56 17

Also some UI issues for example in global config depending on the window size.

avatar PhocaCz
PhocaCz - comment - 27 Dec 2018

This works (tested also with French) but it is extremely confusing.
The issue is simple: the result(s) do not display to which specific tab they belong.

Hi, thank you for testing,

in fact, it is much more easier to leave the tabs and display the filtered items in tabs, but:

  1. if some parameter will be found in second or other tab, you just will not see it there, because the tab will be not active

  2. there were some ideas about adding e.g. number of found items in each tab - nice but the main function which is really quickly filter the parameters (you know the name but not the position) will be lost

  3. another way could be to somehow group the parameters by tabs (including tab header) but:

    3a) it can happen that you will list 6 tab headers and the result will be at the bottom, so the main function to not scroll through the site will be even lost

    3b) maybe some Javascript function could be done, which only displays tab headers for tabs where parameter was found and not display for tabs where nothing was found (but this can take a lot of resources because of manipulating all the content, so maybe then the filter function will be slower, hard to say). And of course tab names take the place that is forfeited for searched parameters :-(

So, some extra smart function which will detect that there are the same parameter names in results and will add some info about tab name maybe could somehow solve it 💡

Anyway it is very "unhappy" to call two parameters in one component with the same name. Tabs which can differentiate between the parameters with the same name are only "design" feature, so listing the parameters in other way (not using tabs) can be even confusing when two parameters in one component have the same name 💡

avatar dgrammatiko
dgrammatiko - comment - 27 Dec 2018

The issue is simple: the result(s) do not display to which specific tab they belong.

The real issue is that a form should never be spawn into different tabs. This is stupid and inaccessible!

Other than that, this is a workaround Joomla's huge problem of messing data editing/creation with the display options. The solution is to completely separate those two different tasks (layout/data entry) and keep the only reference that is needed: the layout input!
All and all this is not solving something, more likely it makes things even worse...

My 2c

avatar wilsonge wilsonge - change - 6 Jan 2019
Labels Added: ? ?
avatar franz-wohlkoenig franz-wohlkoenig - change - 11 Apr 2019
Category Administration com_config Language & Strings Repository JavaScript Layout Administration com_config JavaScript Layout Repository
avatar jduerscheid
jduerscheid - comment - 19 Oct 2019

grafik

The patch destroy the layout, see the screenshot. Used System MacOS 10.145.6 and Firefox

avatar jduerscheid jduerscheid - test_item - 19 Oct 2019 - Tested unsuccessfully
avatar jduerscheid
jduerscheid - comment - 19 Oct 2019

I have tested this item 🔴 unsuccessfully on 1659ad3

see comment above


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/23348.

avatar uthorat uthorat - test_item - 19 Oct 2019 - Tested unsuccessfully
avatar uthorat
uthorat - comment - 19 Oct 2019

I have tested this item 🔴 unsuccessfully on 1659ad3


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/23348.

avatar brianteeman
brianteeman - comment - 19 Oct 2019

@jduerscheid that is probably because there are conflicting files that need to be fixed before it can be properly tested
image

avatar PhocaCz PhocaCz - change - 27 Apr 2020
Labels Added: Conflicting Files
avatar joomla-cms-bot joomla-cms-bot - change - 27 Apr 2020
Category Administration com_config Repository JavaScript Layout Administration com_config Language & Strings Templates (admin) Repository JavaScript Layout
avatar joomla-cms-bot joomla-cms-bot - change - 27 Apr 2020
Category Administration com_config Repository JavaScript Layout Language & Strings Templates (admin) Administration com_config com_users Language & Strings Templates (admin) Repository JavaScript Layout
avatar Quy
Quy - comment - 19 Jun 2020

Closing for stated reasons. Plus PR has been abandoned.

avatar Quy Quy - close - 19 Jun 2020
avatar Quy Quy - change - 19 Jun 2020
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2020-06-19 14:59:30
Closed_By Quy
avatar joomla-cms-bot joomla-cms-bot - change - 19 Jun 2020
Category Administration com_config Repository JavaScript Layout Language & Strings Templates (admin) com_users Administration com_config com_users Language & Strings Templates (admin) NPM Change Repository JavaScript Layout

Add a Comment

Login with GitHub to post a comment