Commit Graph

983 Commits

Author SHA1 Message Date
Huong Nguyen 1125b4ada6 Merge branch 'MDL-85168-MOODLE_500_STABLE' of https://github.com/phmemmel/moodle into MOODLE_500_STABLE 2025-10-21 10:36:34 +07:00
Huong Nguyen 7518095d59 Merge branch 'MDL-85418-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-10-17 10:28:04 +07:00
Jun Pataleta 280d9de9c3 MDL-86512 core: Ensure bulk action selection count announcement
When the bulk actions are first rendered, the item count in the
aria-live region will not be announced by screen readers as aria-live
regions need to be present in the DOM and changed before screen readers
can announce their content.

This commit ensures that the item selection count will be announced
when the bulk actions get added to the DOM by calling
`updateBulkItemSelection()` after rendering the bulk actions HTML. This
removes the non-breaking space in the template, effectively causing a
change in DOM without affecting the visuals, and allowing screen readers
to announce the contents of the item count.
2025-09-16 22:39:00 +08:00
Paul Holden 1cdfee56d9 MDL-85418 user: prevent default click event/scroll in user sub-menus. 2025-09-15 10:41:23 +01:00
Huong Nguyen 0d3ecd8267 Merge branch 'MDL-84076-MOODLE_500_STABLE' of https://github.com/PhMemmel/moodle into MOODLE_500_STABLE 2025-09-10 09:10:10 +07:00
Philipp Memmel cbb7382c86 MDL-84076 core_templates: Avoid manipulation of template context object 2025-09-05 09:59:06 +02:00
Paul Holden 558fccee57 MDL-86248 theme_boost: consistently apply dropdown item spacing.
Replace previous ad-hoc fixes for active item spacing in dropdown
menu items.

Changes to Javascript are due to the following bug in our SCSS
compiler, preventing a simpler `&:has([...])` selector:

https://github.com/scssphp/scssphp/issues/606

Co-authored-by: Mikel Martín <mikel@moodle.com>
2025-08-28 16:56:44 +01:00
Ilya Tregubov 8ba7c1f0f3 Merge branch 'MDL-85260-500' of https://github.com/tasiobg/moodle into MOODLE_500_STABLE 2025-08-07 09:11:27 +03:00
Huong Nguyen adb245071a Merge branch 'MDL-85590_fix_modal_backdrop_attachment_point_500' of https://github.com/MariaMozgunova/moodle into MOODLE_500_STABLE 2025-07-30 08:37:41 +07:00
Jayce Birrell 096be6d576 MDL-85698 core: combo box informs screen reader users 2025-07-29 10:50:16 +09:30
Maria Mozgunova e8f71adf00 MDL-85590 core: Fix modal backdrop attachment point for full screen 2025-07-28 10:46:58 +01:00
Huong Nguyen 0668e2186a Merge branch 'MDL-85050-500' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_500_STABLE 2025-07-17 10:24:29 +07:00
Jake Dallimore d18f7da487 MDL-85514 core_form: support 'in' rule for multiselects via subset of
The 'in' rule currently behaves the same way that 'eq' does when used
with multi-selects, which is not correct. It should be modelled by
checking whether the selected values are a subset of the rule values
(i.e. selected values are 'in' the rule values). This patch implements
that for core form rules as well as for the admin settings show/hide.
Several behat features are updated as well, because these were verifying
the incorrect behaviour for multi-select in rules.
2025-06-19 09:54:45 +08:00
Jun Pataleta f26f018876 Merge branch 'MDL-84804-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-05 08:12:39 +08:00
Paul Holden 9bed548080 MDL-84804 output: amend page title when navigating dynamic tabs.
Prepend the current tab name to the page title, to ensure we can
easily identify the current page/tab and that it is both unique
and accessible.
2025-06-04 14:07:38 +01:00
Paul Holden 410747af21 MDL-84804 javascript: new module for manipulating the page title. 2025-06-04 14:07:21 +01:00
cescobedo e20e2c044b Merge branch 'MDL-85273-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-04 12:59:13 +02:00
Jun Pataleta 03b1a727b6 Merge branch 'MDL-85041-500' of https://github.com/junpataleta/moodle into MOODLE_500_STABLE 2025-06-04 17:48:18 +08:00
Jun Pataleta a92df9e0ee MDL-85041 core: Make methods calling announceChanges async as well 2025-06-04 17:33:18 +08:00
meirzamoodle 25f8dd9d63 MDL-85041 core: Improve autocomplete/tag a11y for assistive tech
- Updated autocomplete behavior to announce dynamic changes
via ARIA live regions
- Fixed focus management for keyboard and screen reader navigation
- Added proper role/aria tags for interactive tag components
2025-06-04 17:33:17 +08:00
sam marshall d21fcdee19 MDL-84732 Accessibility: Focus issue after closing nested modal 2025-05-23 15:47:12 +01:00
Amaia Anabitarte e534517f7f Merge branch 'MDL-85264-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-19 12:38:25 +02:00
toanlamt 002d1171bd MDL-85050 Javascript: core/dropzone Fix link & box click event conflict 2025-05-15 15:04:54 +07:00
Tasio 9847d4484b MDL-85260 core: prevent background scrolling
After upgrading to Bootstrap 5 (Moodle v5), opening a modal no longer prevents the background content from scrolling.
This fix restores the intended behavior by mimicking Bootstrap 5's JavaScript logic that disables background scrolling
when a modal is open.
2025-05-14 15:36:00 +02:00
Philipp Memmel 2304462b47 MDL-85168 lib: Move courseid filter to participants_filter.js 2025-05-09 07:21:02 +02:00
Paul Holden c3056486bf MDL-85264 javascript: reject promise when hiding saveCancel modal. 2025-05-02 17:30:09 +01:00
Paul Holden 286e5f0a7d MDL-85273 output: fix custom menu dropdowns within "More" sub-menu.
Since move to BS5 data-* attributes in 0c586b41 trying to open custom
menu dropdowns that had been moved to the "More" sub-menu was broken.

It appears that Bootstrap now handles open/close for us automatically
(so we were effectively closing the menu immediately after Bootstrap
opened it).
2025-05-01 22:04:11 +01:00
Lars Bonczek 742b58fb04 MDL-83563 form: Fix hideIf and disabledIf dependent on multiselects 2025-04-24 07:31:17 +02:00
Paul Holden 03ee9f3c1d MDL-85264 output: fix form change checker when switching tabs.
During the Bootstrap 5.0 upgrade the event handling within dynamic
tabs appears to have changed such that the "click" event happens
too late for the form change checker module to determine whether
there were any "dirty" forms on the tab being switched from.

This is related to, although not specifically caused by, changes
made in 0c586b41.
2025-04-23 18:03:32 +01:00
meirzamoodle e9034326c7 MDL-84823 message: Fix ARIA attributes in popovers and messaging drawers
> ARIA Expanded
A disclosure is a widget that allows content to be
collapsed (hidden) or expanded (visible). It has two elements:
1. Disclosure button, and
2. Section of content whose visibility is controlled by the button.

ARIA Expanded must be applied to the disclosure button element
or the element with role="button" rather than the content.

> ARIA label
Move the icon title and aria-label as they are not
interactive elements to the toggle element.
The title attribute is helpful for the tooltip,
and the aria-label benefits the screen reader.
2025-04-03 10:59:05 +07:00
Andrew Nicols 9137558cd5 MDL-82565 core: Add support for routing of front-end pages
This is the beginning of the end for non-routed pages in Moodle and the
start of SEO-friendly page URLs.

A 'shim' is provided for backwards compatibility.
2025-03-26 21:20:58 +08:00
Huong Nguyen 286e797a4c Merge branch 'MDL-84897-main' of https://github.com/ferranrecio/moodle 2025-03-19 09:52:01 +07:00
Jun Pataleta 56183c786e Merge branch 'MDL-81714_main' of https://github.com/marxjohnson/moodle 2025-03-18 12:57:55 +08:00
ferran c72f27fdef MDL-84897 course: fix process monitor in Bootstrap 5 2025-03-17 13:10:32 +01:00
Mark Johnson 69afa8a3ac MDL-81714 grades: Display "Run now" button for admins in task indicator 2025-03-14 16:01:05 +00:00
Mark Johnson 10de329397 MDL-81714 grades: Add regrading progress indicator to grade reports 2025-03-14 16:01:05 +00:00
Sara Arjona 4d07aaadf4 Merge branch 'MDL-84398' of https://github.com/pedrojordao/moodle 2025-03-10 11:12:05 +01:00
Sara Arjona 0155708345 Merge branch 'MDL-84159' of https://github.com/paulholden/moodle 2025-03-10 11:07:26 +01:00
Andrew Nicols e183df6de2 Merge branch 'MDL-84529' of https://github.com/cwarwicker/moodle 2025-03-08 20:52:04 +08:00
Pedro Jordao c6dd02d764 MDL-84398 libraries: Configure locale property for ChartJs
ChartJs has a property called locale that makes possible to format scale
numbers according to a language. This way we ensure that decimal places
will be displayed correctly in the chart labels and tooltips.
2025-02-27 21:30:58 -03:00
Conn Warwicker a6e30bbc04 MDL-84529 core: Remove max validation on datetime filter.
This removes the "max" attribute from the input field of the
datetime filter. This can then be added back in by specific
filters if they inherit the core one and add their own
getContext() method.
2025-02-27 13:42:23 +00:00
Huong Nguyen 17d67c00bc Merge branch 'MDL-80351' of https://github.com/pedrojordao/moodle 2025-02-27 10:13:13 +07:00
Mikel Martín ac146ac14e MDL-84324 core: Fix Bootstrap dropdown key listeners
Bootstrap EventHandler is managing the keydown event at document
level in the capture phase. That is conflicting with dropdown elements
with form autocomplete inputs inside, because when suggestions panel is
open, pressing the "Esc" key will close the whole dropdown.
This commit fixes that behaviour by realocating the Bootsrap dropdown
event listener to the body instead of the document.
2025-02-25 13:31:41 +01:00
Mikel Martín de8e8806da MDL-84324 core: Add jQuery compatibility for BS5
You don’t need jQuery in Bootstrap 5, but it’s still possible to use our components with jQuery.
If Bootstrap detects jQuery in the window object, it’ll add all of our components in jQuery’s plugin system.
This allows you to do the following:
$('#myTooltip').tooltip('show')
2025-02-21 14:48:02 +01:00
Mikel Martín 413b9219bf MDL-75669 output: Fix subpanels for BS5
- Fix subpanels positioning using data-bs-popper static
- Fix subpanels and dialogs event listener to use Boostrap EventHandler.
  Doing that will avoid Bootstrap from stop propagating the event to the
  subpanels and dialogs listeners.
2025-02-17 08:13:48 +01:00
Mikel Martín 0c586b41c1 MDL-75669 theme_boost: Fix BS5 related JS
- Migrate Boostrap components related JS from JQuery to vanilla JS.
- Migrate Boostrap components related Events from JQuery to vanilla JS.
2025-02-17 08:13:11 +01:00
Mikel Martín 04975cd2b2 MDL-75669 theme_boost: Refactor custom form elements to BS5
- .custom-check is now .form-check.
- .custom-check.custom-switch is now .form-check.form-switch.
- .custom-select is now .form-select.
- .custom-file and .form-file have been replaced by custom styles on top of .form-control.
- .custom-range is now .form-range.
- Dropped .input-group-append and .input-group-prepend. You can now just add buttons
  and .input-group-text as direct children of the input groups.
2025-02-14 10:58:36 +01:00
Mikel Martín 5416483611 MDL-75669 theme_boost: Refactor BS5 data attributes
Data attributes for all Bootstrap5 JavaScript plugins are now namespaced
to help distinguish Bootstrap functionality from third parties and your own code.
For example, data-bs-toggle instead of data-toggle.
This commit refactor all old Bootstrap data-attributes to the new syntax.

Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-14 09:10:33 +01:00
Mikel Martín 2aa19cb088 MDL-75669 theme_boost: Refactor dropdowns positioning classes
- Replace .dropdown-menu-[left|right] with .dropdown-menu-[start|end].
2025-02-14 09:10:33 +01:00
Pedro Jordao 03ee5f8c2c MDL-80351 libraries: ChartJS axis options being ignored
When chartJs was updated to version 3.8.0, chart axis were now accessed
as a object property instead of an array element. This solution aims to
update the way we set the axis properties, aiming to display the labels
and other properties.
2025-02-13 02:22:22 -03:00