Commit Graph

19 Commits

Author SHA1 Message Date
Ferran Recio cf8f4e08e7 MDL-77038 core_courseformat: deprecate state action section_move
The logic behind section_move is ambiguous and unnecessary complex.
The move modal uses section_move_after which presents a more predictable
behaviour. This issue replace the drag&drop use of section_move by
the new section_move_after and deprecate the old method.
2023-11-29 15:51:42 +01:00
Mark Johnson f3fc03e90c MDL-79615 course: Improve efficency of cache rebuilds
When bulk-updating course module visibility, set_coursemodule_visibily
was triggering a partial cache purge and rebuild for each course module.
This potentially led to 2 cache sets each requiring a lock to be
acquired and released per course module, plus any other cache updates
for other changes to the course in the same request.

This adds a new $rebuildcache paramter to the
set_coursemodule_visibilty, which is true by default to retain the
existing behaviour. If set false, it will skip doing the partial purge
and rebuild for that course module, and it is up to the calling code to
ensure the cache is updated as requried.

To assist with this, there is a new
course_modinfo::purge_course_module_cache_multiple() method, which
allows multiple course modules to be purged from the cache in a single
cache set.
2023-10-27 10:50:40 +01:00
Amaia Anabitarte 3ae96a0496 MDL-78201 core_course: Prepare group mode state actions 2023-06-16 00:52:18 +02:00
Ferran Recio a1ea81eb8b MDL-77433 core_courseformat: use validate_cms to check capabilities 2023-03-22 13:21:05 +01:00
Ferran Recio 3beffbb506 MDL-76893 core_courseformat: bulk move activites 2023-03-21 15:46:23 +01:00
Ferran Recio 6ac6100f1c MDL-76894 core_courseformat: bulk move section 2023-03-17 16:18:19 +01:00
Ferran Recio 9c583f5ec5 MDL-76851 core_courseformat: bulk section and cm delete action 2023-03-17 10:26:00 +01:00
Amaia Anabitarte b37fe9a088 MDL-76990 core_course: Recover move right/left functionality 2023-02-27 18:27:57 +01:00
Ferran Recio 302a5e43a6 MDL-74987 core_courseformat: alt to duplicate modules
If a user drags an activity and press the ALT key, the activity will be
duplicated in the new place instead of simply moved. This behaviour
is quite normal in many softwares and it is a non intrusive usability
improvement.
2023-01-04 09:25:52 +01:00
Ferran Recio 35a12cfffb MDL-74987 core_courseformat: migrate duplicate to state action 2023-01-04 09:25:52 +01:00
Ferran Recio fe4784e60f MDL-74989 core_courseformat: migrate cm delete to reactive
Migrate the course index delete activities to the new reactive actions
with batch deletion.
2023-01-03 13:07:31 +01:00
Ferran Recio 8777705827 MDL-73933 core_courseformat: hide and show reactive action
Hide, show and stealth actions were still using the old YUI
module. Now they are using the new course editor
2022-09-15 16:39:29 +02:00
Simey Lameze 45dfb5ac84 MDL-74925 course: use the correct 'remove' action 2022-07-18 15:00:15 +08:00
Ferran Recio 3651b85fbe MDL-73547 core_courseformat: add collapsed section update actions
Now content and course index sections have special mutations to store
the collapsed preferences. This way the backend implementation is
independent of the frontend one and can use caches or other kind of
optimizations of necessary.
2022-02-21 12:33:33 +01:00
Ferran Recio c64bef51a9 MDL-73547 core_courseformat: enable course index cache
Adding caches to the course editor reactive state. The patch improve the
course index loading.
2022-02-21 12:33:33 +01:00
Ferran Recio 3d2a6eacae MDL-71779 core_courseformat: reactive add and delete sections 2021-10-28 16:41:17 +02:00
Ferran Recio 7f750dc01c MDL-71228 course: course index drag and drop 2021-09-09 11:16:10 +02:00
Ferran Recio 830c3eb907 MDL-71209 courseformat: add course index modules
The course index is the first UI component that implements the new
drawers and the reactive components. The course index uses the course
state to present the current course structure and changes whenever
that structure change.
2021-08-20 16:49:06 +02:00
Ferran Recio 21d93554d4 MDL-71863 courseformat: create courseformat subsystem 2021-06-28 13:50:18 +02:00