745 Commits

Author SHA1 Message Date
Cameron Ball
035247e0f2 MDL-52486 JavaScript: Make sure lang codes use underscores.
In some cases, underscores in lang codes get replaced with dashes
which causes some JavaScript to be unhappy. This patch simply reverse
the underscore to dash replacement on the JS side.
2016-01-11 15:23:29 +08:00
Marina Glancy
c026a28d59 MDL-50851 core_tag: introduce tag collections 2016-01-10 15:25:43 +08:00
Dan Poltawski
f992dcf6e8 MDL-52204 js: fix 'used before defined' errors
Newer versions of jshint detect this coding error, we fix it
by simply reordering the definition of methods.
2015-12-04 11:43:10 +00:00
Ryan Wyllie
e1db2b4112 MDL-52042 autocomplete: close suggestion box
Close the suggestion box when the input loses focus for more
than half a second.
2015-11-09 07:32:56 +00:00
Damyon Wiese
861c1dea98 MDL-51970 autocomplete: Fix for a regression in MDL-51964
This was causing the suggestions list to never open.
Picked up in testing for MDL-51970.
2015-11-04 16:29:47 +08:00
Damyon Wiese
273b255673 MDL-51970 autocomplete: Small refactor because too many options
Each function was taking 8-10 args - combine them all in state and options
objects and pass those around instead.
2015-11-02 10:22:53 +08:00
Damyon Wiese
97d2ea7f87 MDL-51970 autocomplete: Add an option to hide the suggestions
This is used by tags when official tags are disabled.
2015-11-02 10:21:57 +08:00
Damyon Wiese
be9b036a33 MDL-51964 autocomplete: IE11 fires spurious "input" events
We need to check for "real" changes to the input value because
ie11 is just firing events willy nilly.
2015-11-02 10:11:13 +08:00
Andrew Nicols
63a03a8b05 Merge branch 'wip-MDL-51966-master' of https://github.com/marinaglancy/moodle 2015-10-30 07:31:28 +08:00
Marina Glancy
ecbc2a2f25 MDL-51966 forms: case-insensitive search in autocomplete 2015-10-29 15:10:20 +08:00
Dan Poltawski
de342562cc Merge branch 'wip-MDL-51919-master' of git://github.com/abgreeve/moodle 2015-10-28 12:48:18 +00:00
Dan Poltawski
b2aaab60f3 Merge branch 'MDL-51838-master' of git://github.com/damyon/moodle 2015-10-28 11:53:53 +00:00
Adrian Greeve
527bde6e0f MDL-51919 forms lib: Autocomplete doesn't hide prematurely.
Quickly navigating via the keyboard to an autocomplete
element and hitting down would result in the selections
being displayed and then quickly removed. This has now
been fixed.
2015-10-28 14:15:26 +08:00
Adrian Greeve
d304952b43 MDL-51840 forms lib: keyboard navigation with ajax works.
Ajax autocomplete forms can now be navigated properly with
the keyboard.
2015-10-26 15:03:42 +08:00
Adrian Greeve
adebc069bd MDL-51841 forms lib: Autocomplete fields work with spaces. 2015-10-26 15:02:52 +08:00
Damyon Wiese
81c471e2a9 MDL-51821 forms: Be more explicit in autocomplete if no suggestions 2015-10-26 14:20:25 +08:00
Damyon Wiese
bdd60287e5 MDL-51821 forms: Better handling for deselecting items in autocomplete
Fixes 3 problems with deselecting items in an autocomplete field:

1. Keep track of whether items were in the offical suggestion list, or are newly created
   tags and remove the "newly created tags" from the suggestion list when they are
   deselected
2. Change the aria-role for the selected items list when items cannot be deselected (and
   do not treat it like a multiselect list).
3. When leaving and returning focus to the selected items list, remember the last
   active-descendant.
2015-10-26 14:20:25 +08:00
Damyon Wiese
32f3de567f MDL-51838 autocomplete: Scroll the suggestions list
Keep the active item "visible" when using keyboard nav on a long list of suggestions.
2015-10-26 12:20:33 +08:00
Dan Poltawski
319310a57c MDL-51792 js: grunt built 2015-10-19 16:48:33 +01:00
Ryan Wyllie
563fe0a569 MDL-51792 forms: stop deletion of select options
Stopped the keyboard navigation from completely deleting
list options when being deselected using keyboard navigation.
They are now returned to the list of available options to be
reselected.

Also remove the cross from the selected element when it is
a single select box.
2015-10-19 09:39:06 +01:00
Damyon Wiese
60a1ea56d9 MDL-51247 forms: All new aria-pimped autocomplete mform element.
Supports static list of options - or options fetched via ajax.
Has options for single,multi and tags support.
2015-10-14 16:22:44 +01:00
Dan Poltawski
8d49ad2613 Merge branch 'MDL-51539-master' of git://github.com/damyon/moodle 2015-10-06 16:32:02 +01:00
Andrew Nicols
0e30fbd1c8 MDL-51461 javascript: Fix whitespace issue 2015-10-06 16:31:33 +01:00
Andrew Nicols
7a191981b6 Merge branch 'MDL-51461' of https://github.com/andrewhancox/moodle 2015-10-06 16:31:32 +01:00
Andrew Hancox
e56e7c164d MDL-51461 core: Fix issue with client side mustache templates 2015-09-30 10:38:05 +01:00
Damyon Wiese
ee5192614a MDL-51539 javascript: Update loglevel library to 1.4 2015-09-29 14:09:31 +08:00
Damyon Wiese
28de777199 MDL-51222 Javascript: Trigger events for filters on DOM insertion
When nodes are added to the dom, they may need to be re-processed by a JS based
filter. To do this we need to trigger the legacy YUI event filter-content-updated.

To make this easier I added some wrappers to template that will insert the node, run any
JS and trigger the event.

I also changed existing yui code to call the amd function to trigger the event. This way
all jquery and yui listeners will always be notified.
2015-09-22 15:40:51 +08:00
Andrew Nicols
b7fd9a0d25 Merge branch 'MDL-51311-master' of git://github.com/damyon/moodle 2015-09-21 11:32:55 +08:00
Damyon Wiese
4093d64332 MDL-50783 ajax: Default for ajax calls to requirelogin=true 2015-09-15 13:01:30 +08:00
Damyon Wiese
ba224fb42c MDL-50783 Ajax: Configure how to call a webservice through db/service.php
Now the db/service.php array can contain these extra keys to provide information
on how a webservice may be called:

    'ajax' => true (Default is false)

Replaces the xx_is_allowed_from_ajax callback.

    'loginrequired' => false (Default is true)

Means that this webservice can be called through lib/ajax/service-nosession.php
which sets NO_MOODLE_COOKIES to true (faster). This is only safe for webservices returning
static public data (e.g. get_string).
2015-09-14 15:10:21 +08:00
Damyon Wiese
1748938e15 MDL-51311 javascript: Teach Behat to wait for pending JQuery ajax 2015-09-10 13:02:16 +08:00
Marina Glancy
ef4c23ccd2 MDL-50919 tags: new WS core_tag_get_tags 2015-09-02 14:15:16 +08:00
Marina Glancy
8e35585390 MDL-50919 tags: new UI for managing tags 2015-09-02 14:15:13 +08:00
Martin Mastny
2493568970 MDL-38763 core_role: AMD module for managing permissions 2015-09-01 07:31:58 +02:00
Damyon Wiese
e0d08bfa5d MDL-51116 Mustache: Caching issue exists with mustache templates
The first ajax load fetches the template and puts it in localstorage + a js var

The second load gets it from local storage, but does not put it in the js var.

The pix_icon helper expects it to be in the js var always.
2015-08-24 10:50:40 +08:00
Damyon Wiese
841e689a1c MDL-50150 Mustache: Add "BLOCKS" feature to javascript mustache engine.
Pull request: https://github.com/janl/mustache.js/pull/473
2015-08-20 11:44:49 +08:00
Damyon Wiese
b0a583932a MDL-50784 ajax: Require a sesskey for all ajax requests.
This needs to be done before we can expose any webservices that
change state, or return private info to ajax (to prevent CSRF).

Currently there are no webservices exposed to ajax that meet these
criteria - so this issue is to prevent future security issues.
2015-07-13 16:49:06 +02:00
Andrew Nicols
e9ca711ecc Merge branch 'MDL-50520-master' of git://github.com/jethac/moodle 2015-06-15 09:08:48 +08:00
Jetha Chan
e37d53dac1 MDL-50520 templates: fix helpers not firing inside pix helper 2015-06-09 15:23:04 +08:00
Damyon Wiese
2139d7995b MDL-50456 Javascript: Fix simple logic error in core/url amd module 2015-06-03 14:21:03 +08:00
Damyon Wiese
4b9e532633 MDL-49604 Javascript: Add a localstorage cache for strings and templates 2015-04-08 12:31:48 +08:00
Damyon Wiese
9bdcf57951 MDL-49152 output: Templates for renderers (JS and PHP)
Mustache support for rendering templates from either php or js.
2015-03-14 22:48:40 +08:00
Damyon Wiese
72f8324ec5 MDL-49163 Webservices, AJAX: Add support for a new ajax webservice handler.
This is a new script that can call any function in the built-in AJAX webservice. This is
a new system service that is added at install time (like the mobile webservice). It has no
protocols added to it, but it accessible by a new ajax script /lib/ajax/service.php.

Requests and responses to the script are required to be in json format, and multiple functions can
be called in a single request.
2015-03-12 15:07:08 +08:00
Andrew Nicols
3acc64e323 MDL-49269 javascript: Add log, and loglevel amd modules 2015-03-11 08:17:54 +08:00
Damyon Wiese
adeb96d28f MDL-49046 javascript: Add support for AMD modules and jquery.
Grunt is the build tool.
2015-02-23 16:23:10 +08:00