63 Commits

Author SHA1 Message Date
Ilya Tregubov
cb2cf0602d
MDL-78775 core_grades: Fix Behat 2023-10-18 12:54:28 +08:00
Jake Dallimore
12fa9a8d22
MDL-79613 core_grade: revert the removal of searchwidget templates
These templates are needed by plugins which use the now-deprecated
searchwidget (located in grade/amd/src/searchwidget/basewidget.js)
in order to keep that deprecated widget working during the deprecation
time period. This also clarifies the js deprecation notice.
2023-10-06 12:22:33 +08:00
Ilya Tregubov
216060b637
Merge branch 'MDL-78217-master' of https://github.com/rezaies/moodle 2023-09-22 18:06:25 +08:00
Shamim Rezaie
7b8aa2daf1 MDL-78217 grade: Fixing invalid input as early as possible 2023-09-22 19:40:13 +10:00
Ilya Tregubov
d22800ca42
Merge branch 'MDL-78217-master' of https://github.com/rezaies/moodle 2023-09-22 10:53:55 +08:00
Shamim Rezaie
c428c0195a MDL-78217 grade: Keep category total updated in the UI 2023-09-22 05:36:22 +10:00
Shamim Rezaie
aa30501b80 MDL-78217 grade: Recalculate Parent Weights on Zero Child Weights
The maximum grade for that category is considered as zero when all child
weights within a category are zero.
2023-09-22 05:36:22 +10:00
Shamim Rezaie
6aa05cfb9a MDL-78217 grade: Refine front-end weight handling and add validation
In this commit, the front-end experience for grade item weights in the
gradebook setup page is refined, building upon the improvements made in
the previous commit.

Firstly, overridden weights are excluded from automatic adjustments.
This enhancement guarantees that user-specified weights remain unchanged
by front-end calculations, thereby preserving the flexibility of custom
weight assignments.

Additionally, front-end form validation has been introduced to enhance
the user experience. Now, users will see validation errors if they
submit invalid values, giving them the opportunity to correct the values
themselves. This ensures that weights are not automatically normalised
by the back-end code, preserving the values as entered by the user.
2023-09-22 05:36:16 +10:00
Mihail Geshoski
0062aed025 MDL-77035 grades: Bulk actions area implementation in gradebook setup
Implements the bulk actions area in the gradebook setup page.
2023-09-20 23:53:43 +02:00
Mihail Geshoski
9dcc17ce11 MDL-77035 grades: Bulk move action implementation in gradebook setup
Introduces a JS class for the bulk move action in the gradebook setup
and the relavant templates.
2023-09-20 23:53:43 +02:00
Shamim Rezaie
22a97437d1 MDL-78217 grade: Improve front-end grade item weight calculations
This change enhances the user experience in the grade report grader by
moving grade item weight calculations to the front-end. Previously,
these calculations were done on form submission, resulting in slower
performance and less interactivity.

With this improvement, grade item weights are now calculated dynamically
in the browser as users make changes, providing instant feedback and a
more responsive interface. This change improves the usability and
efficiency of the grade report grader.

This is only applicable to natural aggregation type.
2023-09-19 21:00:15 +10:00
Andrew Nicols
af7719682d
MDL-79064 core: Update all get_strings as uses 2023-08-29 10:57:54 +08:00
Jun Pataleta
7b94cd0a4b
Merge branch 'MDL-79079' of https://github.com/paulholden/moodle 2023-08-25 10:44:48 +08:00
Paul Holden
b0d1d885b1
MDL-79079 grade: prevent default click event when toggling category. 2023-08-21 12:00:45 +01:00
Mathew May
b1063f5891 MDL-78097 grade: Allow the initials bar to pass current page params 2023-08-17 09:41:53 +08:00
Jun Pataleta
1be10f4249
Merge branch 'MDL-77991' of https://github.com/Chocolate-lightning/moodle 2023-08-03 10:23:24 +08:00
Mathew May
a4b3b0d044 MDL-77991 core: Move tertiary search dropdown component 2023-08-03 09:07:18 +08:00
Sara Arjona
3e4157b21f
Merge branch 'MDL-78430-master-2' of https://github.com/ilyatregubov/moodle 2023-08-01 13:02:47 +02:00
Mathew May
b2e1121fc0
MDL-77639 gradebook_setup: Create outcomes via dyn form 2023-08-01 11:34:04 +07:00
Mihail Geshoski
b5a87c1919
MDL-78430 core_grades: Carry over basic grade item data to advanced form 2023-07-28 16:16:19 +08:00
Jun Pataleta
b12e77119e
Merge branch 'MDL-78377' of https://github.com/paulholden/moodle 2023-07-26 10:47:41 +08:00
Ilya Tregubov
1d3f4d631d
MDL-77638 grade: Create add/edit grade category modal. 2023-07-25 17:05:41 +08:00
Paul Holden
d6313c045a
MDL-78377 grade: reset page number when filtering by group. 2023-07-03 12:53:02 +01:00
Mathew May
997134f52f MDL-77637 gradebook_setup: Create gradeitems via dyn form 2023-06-27 09:01:25 +08:00
Shamim Rezaie
6de23902cd MDL-77451 gradereport: stress handling for multiple clicks 2023-05-09 16:28:51 +10:00
Mihail Geshoski
ad7839f6ff MDL-77889 gradebook: Tighten up backward compatibility checks 2023-04-21 16:53:47 +08:00
Shamim Rezaie
e38262e271 MDL-77889 gradereport: restore backwards compatibility in searchwidget
The widgetbase module was intended to be a generic search widget,
despite its location in grade/amd/src. As such, other modules may
depend on this. This was modified in MDL-76246, which added new
requires params to the js, and changed the js to expect certain new
data attributes in the templates. This broke b/c for existing
dependents.

This patch makes sure the existing uses of the basewidget continue
to work by adding b/c code. See MDL-77991 which deals with deprecating
this search widget and replacing it with one that just implements the
desired combobox logic, without the b/c code. That issue should also
make it abundantly clear that this widget is for public consumption.
2023-04-21 14:19:43 +08:00
Mathew May
d80fb6ce2c MDL-76143 gradebook: Add search into graderreport 2023-03-30 11:29:01 +08:00
Shamim Rezaie
02471ef1cd MDL-76246 core_grades: Remove url param from ws 2023-03-22 20:59:14 +11:00
Shamim Rezaie
d2881df06b MDL-76246 core_grades: Group search widget to combobox 2023-03-22 20:59:14 +11:00
Shamim Rezaie
3db5625fc9 MDL-76246 gradereport_user: Make the user search widget a combobox
Use <div> instead of <button> because <button> cannot have <div>
children.
2023-03-22 20:59:14 +11:00
Mihail Geshoski
4d7900a391 MDL-77032 grade: Collapsible grade categories in Gradebook setup 2023-03-17 23:04:41 +08: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
Mathew May
712f219c7c MDL-76134 gradebook: Hook into tertiary dropdown item 2023-01-09 09:22:20 +08:00
Mathew May
57e65480a3 MDL-75837 gradebook: accessibility improvements 2022-11-14 10:19:45 +08:00
Mihail Geshoski
77a5f1aa11 MDL-75837 core_grades: Selector module for the search widget 2022-11-14 10:11:43 +08:00
Mihail Geshoski
23640e81e8 MDL-75837 core_grades: Clear search support in the base search widget 2022-11-14 10:11:42 +08:00
Mihail Geshoski
d272dcab1d MDL-75837 core_grades: Group search widget within a dropdown
Modifications that will enable the group search widget to be rendered
within a dropdown element.
2022-11-14 10:11:42 +08:00
Mihail Geshoski
09d0a20d45 MDL-75837 core_grades: Adapt the base search widget to support dropdowns 2022-11-14 10:11:42 +08:00
Shamim Rezaie
fba91abe5e MDL-75423 core_grades: prevent multiple initialising of the group widget 2022-11-10 22:43:14 +08:00
Mathew May
ee71eae12a MDL-75362 gradebook: add group selector into reports 2022-10-20 21:24:51 +08:00
Mathew May
e84948c4a7 MDL-75362 gradereport_singleview: Roll in zero state 2022-10-20 21:24:51 +08:00
Mathew May
e7c1c2841d MDL-75362 gradereport_user: Roll in zero state work for user report 2022-10-20 21:24:51 +08: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
349312143d MDL-72013 js: Fix jsdocs to meet stricter eslint 2021-10-21 13:28:00 +08:00
Andrew Nicols
92179b7057 MDL-71113 js: Fix all jsdoc warnings 2021-06-18 09:38:05 +08:00
Jun Pataleta
2f848616c7 MDL-65948 core_grade: Use new core/checkbox-toggleall 2019-12-30 14:13:35 +08:00