Commit Graph

324 Commits

Author SHA1 Message Date
Andrew Nicols 85419c5b2e Merge branch 'MDL-59828-master' of git://github.com/damyon/moodle 2017-08-29 11:56:28 +08:00
Damyon Wiese d8e57f02a7 MDL-59828 autocomplete: Sizing issues on themes
We want to avoid page jumps wherever possible. This change uses the original select element as a "proxy" to reserve the space
in the DOM for the enhanced auto-complete when the JS runs.

It uses visibility: hidden to make the select not rendered - but still take up space.

The exact sizing for the CSS was determined by testing and reverse engineering the bootstrap calculations.

The size of user pictures in selectors was reduced to avoid flicker when switching between no selection and a selected user. I
could have reserved a larger amount of space, but it looks worse for pickers with no pictures.
2017-08-25 15:07:40 +08:00
Eloy Lafuente (stronk7) 8839739680 Merge branch 'MDL-59790-master' of git://github.com/lameze/moodle 2017-08-23 11:34:22 +02:00
Jun Pataleta b6f7efb368 Merge branch 'MDL-59784-master' of git://github.com/andrewnicols/moodle 2017-08-23 10:47:54 +08:00
Andrew Nicols e5bdf51ce5 MDL-59784 core: Check for non-promises rather than string
If a malformed value was passed, it may be that we can still display it.
We should not assume that, if a string is not passed, that we are
dealing with a promise.
2017-08-23 10:25:15 +08:00
Simey Lameze b45ca55d6b MDL-59790 core: fix tooltip for pie chart 2017-08-23 10:03:00 +08:00
Eloy Lafuente (stronk7) fae154ea39 Merge branch 'MDL-59859-master' of git://github.com/andrewnicols/moodle 2017-08-22 12:36:48 +02:00
Eloy Lafuente (stronk7) faa509dfb2 Merge branch 'MDL-59784-master' of git://github.com/andrewnicols/moodle 2017-08-22 12:28:32 +02:00
Andrew Nicols 17137d471d MDL-59859 core: Accept Promise for save button
Accept either a promise, or a string for the content of the save button
in the save / cancel modal.
2017-08-21 12:54:34 +08:00
Andrew Nicols 3e0df465db MDL-59784 core: Refactor addblock to listen earlier 2017-08-18 22:51:48 +08:00
Andrew Nicols 728357707d MDL-59784 core: Modal factory should listen before fetching templates 2017-08-18 22:51:48 +08:00
Andrew Nicols e2b503043e MDL-59784 core: Modal should accept title as a promise 2017-08-18 22:51:47 +08:00
Jun Pataleta 68a0485c5c MDL-59836 core_amd: Use only one input event handler
* We have duplicate input event handlers for the autocomplete element
which are both firing when the input element's value is being set.
In case an AJAX handler is defined for the autocomplete suggestions,
this causes the autocomplete suggestions so show "No suggestions" first
and then load the results from the AJAX handler a little bit later.
2017-08-18 11:19:08 +08:00
Ryan Wyllie 6a7ad2cb21 MDL-59388 core_calendar: setUpTrigger needs to handle arrays 2017-08-16 09:27:26 +08:00
Damyon Wiese 6015caa411 MDL-59615 inplaceeditable: autocomplete fix
When autocompletes are removed from the DOM, they need to be properly cleaned up or
their event handlers may get duplicated when they are re-added to the page.

JQuery empty() handles this very nicely.
2017-08-14 11:44:04 +08:00
Andrew Nicols c6de3bd68f Merge branch 'MDL-59382-master-4' of git://github.com/ryanwyllie/moodle 2017-08-03 09:31:44 +08:00
Ryan Wyllie a50768b97f MDL-59382 javascript: template context can be given to modal factory 2017-08-02 04:47:42 +00:00
Ryan Wyllie 4defa05fdc MDL-59382 javascript: fix large styling for modals 2017-08-02 04:47:42 +00:00
Jun Pataleta 198d72913f MDL-59366 core_amd: Modifications for form-autocomplete
* New optional parameter 'closeSuggestionsOnSelect' for the enhance()
function for form-autocomplete. Setting this to true will close the
suggestions popup immediately after an option has been selected. If not
specified, it defaults to true for single-select elements and false
for multiple-select elements.

Part of MDL-59290.
2017-07-28 16:11:38 +08:00
Damyon Wiese ddc1482026 MDL-59527 autocomplete: Don't fetch ajax twice 2017-07-20 09:52:05 +08:00
David Monllao 7d04eaca5c Merge branch 'MDL-59527-master' of git://github.com/damyon/moodle 2017-07-17 14:07:59 +02:00
Damyon Wiese 47dd535097 MDL-59527 forms: Race cond with ajax autocomplete
Sometimes (rarely) the auto complete will show "No suggestions" when there are valid suggestions.
2017-07-14 12:41:14 +08:00
David Monllao eac6f51590 Merge branch 'MDL-59368-master' of git://github.com/damyon/moodle 2017-07-12 16:46:49 +02:00
David Monllao 9e548756cf Merge branch 'MDL-59384-master-final' of https://github.com/lameze/moodle 2017-07-12 14:12:53 +02:00
Simey Lameze 97c4a29d41 MDL-59384 core_modal: trigger bodyRendered event
Part of MDL-59333.
2017-07-12 19:57:22 +08:00
Simey Lameze f02e119afd MDL-59383 core_modal: trigger event on modal module 2017-07-12 18:57:55 +08:00
Simey Lameze d4a87aa370 MDL-59383 core_modal: trigger event on modal module 2017-07-12 18:28:11 +08:00
Damyon Wiese f3ecea3af4 MDL-59368 groups: Peer review fixes
* Fix coalesce on postgres.
* The edit icon's alt shows the HTML entities causing
* enrol/tests/behat/add_to_group.feature Contains a '@doit' tag which I assume is there from testing.
* group/classes/output/user_groups_editable.php
** Missing MOODLE_INTERNAL check.
** Unused variables context_system and moodle_exception.
** The PHPDocs for the constructors are wrong.
** export_for_template() returns an array, not stdClass (according to parent docs).
** Change moodle_exception to coding_exception at the beginning.
* group/lib.php
** Missing docs for core_group_inplace_editable().
* user/classes/participants_table.php
** The docs for the class variables $groups, $course and $context need a '\' beforehand as they are in a namespace.
** I would prefer $this->context = $context; and $this->groups = ... to be done at the end of the constructor with the other class variable assignments.
** You could get rid of the class variable courseid if we are setting course and use $this->course->id instead.
** The function col_groups has @param \stdclass $row but it should be $data
* lib/amd/src/form-autocomplete.js and lib/amd/src/inplace_editable.js
** Some issues here CiBot has pointed out.
* lib/classes/output/inplace_editable.php
** @see should be on a new line.
2017-07-12 10:09:09 +08:00
Damyon Wiese 13426bae93 MDL-59368 inplace_editable: Focus on auto-complete
Also fix JS coding style and build the amd.
2017-07-12 10:07:58 +08:00
Damyon Wiese 5a90a7cabe MDL-59368 groups: Add an explicit cancel button
Autocomplete already uses Escape keyboard handler - so we can't use it to cancel an edit-inplace thing.
Make an obvious cancel button instead.
2017-07-12 10:07:57 +08:00
Damyon Wiese 2fa35b8d16 MDL-59368 groups: Inplace editing for users groups 2017-07-12 10:07:57 +08:00
Damyon Wiese 2e1615f2c0 MDL-59365 eslint: Noop changes for eslint 2017-07-11 13:48:26 +01:00
Damyon Wiese 786e014c5c MDL-59365 autocomplete: Keep the suggestions open
If the list allows multiple selections, don't auto-close the suggestions list
every time something is chosen.
2017-07-11 13:47:28 +01:00
Damyon Wiese a60e8ba51e MDL-59365 enrol_manual: Rewrite the yui enrolment popup in amd
The add/roles thing was only converted to bootstrap 2/4 markup and the yui left in place.

The modal for adding users to a course was unsavable so I rewrote it with an mform in a popup, still calling
the same (barely) modified ajax script.

The webservice for searching cohorts was taken from admin/tool/lp and moved into /cohort. I added a generic "cohort"
mform element at the same time.

The webservice for searching for users was taken from the original ajax script.
2017-07-11 13:47:26 +01:00
John Okely 6bdcaa1320 MDL-59312 notification: Normalise backtrace/stacktrace 2017-06-23 10:43:56 +08:00
Andrew Nicols fa038116bc MDL-59312 js: Add exception on AJAX error 2017-06-23 10:42:22 +08:00
John Okely 671be2bedb MDL-58310 ajax: suppress errors upon page unload 2017-06-19 11:31:24 +08:00
Dan Poltawski 50c277a5d8 MDL-57139 js: built 2017-06-01 14:54:40 +01:00
Dan Poltawski 751ec02540 MDL-57139 amd/templates: catch unhandled promise failure 2017-06-01 14:54:39 +01:00
Dan Poltawski 4276f9c717 MDL-57139 amd/user_date: always return 2017-06-01 14:54:39 +01:00
Dan Poltawski e58ecca175 MDL-57139 core/fragment: simplify promises and always return
We can remove the DIY promise handling because the ajax request can just
return a promise itself.
2017-06-01 10:27:59 +01:00
Dan Poltawski bcf69a655a MDL-58837 js: fix jsdoc error 2017-05-11 14:29:11 +01:00
Marina Glancy f24e17c93e MDL-58837 course: allow to add multiple sections 2017-05-11 18:48:04 +08:00
Dan Poltawski f0572ad21f Merge branch 'MDL-58760-master-pixescape' of git://github.com/mudrd8mz/moodle 2017-05-01 11:25:39 +01:00
David Mudrák 74e238f4b7 MDL-58760 templates: Make {{#pix}} helper work with escaped icon key
There is a difference between how our PHP mustache engine and JS
mustache engine escaping works. If the icon key is not hard-coded in the
template but defined as a context variable, the JS mustache engine
escapes the forward slashes.
2017-04-28 23:04:04 +02:00
David Mudrák f387058839 MDL-58698 js: Fix the detection of the moodle language
This is the same problem that we had in MDL-52486. When the language
pack with multiple underscores (such as "en_us_k12") is selected, the
html root element's "lang" attribute is set to

    <html lang="en-us-12" ...>

which we then map back to the Moodle lang code using the JS function
replace().

What was missed in MDL-52486 was that when replacing a value (and not a
regular expression), only the first instance of the value is replaced.
So the value "en_us-k12" was sent as the lang parameter for the
core_string, which is invalid PARAM_LANG value and the exception was
thrown.

In case of the user_date.js, there was no actual problem experienced and
probably there is none as the language code is used as a cache key
rather than a PARAM_LANG parameter. But we are changing it too for
consistency.
2017-04-26 18:47:10 +02:00
Tim Hunt c1ac8e7fbf MDL-58555 ajax: make ajax web service log entries more useful
It is not used for anything, but we put the method name(s) being called in the URL.
2017-04-10 16:29:16 +01:00
Ryan Wyllie e03d5d4790 MDL-57445 core: allow context variables in pix helper
Allow the user of context variables in the id and component section of
the pix helper.

Part of MDL-55611 epic.
2017-04-03 11:35:37 +08:00
Dan Poltawski dca0ea03b1 Merge branch 'MDL-58317-master' of git://github.com/damyon/moodle 2017-03-21 08:03:42 +00:00
Damyon Wiese 8626dc99fa MDL-40759 fontawesome: Add BC for unmapped icons
This is yukky but it works. Note: I had to duplicate the standard pix icon template
inside the font-awesome one because the way this is rendered does not support partials.
2017-03-20 13:47:30 +08:00