34 Commits

Author SHA1 Message Date
Mikel Martín
91cc98ed3d MDL-75943 reportbuilder: Add custom attributes to reports 2022-12-14 13:50:40 +01:00
Paul Holden
8a657e6d23 MDL-74140 reportbuilder: debugging panel while editing reports. 2022-09-12 10:36:48 +01:00
Paul Holden
07d4be70f8 MDL-74694 reportbuilder: standardize report exporter boolean values.
Specify boolean properties as such, avoid direct interpolation into
templates.
2022-06-12 19:46:39 +01:00
Paul Holden
1e2dd85346 MDL-74600 reportbuilder: re-factor menu helper methods into exporters.
Encapsulate generation of column/audience menu card data, used in the
editor, from helper class methods to specific exporter classes.
2022-05-19 15:56:37 +01:00
Paul Holden
e5434fac25 MDL-74353 reportbuilder: improvements to report sidebar searching.
* Filter on item textContent instead of dataset, which isn't always
  present;
* Fix hiding of cards when they have no matching items
2022-03-30 21:17:45 +01:00
Ilya Tregubov
337f727d39 Merge branch 'MDL-74342' of https://github.com/paulholden/moodle 2022-03-30 12:31:23 +06:00
Paul Holden
dcda9c08e2 MDL-74342 reportbuilder: remove unnecessary template/dataset values. 2022-03-29 09:46:55 +01:00
Jun Pataleta
a646e7999e Merge branch 'MDL-74243-master' of https://github.com/dravek/moodle 2022-03-29 11:33:28 +08:00
Paul Holden
a896ea6473 MDL-74342 reportbuilder: allow audiences to be immediately renamed.
Return rendered editable component in response to form submission
so that the audience card can be updated straight away.
2022-03-28 22:28:03 +01:00
David Matamoros
d3bc3ec0c9 MDL-74243 reportbuilder: Fixed double encoding in report/filter name 2022-03-24 11:46:55 +01:00
Paul Holden
652242f618 MDL-74280 reportbuilder: ensure calendar panel zIndex calculated.
Since 29c00fc1 it is calculated dynamically. Ensure all elements
that would otherwise overlap the panel add appropriate class so
they are accounted for during this calculation.
2022-03-21 09:51:59 +00:00
Mikel Martín
9e329ab152 MDL-74132 reportbuilder: Fix horizontal scrolling regression in editor
MDL-73902 caused a regression in reportbuilder editor horizontal scrolling because of the 'no-overflow' class removal
in the table container wrapper. This patch add styles to allow horizontal scroll in reportbuilder editor table.
2022-03-16 10:21:57 +01:00
Paul Holden
683fc4d9d1 MDL-73811 reportbuilder: ensure audience cards are uniquely keyed. 2022-02-08 16:35:59 +00:00
Mikel Martín
795087462f MDL-73470 core: Move toggle template to core 2022-01-25 18:04:58 +01:00
Mikel Martín
142277dfcb MDL-73469 reportbuilder: Fix clipped corners
- Fix clipped corners in toggle cards
- Fix left corners in left sidebar search input
2022-01-12 15:27:48 +01:00
Paul Holden
a05683d027 MDL-72598 reportbuilder: interface elements for creating schedules.
Add new tab to the report editor, with system report, external API
and Javascript modules for managing report schedules.
2021-12-21 08:57:17 +00:00
Paul Holden
d064a93d29 MDL-72598 reportbuilder: elements to allow audiences to be renamed.
This allows the user to give the audience more context, particularly
when they are used for selection on the forthcoming schedule form
editing.
2021-12-17 14:33:27 +00:00
Mikel Martín
6a6ebbac63 MDL-72770 reportbuilder: Display editor in full screen layout
- use 'popup' layout in editor page and create a custom navbar
- remove 'Settings' toggle button and show settings right sidebar with fixed position
- add 'Edit details' button on navbar that opens a modal to modify report basic settings
2021-12-01 17:12:45 +01:00
Mikel Martín
8e25d534b4 MDL-72822 core_reportbuilder: Accessibility improvements
- Add sr-only headings to tabs
- Change role to 'presentation' in tab <li> elements
- Remove unnecessary aria-labelledby
- Fix heading levels
- Avoid duplicated IDs in audiences
- Replace empty links with buttons
- Fix mustache comments
- Fix mustache contexts
2021-11-24 10:26:14 +01:00
Mikel Martín
68eb55b8e6 MDL-72565 reportbuilder: Add card view functionality
Use card view settings to show a 'card view' for custom reports in small devices
2021-11-11 13:55:32 +01:00
Mikel Martín
aaa7a5a445 MDL-72565 reportbuilder: Add 'Card view' settings to custom reports
- Create a new 'settings' column in reportbuilder_report table and provide an API to manage it
- Add new card view settings to custom reports
2021-11-11 13:55:29 +01:00
Mikel Martín
f2582cc823 MDL-72565 reportbuilder: Use same template for system/custom reports
- rename 'system_report' template to 'report'
- view.php now uses 'report' template

Co-authored-by: Paul Holden <paulh@moodle.com>
2021-11-11 13:44:23 +01:00
Mikel Martín
5a2624c472 MDL-72952 reportbuilder: UX behaviour improvements in audiences
- Show a toast notification when saving an audience
- Add form change checker when adding a new audience to prevent user from navigating away if it is not saved
- Remove expand/collapse animation in audience sidebar to be consistent with editor

Co-authored-By: Paul Holden <paulh@moodle.com>
2021-11-10 17:22:00 +01:00
David Matamoros
8a1e7d913f MDL-72588 reportbuilder: add report access tab.
This tab includes a system report that provides a listing of all
users who can access the report, taking into account all audiences
that have been created for it. Update page of users available
reports to obey audience configuration.

Fix filters JS form to ensure it is only loaded once.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2021-10-29 12:50:20 +02:00
Mikel Martín
144084a2ac MDL-72588 reportbuilder: interface for managing report audiences.
Add new tab to editor, allowing user to select from available audience
types in order to grant access to their reports.

Co-authored-by: David Matamoros <davidmc@moodle.com>
2021-10-29 12:50:15 +02:00
Mikel Martín
9113f9d2f9 MDL-72588 reportbuilder: convert editing interface into a tab.
In preparation for further tabs in this interface, convert the report
editor to use the Dynamic tabs API.

At the same time, update the editor JS and it's modules to add listeners
on `document` instead of the report element itself, which will move in
and out of the current DOM in the future as tabs are switched.

Co-authored-by: Paul Holden <paulh@moodle.com>
2021-10-27 10:05:53 +02:00
David Matamoros
db7102eba5 MDL-70795 reportbuilder: report configuration for default sorting.
Co-authored-By: Mikel Martín <mikel@moodle.com>
2021-10-19 13:56:05 +01:00
Mikel Martín
9000d8d1a0 MDL-70795 reportbuilder: theme updates for custom report editor.
Includes nice interactions for element drag & drop, consistent
styling for templates and tidy up of element alignment/spacing.
2021-10-19 13:56:04 +01:00
David Matamoros
09b69d04e3 MDL-70795 reportbuilder: custom report filters editor.
Implement module for filters editing, allowing the report
editor to define which filters are available when users
are viewing the report.

These filters allow those users viewing the report to further
limit the data being displayed (after conditions have been
applied), by selecting their own values for each filter.

Co-authored-by: Paul Holden <paulh@moodle.com>
2021-10-19 13:56:04 +01:00
Paul Holden
ab596ec11a MDL-70795 reportbuilder: custom report condition editor.
Report conditions allow report creators to limit which data
is displayed when the report is viewed. Users viewing the
report cannot override these condition values.
2021-10-19 13:56:04 +01:00
Paul Holden
8ca9e04f9a MDL-70795 reportbuilder: beginnings of the report editor.
Implement UI elements for editing columns of a report, taking their
definitions from the selected datasource.

Co-authored-By: David Matamoros <davidmc@moodle.com>
Co-authored-By: Mikel Martín <mikel@moodle.com>
2021-10-19 13:56:02 +01:00
Paul Holden
3aecdf42ec MDL-72682 reportbuilder: indicate count of applied report filters. 2021-10-06 01:29:58 +01:00
Paul Holden
8f3c7e6e8c MDL-72545 reportbuilder: reload form fragment after filter reset.
Instead of performing a page reload after resetting report filters,
we can use the fragment API to re-render the form after the user
presses the reset button.
2021-09-24 08:20:38 +01:00
Paul Holden
ef3c605b02 MDL-70794 reportbuilder: user interface for using report filters.
The report filter form is implemented as a dynamic form. Implement
accompanying AMD module for interacting with it here (applying and
resetting report filters).

Co-Authored-By: Mikel Martín <mikel@moodle.com>
2021-07-28 16:40:50 +01:00