Commit Graph

24 Commits

Author SHA1 Message Date
Rajesh Taneja e4f5b42015 MDL-56210 behat: Pending and complete js is added by js_init_code 2016-10-05 15:46:10 +08:00
David Monllao 13caba9006 Merge branch 'wip-mdl-56210-m31' of https://github.com/rajeshtaneja/moodle into MOODLE_31_STABLE 2016-10-03 13:53:44 +08:00
Rajesh Taneja c72e9871f1 MDL-56210 behat: Ensure behat waits for dependancy manager 2016-09-30 10:33:00 +08:00
Eloy Lafuente (stronk7) cf2376cf00 MDL-56127 forms: multiple select dependencies fixed
This is a fix for a regressions introduced by MDL-54778. It
seems that escaped all our tests because there isn't any case
of such a dependency in core, but Daniele Cordella was facing
it within his surveypro module.
2016-09-29 16:52:59 +02:00
Eloy Lafuente (stronk7) 50804bc956 MDL-54778 form: Make it all js style (eslint) compliant
The changes in this commit should not be problematic, just:

- different whitespace.
- some docs.
- 1 variable to camelCase.

And then, less trivial, but safe enough IMO:

- a change to camelCase some identifiers and their calculation.
2016-06-22 01:30:06 +02:00
Andrew Nicols 56fb03794c MDL-54778 form: Fix lots of issues with form dependencies
The original issue here was that each loop of the named values did not
check for prototypal properties. As a result, if there were input fields
with names such as 'sort', 'valueOf', 'constructor', etc. these would
return their prototypal functions instead of a falsy value, and be treated
as though they are array - hence the 'Cannot push to Function' type error.

Following on from this I discovered that the data stores were being created
as arrays, but used as objects. This can also cause issues with some form
input names -- e.g. if they are numeric.

These two issues were resolved together by correctly storing them in
objects, and checking that those objects had real properties
(hasOwnProperty). This itself has to use the prototypal function to cater
for the potential of a field name called 'hasOwnProperty'.

I also found that the instance value stores were being initialised in the
prototype (and therefore shared), which meant that there were numerous
issues if two forms were present on the same page, or one form replaced an
existing one (e.g. forms initialised in JS).

In addition, it also became apparant that several values were being used
outside of scope, or in the wrong scope. This caused further issues when
creating multiple forms on a page.
2016-06-21 08:08:03 +08:00
Ankit Agarwal 6513cc0376 MDL-42097 formslib: updates to edit profile form
Add a new dependency 'in' in forms library
Use the 'in' dependency to disable the 'changepassword' field when a auth plugin doesn't support it
2013-12-03 14:15:16 +08:00
Matt Petro 2f8edd067f MDL-35674 formslib: Optimized disabledIf javascript for large forms 2013-07-22 00:08:18 +01:00
Frederic Massart 58f3865fce MDL-39280 form: Multiple select support disabledIf with multiple values 2013-05-10 09:33:46 +08:00
Ruslan Kabalin ac5e6ca4d1 MDL-30637 Refactor Advanced fileds functionality
The displaying of advanced items has been refactored. The changes are:

* The Advanced button is replaced by the Show Less/More link
* The Show less/more link controls advanced elements only within the section
  it is located at
* The Show less/more state of sections is preserved between form submissions
* When javascript is off, all advanced elements will be displayed by default,
  no show/hide controls will exists on the page
2013-02-07 14:38:37 +00:00
Tim Hunt bef9ab0ad5 MDL-34728 forms: woy for other JS to trigger disableIf update.
This was discovered while working on MDL-32705. If some JavaScript (for
example a select all/none link) changes the state of some form fields,
then the disabledIf state of other form elements does not automatically
update.

The existing form JS was so well encapsulated that this was impossible.
This change pokes a hole in the encapsulation, and provides an API
    M.form.updateFormState(formid);
that other bits of JS code can call when necessary.
2012-08-13 11:13:06 +01:00
Marina Glancy c81f332876 MDL-34221 disabledIf support for filemanager and filepicker elements 2012-07-20 10:49:30 +08:00
Davo Smith b1c669a711 MDL-34221 Filepicker - disableIf now prevents drag and drop upload 2012-07-20 10:49:30 +08:00
Tim Hunt 8f6384a9ec MDL-27045 formslib: fix disabledif for advcheckbox
This is based on earlier work by Henning Bostelmann and Tom Potts.
2011-11-17 17:57:27 +00:00
Jason Fowler 483239087c MDL24200 - Admin Users - Changing the submit button to just a button to prevent it from taking focus when entering text. (Patch provided by Hubert Chathi) 2011-11-07 15:29:11 +08:00
Rajesh Taneja 63d5c4ac85 MDL-25937 Forms Library: Filepicker will respect disable if 2011-10-03 16:26:21 +08:00
Aaron Wells 4b72f9eb78 MDL-26167 lib/form: Altering Javascript so that "disabledIf" will disable the "Choose" button for a filepicker 2011-04-15 09:59:46 +12:00
Petr Skoda d306751695 fixed unterminated JS statements 2010-09-18 10:37:19 +00:00
Sam Hemelryk c1422316bf backup MDL-24219 Fixed up dependencies JS for mforms 2010-09-17 03:30:15 +00:00
Sam Hemelryk e2620b9d15 form-javascript MDL-24024 Fixed bug with mforms JavaScript whereby dependencies on radio buttons were constantly returning true 2010-09-13 08:58:32 +00:00
Sam Hemelryk 13e9c0af85 forms MDL-24051 Fixed regression in IE + YUI 2010-09-10 05:53:18 +00:00
Sam Hemelryk 3a905609ae mforms MDL-24048 Fixed bug in IE when attempting to iterate form elements 2010-09-09 06:36:33 +00:00
Sam Hemelryk 5e60ed9b25 forms MDL-23891 Fixed up IE bug in JavaScript for finding reset buttons 2010-08-26 02:05:47 +00:00
Sam Hemelryk c7e3e61c70 javascript MDL-23850 Moved mforms specific JavaScript to a separate file 2010-08-19 05:43:06 +00:00