83 Commits

Author SHA1 Message Date
Paul Holden
0a66e9a3f8
MDL-80241 grade: update user filtering by matched properties.
Invert the previous logic, which maintained a "banned" list of
fields, to instead only try to filter on those fields that are
explicitly defined to support that.
2024-02-21 10:21:33 +00:00
Paul Holden
b9f97f705e MDL-80239 grade: escape matched data in user search results. 2023-12-07 08:41:32 +08:00
Andrew Nicols
48bc688ccd
MDL-78324 core: Convert modals to use new static methods
This commit takes all modals which were not using the legacy
ModalFactory.create triggers and migrates them to the new Modal.create
method.
2023-09-09 00:04:11 +08:00
Andrew Nicols
af7719682d
MDL-79064 core: Update all get_strings as uses 2023-08-29 10:57:54 +08:00
Mathew May
a4b3b0d044 MDL-77991 core: Move tertiary search dropdown component 2023-08-03 09:07:18 +08:00
Paul Holden
10b6f979c5
MDL-62859 user: export methods for manipulating user preferences in JS. 2023-05-22 13:51:37 +01:00
Andrew Nicols
511401f4f6 MDL-77559 js: Rebuild all JS with Node 16 2023-03-09 09:53:19 +08:00
Andrew Nicols
33b1e41f13 MDL-75012 js: Full build of all grunt things 2023-03-02 11:55:32 +08:00
David Woloszyn
7a9de2cb24 MDL-68868 core_user: Final deprecation of participants unified filter 2022-10-04 16:09:35 +11:00
Tomo Tsuyuki
68a5034b67 MDL-72509 core: De-couple participants filter from core_user to core
This implementation will de-couple the participant filter from
core user to core so its easily usable to any api in core or any
community plugin. This removes the dependency from the core_user
and creates a nice api where it can produce filterable objects.

Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>

AMOS BEGIN
 MOV [addcondition,core_user], [addcondition,core]
 MOV [adverbfor_and,core_user], [operator_and,core]
 MOV [adverbfor_andnot,core_user], [operator_andnot,core]
 MOV [adverbfor_or,core_user], [operator_or,core]
 MOV [applyfilters,core_user], [applyfilters,core]
 MOV [clearfilterrow,core_user], [clearfilterrow,core]
 MOV [clearfilters,core_user], [clearfilters,core]
 MOV [filtersetmatchdescription,core_user], [filtersetmatchdescription,core]
 MOV [filterrowlegend,core_user], [filterrowlegend,core]
 MOV [filtertype,core_user], [filtertype,core]
 MOV [match,core_user], [match,core]
 MOV [matchofthefollowing,core_user], [matchofthefollowing,core]
 MOV [placeholdertypeorselect,core_user], [placeholdertypeorselect,core]
 MOV [selectfiltertype,core_user], [selectfiltertype,core]
AMOS END
2022-09-27 12:07:36 +08:00
Paul Holden
134773553d MDL-74144 user: add cancel button to user private files form. 2022-03-09 11:31:06 +00:00
Andrew Nicols
e1b9d5f3cd MDL-73915 js: Drop support for IE and android
Moodle announced that support for IE would be dropped back in August
2020 with Moodle 3.9 but not active steps were taken at that time. That
decision was made in MDLSITE-6109 and this particular step was meant to
be taken in Moodle 3.10.

This is the first step taken to actively drop support for IE.

This commit also bumps the browser support pattern from 0.25% to 0.3%.
The percentage here includes any browser where at least this percentage
of users worldwide may be using a browser. In this case it causes
support for Android 4.3-4.4 to be dropped, which relate to Android
KitKat (released 2013).

This combination of changes means that all of the supported browsers in
our compatibility list support modern features including async,
for...of, classes, native Promises, and more which has a huge impact on
the ease of debugging code, and drastically reduces the minified file
size because a number of native Polyfills included by Babel are no
longer included.
2022-02-23 08:55:20 +08:00
Andrew Nicols
0a4047ab31 MDL-73915 js: Switch amd minification to terser
Unfortunately the babel minify-mangle plugin seems to be abandoned and
in certain circumstances can be very buggy. The only safe options are to
disable it, or to switch to a different minification library.

Not minifying our javascript is not ideal, so this commit updates the
javascript tasks to use a rollup, combined with babel, and terser.

Babel still converts code from ES/UMD/AMD to AMD modules with the
relevant browser support, whilst terser minifies the code.

The rollup bundler handles tracking and creation of sourcemaps, and
supports better parallelisation of the tasks.

Since the upgrade to Node LTS/Gallium requires an upgrade to @babel/core
and eslint, which change the built files anyway, this seems like the
ideal time to make this change.
2022-02-23 08:55:09 +08:00
Andrew Nicols
aa7f7957ea MDL-73915 js: Upgrade babel and eslint 2022-02-23 08:53:54 +08:00
Andrew Nicols
8a126b75e5 MDL-73255 user: Ensure that invalid filters are not left
When there is no group but a default groupmode is set, the group
configuration is provided but the group data is not present. This
resulted in a JS error and an invalid filter line was left in place.

This change conditionally checks the data-filter-type-class value of the
filterDataNode so that no JS error is produced if the filterDataNode
does not exist and therefore removes the empty filter row.
2021-12-23 11:01:44 +08:00
Andrew Nicols
349312143d MDL-72013 js: Fix jsdocs to meet stricter eslint 2021-10-21 13:28:00 +08:00
Paul Holden
2b6d4c3077 MDL-70165 course: always import inplace editable module.
It's required on the course participants table for the roles/groups
columns, but isn't always loaded after adding the first participant.
2021-08-09 10:30:22 +01:00
Andrew Nicols
92179b7057 MDL-71113 js: Fix all jsdoc warnings 2021-06-18 09:38:05 +08:00
Marina Glancy
8974874018 MDL-71051 core_user: create user profile field form is now modal form 2021-04-28 11:47:22 +02:00
Marina Glancy
60b95cd46f MDL-71051 core_user: editing user profiles - modal form, template 2021-04-28 11:47:22 +02:00
Mikel Martín
8de59fc435 MDL-70871 user: Move 'Show all X' functionality to dynamic_table 2021-03-23 09:55:24 +01:00
Eloy Lafuente (stronk7)
c9912e2c0e Merge branch 'MDL-70565' of git://github.com/paulholden/moodle 2021-03-16 22:48:57 +01:00
David Mudrák
b389393dc5 MDL-67748 user: Add new core_user/form_user_selector JS module
The module provides AJAX support for the autocomplete form element.
2021-03-15 21:24:05 +01:00
Paul Holden
be2862fe6f MDL-70565 user: filter course participants by country. 2021-03-12 09:50:05 +00:00
Adrian Greeve
baa906485c Merge branch 'MDL-66025' of git://github.com/paulholden/moodle 2021-03-11 11:46:34 +08:00
Ilya Tregubov
eaf40e050e MDL-69680 lib: Replace deprecated jQuery functions 2021-03-04 12:48:26 +08:00
Marina Glancy
440073ff20 MDL-64554 user: make private files editor modal/ajax form 2021-02-17 18:06:57 +01:00
Paul Holden
3112712ec3 MDL-66025 user: require message content in bulk action.
Also import missing 'core/notification' dependency.
2021-02-14 20:09:18 +00:00
Jun Pataleta
a6e4ea65a4 MDL-69145 core_user: Set default filter to ALL 2020-12-09 10:51:12 +08:00
Paul Holden
5fb73c9639 MDL-69964 course: toggle participant checkboxes in root element.
For a given toggleGroup, the relevant action elements are not
necessarily descendants of the same tableRoot element, on the
course participants page.
2020-11-16 17:44:17 +00:00
Shamim Rezaie
c682aa5f97 MDL-68167 user: Fix missing label for participants filter input fields 2020-10-30 16:01:38 +11:00
Shamim Rezaie
ceda24637d MDL-68167 user: filter elements should listen to accessibleChange event 2020-10-30 14:52:52 +11:00
Jun Pataleta
49a34f1593 Merge branch 'MDL-68912' of https://github.com/rlorenzo/moodle 2020-06-11 11:01:05 +08:00
Rex Lorenzo
330c871c3f MDL-68912 user: "Send a message" select all not working 2020-06-10 17:53:53 -07:00
Andrew Nicols
eb45751b7b MDL-68994 user: Reset filterverb value when resetting filter 2020-06-10 14:19:02 +08:00
Andrew Nicols
7b3026fabe MDL-68977 core_user: Refresh table after removing all filters
Previously the update function was called for each row as it was
removed. This patch changes the behaviouro to only remove one row at at
ime.
2020-06-10 08:03:16 +08:00
Andrew Nicols
cb2f672525 MDL-68977 user: Add pendingPromise to interactions 2020-06-09 14:36:08 +08:00
Andrew Nicols
8503e0ee53 MDL-68977 user: Do not refresh participants table on load 2020-06-09 14:35:39 +08:00
Andrew Nicols
dd9dea6148 MDL-68977 user: Normalise participant table filterdata 2020-06-09 14:35:21 +08:00
Andrew Nicols
eb087fc5de MDL-68951 user: Add appropriate exceptions for table/participants 2020-06-08 09:35:39 +08:00
Andrew Nicols
084c955e49 MDL-68612 user: Set the initial filter on page load 2020-06-03 14:29:22 +08:00
Michael Hawkins
c36f37dfb4 MDL-68612 user: Fixed delete participants filter row execution order
This ensures that when deleting the penultimate filter, the filterset
join type is reset before the filters are re-applied.
2020-05-29 12:18:39 +08:00
Michael Hawkins
3d60881d5d MDL-68612 user: Participants filter row accessibility improvements
More clearly defining each filter row and its ability to remove
filter selections for screen readers.
2020-05-29 12:18:39 +08:00
Michael Hawkins
9e8aa94b88 MDL-68612 user: Unified filter deprecations - JavaScript 2020-05-29 10:10:33 +08:00
Andrew Nicols
110f3ebf54 MDL-68169 user: Limit the number of filter conditions
Part of MDL-67743
2020-05-27 10:49:44 +08:00
Andrew Nicols
028ec17c94 MDL-68169 user: Add keyword filter
Part of MDL-67743
2020-05-27 10:49:44 +08:00
Andrew Nicols
f14df62d1a MDL-67917 user: Use custom templates for participant value selection
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols
77ba77f10a MDL-67917 user: Add skeleton for new participants filter
Part of MDL-67743

AMOS BEGIN
  CPY [select,core],[selectfiltertype,core_user]
AMOS END
2020-05-27 10:49:43 +08:00
Andrew Nicols
fb4f19af80 MDL-68778 user: Add bulk action pendingjs checks 2020-05-20 15:45:24 +08:00
Andrew Nicols
db5be3a31c MDL-68778 user: Fetch select from selected option
It seems that the HTMLSelectElement behaves slightly different on Linux
vs MacOS.

On Linux with Firefox 47 when selecting an option the
HTMLOptionElement is returned, whereas on MavOS the HTMLSelectElement
that the Option belongs to is returned.

We need to normalise the value here before resetting the currently
selected item.
2020-05-20 13:17:50 +08:00