Add new features to the dropdown components (dialog and status) needed
for using them in quick forms. Now the dialog dropdown have methods to
disable the dropdown button (to disable the field). The status dropdown
has one minor style bugfix and the selected item styles are now stored
as a data attribute.
Regenerate the 'fontawesomeicons.json' file to enforce SVG rendering for
the icons.
The addition of '$CFG->svgicons = true;' in the config.php file addressed this.
It's important to note that '$CFG->svgicons' will eventually be deprecated as part
of MDL-78993. Consequently, I refrained from updating 'readme_moodle.txt,' as SVG
icons will become the default value once the removal is executed.
- Create a new 'showmore' template that receives both collapsed and expanded content.
Initially only the collapsed content will be displayed with a "Show more" button. When it is expanded,
only the expanded content will be displayed with "Show less" button.
- Add 'showmore' component to component library
This patch updates the Font Awesome library version from 4.7 to 6.3.0.
The readme_moodle.txt has been updated properly because the new version
works slightly different.
There is a file to add backward compatibily to version 6 files (shim).
More information about how to upgrade from 4 to 6 can be found in
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4
Although a few icons have been renamed in Moodle 6, as the new version
is compatible with v4 icons, for now the references to the old icons
(fa fa-xxxx --> fa-solid fa-xxxx) haven't been changed yet.
A separate issue will be created to update them in the future and
review if some new icons can be used too.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
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.
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.