10 Commits

Author SHA1 Message Date
Ryan Wyllie
195ea4480b MDL-62497 javascript: build AMD modules with new transpiler 2019-07-19 14:12:49 +08:00
Damyon Wiese
37910f5e9c MDL-55211 js: form/showadvanced yui to amd 2019-02-01 09:35:12 +08:00
Stephen Bourget
57422d7158 MDL-43648 course: Allow start /end dates to have times 2017-12-14 19:48:31 -05:00
David Mudrák
8b493eb09d MDL-53240 filetypes: Enhance the filetypes element with a types browser 2017-06-01 09:20:07 +02:00
Marina Glancy
b4eb5f0212 MDL-34859 forms: new element defaultcustom 2017-03-20 14:59:45 +08:00
Rajesh Taneja
350d0ae6b7
MDL-56659 core: Enable password field when label is clicked 2016-11-25 12:09:37 +08:00
Rajesh Taneja
dfa707c994
MDL-56659 core: No need for noscript tag and set size later
1. BrowserKitDriver::setValue only checks if the element is
   disabled. It still is able to set value on hidden elements
   So there is no need for noscript tag in password unmask
2. Set size on hidden field is not valid html, so set it later
   when text element is displayed
2016-11-25 12:09:37 +08:00
John Okely
eea9f10900 MDL-56715 form: Allow password unmask fields to be cleared in FF49 2016-11-10 11:22:59 +08:00
Andrew Nicols
3778a9226f MDL-53048 core_form: passwordunmask must exist on page for validation
The initial approach I took was to provide a noscript area containing the
standard input element, and to move it to a hidden input element as part of
the passwordunmask setup.

This allowed behat tests to pass both with and without JS enabled (i.e.
with Goutte and real browsers), and also ensured that the real input did
not appear on screen.

However, the standard formslib validation occurs before other page JS is
run and hooks into the elements on page during its setup.
Since noscript elements are not accessible to scripts as standard elements,
the form validation would fail for _client_ side validation and work for
server-side validation.

This change creates creates the hidden input element in the template
instead, as well as the password element in the noscript tag.

Doing this means that when JS is disabled, the form has two elements of the
same name - one hidden, and the second a visible password field.
Since the latter element will always override the former one on form
submission, and the noscript variant is last, the noscript variant wins
when JS is disabled and tests continue to pass.

When JS is enabled, the noscript variant is not a valid part of the DOM
(the browser sees it as a hidden text field essentially). The password is
not automatically entered into the hidden field, so the autocomplete
prevention continues to work as expected.
2016-10-26 13:33:10 +08:00
Andrew Nicols
ca25005c69 MDL-53048 form: Rewrite passwordunmask
This version:
* should work with the Behat Goutte driver
* should not suffer from password autofill anxiety
* should allow unmasking (and masking) of a password
* should allow editing of passwords in either masked, or unmasked form

AMOS BEGIN
 MOV [revealpassword,core_form],[passwordunmaskrevealhint,core_form]
AMOS END
2016-10-24 09:24:39 +08:00