Skip to content

🚀 Instructor dashboard concurrent ajax lazyloading & zero-cls skeletons - #2985

Open
b-l-i-n-d wants to merge 9 commits into
devfrom
feat/instructor-dashboard-ajax
Open

🚀 Instructor dashboard concurrent ajax lazyloading & zero-cls skeletons#2985
b-l-i-n-d wants to merge 9 commits into
devfrom
feat/instructor-dashboard-ajax

Conversation

@b-l-i-n-d

Copy link
Copy Markdown
Collaborator
  • Add granular concurrent AJAX lazy-loading for instructor dashboard sections
  • Add zero-CLS Skeleton wireframes with matched geometry across desktop and mobile
  • Introduce InstructorMetricsAdapter to decouple domain metrics calculations from presentation
  • Introduce DashboardSectionManager to handle dashboard section dispatching, hooks, and AJAX endpoints
  • Add tutorLazySection Alpine component with query caching, error toasts, and visibility observers
  • Centralize custom event constants (TUTOR_CUSTOM_EVENTS) across date filter and sorting listeners
  • Resolve query parameter clobbering by namespacing top performing courses filter to top_performing_course
  • Eliminate DateFilter clear button initial load layout flash
  • Add architectural decision records (0001-dashboard-ajax-lazyloading-architecture.md, 0002-dashboard-metrics-adapter-pattern.md)

@b-l-i-n-d b-l-i-n-d changed the title 🚀 feat(dashboard): instructor dashboard concurrent ajax lazyloading & zero-cls skeletons 🚀 Instructor dashboard concurrent ajax lazyloading & zero-cls skeletons Sep 1, 2026
@b-l-i-n-d b-l-i-n-d self-assigned this Sep 1, 2026
@b-l-i-n-d b-l-i-n-d added the 4.0.9 Tutor v4.0.9 label Sep 1, 2026
);

try {
$result = self::render_section( $section_id, $params );

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This method is not throwing an exception. Try-catch is not useful here.

* @since 4.0.9
*/
protected static function render_current_stats( $data, array $params ): array {
$start_date = $params['start_date'] ?? '';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are we sanitizing the data?

Comment thread classes/DashboardSectionManager.php Outdated
* @param array $params Context parameters.
* @return array
*
* @since 4.0.9

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check all the docs comments, the format is not what we use. @SInCE tag should on top of param, one line gap should be added before any different annotation.

* @since 4.0.9
*/
public static function date_range( string $from, string $to ): array {
return array(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sanitization missing

@b-l-i-n-d b-l-i-n-d added 4.0.8 Tutor v4.0.8 and removed 4.0.8 Tutor v4.0.8 4.0.9 Tutor v4.0.9 labels Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0.8 Tutor v4.0.8

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants