Skip to content

Summary for GSoC 2019 #68

@rizary

Description

@rizary

Describe my work briefly

  • Adding tags and search box feature to existing UI v3 code
  • Remove the use of dyn function for routing case
  • Add dropdown and address bar routing
  • Expanding Type API and removing MonadWidget constraint
  • Adding content in home page
  • Adding Luite's diff link to matrix table

What is done

Adding tags feature to UI v3

Link: https://github.com/haskell-CI/hackage-matrix-builder/blob/master/src-ui.v3/src/Main.hs#L389-L411

File changed: https://github.com/haskell-CI/hackage-matrix-builder/pull/58/files?utf8=%E2%9C%93&diff=unified&w=1

  • Package list will be sorted based on tag selection
  • Tag can be selected more than one

Adding search box to UI v3

Link: https://github.com/haskell-CI/hackage-matrix-builder/blob/master/src-ui.v3/src/Main.hs#L783-L797

File changed: https://github.com/haskell-CI/hackage-matrix-builder/pull/64/files?utf8=%E2%9C%93&diff=unified&w=1

  • Package will appear as the user typing in the search box
  • Packages are sorted based on the word appear in the search box
  • User can go to the package's page by clicking the search result

Removing the use of dyn function

Link: https://github.com/haskell-CI/hackage-matrix-builder/blob/master/src-ui.v3/src/Main.hs#L160

File changed: https://github.com/haskell-CI/hackage-matrix-builder/pull/66/files?utf8=%E2%9C%93&diff=unified&w=1

  • Change the Dynamic t FragRoute into FragRoute for routing case
  • Remove the need of pure function in the beginning of every route case

Add dropdown and address bar routing

Link: https://github.com/haskell-CI/hackage-matrix-builder/blob/master/src-ui.v3/src/Router.hs

File changed:

  1. Dropdown routing: https://github.com/haskell-CI/hackage-matrix-builder/pull/66/files?utf8=%E2%9C%93&diff=unified&w=1
  2. Address bar routing: https://github.com/haskell-CI/hackage-matrix-builder/pull/65/files?utf8=%E2%9C%93&diff=unified&w=1
  • Change the url address bar based on selected index state in the dropdown menu
  • Change the package's page based on the url

Expanding type API and remove MonadWidget constraint

Link: https://github.com/haskell-CI/hackage-matrix-builder/blob/master/src-ui.v3/src/API.hs#L285-L415

File changed: https://github.com/haskell-CI/hackage-matrix-builder/pull/63/files?utf8=%E2%9C%93&diff=unified&w=1

  • Making the type API into one file API.hs for simplicity
  • Remove MonadWidget constraint which is no longer supported in Reflex-Dom
  • Adding api functions for conciseness
  • Remove v2 api style

Adding content in home page

Link: https://github.com/haskell-CI/hackage-matrix-builder/blob/master/src-ui.v3/src/Main.hs#L161-L207

File changed: https://github.com/haskell-CI/hackage-matrix-builder/pull/59/files?utf8=%E2%9C%93&diff=unified&w=1

  • Adding details in home page similar to UI v2

Adding Luite's diff link to matrix table

Link: https://github.com/Rizary/hackage-matrix-builder/blob/v3-matrixtable/src-ui.v3/src/Main.hs#L539-L644

File changed: https://github.com/haskell-CI/hackage-matrix-builder/pull/67/files?utf8=%E2%9C%93&diff=unified&w=1

  • Remove the dyn function inside reportTableWidget function.
  • Adding luite's diff link in the row header
  • remove joinE function and use the existing switchHold function

TODO

  • Adding stylesheet for UI v3
  • Fixing bug on cell selection in matrix table

Commit Description

7c29915 is the latest GSoC 2019 commit

Writings

Part one: Haskell-y Ever After: Summer Tales for Every Full-stack Developer

Part two: Haskell-y Ever After: Summer Tales for Every Full-stack Developer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions