Commit cc4b4aa3 authored by Srishti Bankar's avatar Srishti Bankar Committed by Tim Plunkett
Browse files

Issue #3285870 by srishtiiee, bnjmnm, narendraR, leslieg: List view on Mobile

parent a4f84b89
Loading
Loading
Loading
Loading
+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.

+54 −47
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
    page,
    sort,
  } from './stores';
  import MediaQuery from './MediaQuery.svelte';
  import {
    ACTIVELY_MAINTAINED_ID,
    COVERED_ID,
@@ -165,6 +166,7 @@
  }
</script>

<MediaQuery query="(min-width: 1200px)" let:matches>
  <ProjectGrid {loading} {rows} {pageIndex} {pageSize} let:rows>
    <div slot="top">
      <Search
@@ -173,6 +175,7 @@
        on:advancedFilter={onAdvancedFilter}
        on:selectCategory={onSelectCategory}
      />
      {#if matches}
        <div class="toggle-buttons">
          <button
            class:selected={toggleView === 'List'}
@@ -197,22 +200,26 @@
            {Drupal.t('Grid')}
          </button>
        </div>
      {/if}
    </div>

    <div slot="left">
      <Filter on:selectCategory={onSelectCategory} />
    </div>
    {#each rows as row, index (row)}
    <Project {toggleView} project={row} />
      <Project toggleView={!matches ? 'Grid' : toggleView} project={row} />
    {/each}
    <div slot="bottom">
      <Pagination
        page={$page}
        {pageSize}
        count={$rowsCount}
        serverSide={true}
        on:pageChange={onPageChange}
      />
    </div>
  </ProjectGrid>
</MediaQuery>

<style>
  .toggle {
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ class ProjectBrowserPluginTest extends WebDriverTestBase {
  public function testRandomDataPlugin(): void {
    $assert_session = $this->assertSession();

    $this->getSession()->resizeWindow(1200, 1200);
    $this->drupalGet('admin/modules/browse');
    $assert_session->waitForElement('css', '#project-browser .grid');
    $grid_text = $this->getSession()->getPage()->find('css', '#project-browser .toggle-buttons .grid-button')->getText();
+14 −2
Original line number Diff line number Diff line
@@ -62,14 +62,26 @@ class ProjectBrowserUiTest extends WebDriverTestBase {
   */
  public function testGrid(): void {
    $assert_session = $this->assertSession();
    $page = $this->getSession()->getPage();

    $this->getSession()->resizeWindow(1210, 1210);
    $this->drupalGet('admin/modules/browse');
    $assert_session->waitForElement('css', '#project-browser .grid');
    $grid_text = $this->getSession()->getPage()->find('css', '#project-browser .toggle-buttons .grid-button')->getText();
    $this->assertEquals('Grid', $grid_text);
    $assert_session->waitForElementVisible('css', '#project-browser .project');
    $assert_session->elementsCount('css', '#project-browser .project', 9);
    $this->assertNotNull($assert_session->waitForElementVisible('css', '#project-browser .project'));
    $assert_session->elementsCount('css', '#project-browser .project.grid', 9);
    $assert_session->pageTextNotContains('No records available');
    $page->pressButton('List');
    $this->assertNotNull($assert_session->waitForElementVisible('css', '#project-browser .project.list'));
    $assert_session->elementsCount('css', '#project-browser .project.list', 9);
    $this->getSession()->resizeWindow(1100, 1100);
    $assert_session->assertNoElementAfterWait('css', '.toggle.list-button');
    $this->assertNotNull($assert_session->waitForElementVisible('css', '#project-browser .project.grid'));
    $assert_session->elementsCount('css', '#project-browser .project.grid', 9);
    $this->getSession()->resizeWindow(1210, 1210);
    $this->assertNotNull($assert_session->waitForElementVisible('css', '#project-browser .project.list'));
    $assert_session->elementsCount('css', '#project-browser .project.list', 9);
  }

  /**