User tests: Successful: Unsuccessful:
Pull Request for Issue # .
Fields with custom javascript functionality should always be custom elements!!!
So, this PR is doing that and also:
Apply patch and check the
Some Notes here:
The input prepend/append thingy from the Bootstrap is utterly crap for 2 reasons:
if used without a proper design language (which of course such thing doesn't exist for Joomla, although I was screaming for it) then the UX is getting inconsistent but more importantly is becoming harder for people to familiarise with all the extra (unneeded) graphics.
the markup is also crap, eg a span element cannot be focusable (unless if you start doing things like type=button, etc) neither does implements all the built in keyboard functionality.
All and all: do not use the input-group markup/classes just for decoration purposes!!!!
For those really unfamiliar with design language and the necessity for such thing established for Joomla, please check https://design.trello.com/components/form or https://github.com/alexpate/awesome-design-systems
Status | New | ⇒ | Pending |
Category | ⇒ | Modules Administration Templates (admin) Repository JavaScript Layout Front End |
Labels |
Added:
?
|
Looks like this happens only when using the module, not a login menu item.
hmm. Tested again today.
Looks like this is unrelated.
Yeah, setLanguage
is deprecated... Which means the issue is not only in languagefilter...
\JLog::add(__METHOD__ . ' is deprecated. Instantiate a new Language object instead.', \JLog::WARNING, 'deprecated');
I have tested this item
What about the password box in the installation process? these need doing too :)
@dgrammatiko Thank you for this work. I think this is a great addition and I welcome this feature in the registration form. However I disagree with using this in any form of login screen. My main issue is the button to display the cleartext password. I see this as a security issue, which can easily disclose your password to others. I see several scenarios:
In all these cases, this feature might disclose your password to someone else and thus I would like to see this not included in the logins, at least not by default.
@Hackwar actually the password show/hide button should be a progressive enhancement that must be driven from the xml with an attribute line reveal="true". BTW I just checked and half of the J3.x options for password field are not even mentioned in the documentation: https://docs.joomla.org/Password_form_field_type
All and all, I'll make the changes so that the button is xml driven and then I guess people have to decide what the defaults should be. I'm providing the functionality here, I'm not the one deciding how, when or where this should be used...
it is a common feature
originally it was a mobile oriented feature, because limitation of mobile inputs,
later it was spread everywhere :)
originally it was a mobile oriented feature
mobile IS the internet (>70% of traffic is from mobile devices)
@brianteeman It is also common, that passwords are stored in plaintext. Doesn't mean that it is a good idea.
As I said, if you think this should be part of Joomla, then don't enable it by default. What we set as default, will end up unchanged on 99% of all websites and it will also be the thing that makes the first impression on the people evaluating Joomla for their needs. I guess it is a question of if we want to aim for the hobbyiests website or for corporations. As a security conscious corporation, I would not want that on my website.
if its not going to be enabled then there really is no point in it
if its not going to be enabled then there really is no point in it
Just look at that wildly successful password strength meter on the field. Oh, wait...
Just look at that wildly successful password strength meter on the field.
FWIW this custom element is also taking care of that successful option
I'm not saying that we shouldn't use it at all. The registration is a good place where this can be demonstrated and thus people would know it, but to me this shouldn't be something that should be enabled by default in the login form.
@Hackwar login page is overridable as the rest of the Joomla, so creating an override (or even Joomla provide some sensible override files) is way to easy for anyone creating a Joomla site. And my point is if you're not able to create an override you shouldn't use Joomla, use wix or whatever because the idea of having one more switch for the field is out of the range of ridiculousness..
At some point people need to understand the Joomla will never be able to compete to wix without a proper GUI override creator...
All and all, as I said before this PR is just providing the fumctionality. Where, when or how this is used is another issue (I'm just replacing existing fields with buttons, not introducing them here
I applied this branch (git fetch origin pull/23452/head:4.0-dev-CE-password-field) and I run composer install and npm install.
It looks not always like in the pictures in this PR but all elements worked correctly.
<joomla-field-password reveal="true">
<input name="passwd" type="password" id="mod-login-password" autocomplete="password" aria-labelledby="mod-login-password-lbl" required>
</joomla-field-password>
<joomla-field-password reveal="true">
<input id="modlgn-passwd" type="password" name="password" autocomplete="password" placeholder="Password">
</joomla-field-password>
##User edit page
<joomla-field-password reveal="true" min-length="4" >
<input autocomplete="password" class="validate-password-strength" size="30" maxlength="99" name="jform[password]" type="password" id="jform_password" value="" aria-labeledby="jform_password-lbl">
</joomla-field-password>
Update
I checked my installation and it looks as I made a failure. I could not find the file system/webcomponents/joomla-field-password.min.js in the media folder. So I run npm install again and now everything looks fine.
I have tested this item
Category | Modules Administration Templates (admin) Repository JavaScript Layout Front End | ⇒ | Modules Administration Templates (admin) Repository JavaScript Installation Layout Front End |
@coolcat-creations I just realise that the backend login page and the installation are not quite in sync in terms of design. Can you decide what should be there and align those?
Also another thing that came up with this PR: as @C-Lodder and @ciar4n were doing the templates and there was a question mark on the forms markup the decision was to keep the old way, make the transaction easier (less code to tweak). The problem is that inputs SHOULD always be 100% and the container div should set a specific width according to the breakpoint or the Grid Layout. Having each and every input set to a specific width is bad. You (I mean the team that is dealing with the templates) should change this. We're not in 2010 and we shouldn't break things that are naturally responsive...
@dgrammatiko we work on something that adresses the issue of design inconsistences, @Hackwar can you look into this one if we can merge some of our code with this work?
Closing here, I guess ES5 is pretty ok for Joomla
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2019-03-09 21:04:21 |
Closed_By | ⇒ | dgrammatiko |
As stated to you on private channels and for the record Iām not merging new custom elements until the existing ones stabilise which is why this has sat there (as has been the case since I first told you this last October/November)
Failure:
This breaks in multilingual site the automatic language change with the error:
Call to undefined method Joomla\CMS\Language\Language::setLanguage()