Commit 50b8962a authored by Ben Mullins's avatar Ben Mullins Committed by Tim Plunkett
Browse files

Issue #3239477 by bnjmnm: Expose sort options

parent 8d8a6992
Loading
Loading
Loading
Loading
+9 −4
Changes for src/Controller/DrupalOrgProxyController.php: 9 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -2,10 +2,8 @@

namespace Drupal\project_browser\Controller;

use Drupal\project_browser\DrupalOrg\DrupalOrgProjects;
use Drupal\project_browser\DrupalOrg\DrupalOrgReleases;
use Drupal\project_browser\DrupalOrg\Taxonomy\MaintenanceStatus;
use Drupal\project_browser\DrupalOrg\Taxonomy\Vocabularies;
use Symfony\Component\HttpFoundation\Request;
use Drupal\Core\Cache\CacheableResponseInterface;
use Drupal\Core\Controller\ControllerBase;
@@ -68,8 +66,15 @@ class DrupalOrgProxyController extends ControllerBase {
      $connection = \Drupal::database();
      $db_query = $result = $connection->select('project_browser_projects', 'pbp')
        ->fields('pbp')
        ->condition('pbp.status', 1)
        ->orderBy('project_usage_total', 'DESC');
        ->condition('pbp.status', 1);

      if ($request->query->has('sort') && !empty($request->query->get('sort'))) {
        $sort = $request->query->get('sort');
        $direction = $request->query->has('direction') ? $request->query->get('direction') : 'DESC';
        $db_query->orderBy($sort, $direction);
      } else {
        $db_query->orderBy('project_usage_total', 'DESC');
      }

      if ($request->query->has('tab')) {
        $tab = $query['tab'];
+0 −0

File changed.

Preview suppressed by a .gitattributes entry or the file's encoding is unsupported.

+0 −0

File changed.

Preview suppressed by a .gitattributes entry or the file's encoding is unsupported.

+0 −0

File changed.

Preview suppressed by a .gitattributes entry or the file's encoding is unsupported.

+6 −2
Changes for sveltejs/src/ProjectBrowser.svelte: 6 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -13,7 +13,9 @@
    // Total result set size.
    let rowsCount = 0;
    let text = '';
    let category;
    let category = '';
    let sort = 'project_usage_total';
    let direction = 'DESC';
    let tab = 'recommended';

    /**
@@ -30,7 +32,7 @@
        loading = true;
        rowsCount = 0;
        // Additional query parameters are hardcoded in DrupalOrgProxyController::getAll();
        let url = "/drupal-org-proxy/project?page=" + _page + "&limit=" + pageSize + "&tab=" + tab;
        let url = "/drupal-org-proxy/project?page=" + _page + "&limit=" + pageSize + "&tab=" + tab + "&sort=" + sort + "&direction=" + direction;
        // "&sort=" + sortKeys + "&direction=" + sortDirection +
        if (text) {
            url = url + "&title=" + text;
@@ -71,6 +73,8 @@

    async function onSelectCategory(event) {
        category = event.detail.category;
        sort = event.detail.sort;
        direction = event.detail.direction;
        await load(page);
        page = 0;
    }
Loading