GithubHelp home page GithubHelp logo

Comments (5)

kimholmes avatar kimholmes commented on June 9, 2024 1

@jessm12 Sorry I had not seen your comment sooner! Yeah, I was told on our review yesterday that you can only filter the PLRs by label. So it wouldn't make any sense to have "label" in the dropdown.
@ncskier informed me that the following are the possible labels:
"app": "tekton-webhook-handler",
"gitServer": "github.com",
"gitOrg": "tektoncd",
"gitRepo": "pipeline",
"gitBranch": "master",

So, maybe we could work the dropdown that way??
To answer your first question, YES, the intention would be to do a lookup on all PLRs with similar matches to what the user has typed. So, yes, that could be a computational load.
However, the dropdown would only show (say for example) the first 4 matches that are most similar to what the user just typed. So, it wouldn't use all the real estate in the dropdown.
To see a similar example, go to W3 and use that filter. You'll see it divides the results into categories. I can select from the options in the dropdown or just hit enter and load everything.
That's the pattern I was copying.

Yes, I agree with you. I love the idea of using the key:value pairs. We need your technical expertise on how to surface that in the UI. I just don't know how they work, but I guess it's similar to the labels Brandon sent above.

from dashboard.

kimholmes avatar kimholmes commented on June 9, 2024

@skaegi That will baked into the visual design. We'll be using components from the IBM Design Language (carbon).

from dashboard.

kimholmes avatar kimholmes commented on June 9, 2024

Working on this user flow. Would love feedback:

Default state:
TektonFilter1

Hover state:
TektonFilter2

Click state:
TektonFilter3

Typing state. User can press enter or select from the dropdown:
TektonFilter4

Filter added:
TektonFilter5

from dashboard.

jessm12 avatar jessm12 commented on June 9, 2024

Thanks for these designs @kimholmes! πŸ˜„The current implementation that I have is filtering only on label (labelKey:labelValue) and there is no dropdown functionality. I think the dropdown could be a great enhancement to add to the filtering down the line.

One question I do have is would the intention be to populate these filters in the dropdown by doing a lookup on all Pipeline Runs to find all of the labels that are on them for example? A thought I would have there is that if you have hundreds of them this could be a lot of additional computation and there could be a large amount of matches that may overwhelm the space within the dropdown and that may well slow things down depending on your network/cluster.

Also, generally I think the filters would be in the form of key:value pairs so branch:master or name:tekton though there could be scope where we could accept some singular values if we are searching across multiple fields perhaps but it should probably be something as standardised as possible. I think this could definitely use further discussion over the design and technical considerations πŸ˜…

from dashboard.

AlanGreene avatar AlanGreene commented on June 9, 2024

Basic label-based filtering implemented. No current plan to add the more advanced filter dropdown from the designs above although we can revisit in future if we change how we're using the Kubernetes APIs to give us more flexibility in this area.

from dashboard.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.