60 Commits

Author SHA1 Message Date
David Monllao
69d66020ce MDL-31989 search: get_config method to search areas
Also content_to_text moved to weblib.
2016-02-23 10:47:59 +00:00
David Monllao
db48207e1a MDL-31989 search: Search API and search engine API
Introducing both APIs in moodle along with:
- search_box widget to add a tiny search box
- admin settings with setup steps helper
- cache for search results
- template for a search result
- php unit stuff

Many thanks to Tomasz Muras, Prateek Sachan and Daniel Neis for their contributions, for starting this development
and for pushing for it to be completed. Also thanks to other contributors: Jonathan Harker and eugeneventer.
2016-02-23 10:47:58 +00:00
Marina Glancy
cdc5f9785b MDL-51802 core: new template for quick editing a title
convert editing tag name to use new template
2016-02-13 11:07:42 +08:00
Dan Poltawski
96c69429e5 Merge branch 'wip-MDL-52715-master-additional' of git://github.com/abgreeve/moodle 2016-02-03 09:44:27 +00:00
Adrian Greeve
a2161d57a4 MDL-52715 lib: Clean up of comments and variable names. 2016-02-03 10:07:08 +08:00
Marina Glancy
e11d7380c2 MDL-51283 core_tag: change tagtype to isstandard
Change 'official' to 'standard' in UI
2016-02-02 17:31:14 +08:00
David Monllao
d23bf21b0a MDL-52715 js: Merge M.str and clean memory 2016-02-01 14:29:09 +08:00
Adrian Greeve
cc73ea075e MDL-52715 lib: Addition of new requirements class.
This adds a fragment requirements class to allow plugins
to register JavaScript to be used in an mform.
2016-02-01 14:29:09 +08:00
David Monllao
ed654d4aa8 MDL-35590 block_navigation: Set attribute on node creation
Otherwise we would need to unescape href and title.
2016-01-29 13:01:26 +08:00
John Okely
a057ba5924 MDL-35590 navigation: Remove link from admin node if you have javascript
Also:
* In behat, ensure nav node exists before checking attribute (Credit to
  Rajesh Taneja)
* Remove some unused JS constants
* Fix debugging notice for users without settings block
2016-01-29 11:28:08 +08:00
Ryan Wyllie
5697de1832 MDL-35590 block_navigation: fix keyboard nav
Fixed up the left/right keyboard navigation to match
the aria specification. Also stopped the root node from
being collapsible.
2016-01-29 10:15:26 +08:00
David Monllao
6c3def94fa Merge branch 'MDL-35590-master' of git://github.com/lameze/moodle 2016-01-29 10:15:15 +08:00
Simey Lameze
6759dc35fe MDL-35590 block_navigation: fix remaining issues 2016-01-22 18:48:04 +08:00
John Okely
f889544657 MDL-35590 block_navigation: Add aria roles to navigation block tree 2016-01-21 10:18:22 +08:00
Dan Poltawski
0ff8d34f2f Merge branch 'MDL-52486-master' of git://github.com/cameron1729/moodle 2016-01-18 11:19:55 +00:00
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