-
Notifications
You must be signed in to change notification settings - Fork 388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring report filter UI #1401
Conversation
eaf39f4
to
f83c320
Compare
api/v6/report_server.thrift
Outdated
* Between the list elements there is "OR" relation. | ||
* If exactMatch field is True it will use exact match for run names. | ||
*/ | ||
struct TagFilter { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it worth being a struct instead of a typedef? If it will have more members later, then it's ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Later this way we can add an option easily to filter run history data by author
or date
. I have also renamed it to RunHistoryFilter
because it is much more expressive.
@@ -110,7 +100,7 @@ def conv(text): | |||
return text.replace('*', '%') | |||
|
|||
|
|||
def process_report_filter_v2(session, report_filter, count_filter=None): | |||
def process_report_filter(session, report_filter): | |||
""" | |||
Process the new report filter. | |||
If the count_filter parameter is set it will ignore that field type of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update the comment as well: there is no count_filter
now.
}); | ||
this._runHistoryTopic = topic.subscribe('subtab/runHistory', function () { | ||
that.selectChild(that._runHistory); | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indentation
|
||
this._bugOverview.addChild(this._bugFilterView); | ||
|
||
this._bugOverview.addChild(this._grid); | ||
this.addChild(this._bugOverview); | ||
|
||
this.addChild(this._runHistory); | ||
this.addChild(this._runHistory); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indentation
if (!this.initalized) { | ||
this.initalized = true; | ||
// If the filter is not initalized before hen we should initalize it | ||
// first by using an empty filter set. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this comment should be checked. I don't understand what's happening here.
* This function pushes the currently stored state to the browser history. | ||
* During the update process, the "hashSetProgress" variable of the | ||
* urlHandler object is set to true. This signs that the url update in the | ||
* browser was done by urlHandler, not by the "browser back" or "browser |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indentation
2eb8d3a
to
c105dbd
Compare
I'm not entirely sure what this patch is supposed to do. I understand and like splitting up the filters into separate files. However, I don't see this closing #1347. If I click a particular checker name in the statistics view, the following happens: I clicked
There is |
c105dbd
to
db4f070
Compare
@whisperity I can not reproduce your problem. For me it works fine. |
Yeah, small resolution when not on external screen. 🙁 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, the code looks nice and now works. (Dojo is weird I guess...)
However, I really don't like the fact that when I click on a checker name itself (so without filtering for a detection or review status) I get a filter where every possible status is selected, causing, IMHO, a bloat in the filter list. However, if I specifically click on the number in the All reports column, I don't get these "status" filters set.
@@ -253,7 +263,8 @@ service codeCheckerDBAccess { | |||
// PERMISSION: PRODUCT_ACCESS | |||
RunHistoryDataList getRunHistory(1: list<i64> runIds, | |||
2: i64 limit, | |||
3: i64 offset) | |||
3: i64 offset, | |||
4: RunHistoryFilter runHistoryFilter) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is extending a function signature with a new variable backwards compatible? (I know we have learnt extending records are.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
db4f070
to
d4c525e
Compare
@whisperity I removed that piece of code which selected all Review status and Detection status by clicking on a Checker name. |
@csordasmarton if I click on the detection date filter and select today the report list and the filters are updated, shouldn't they be updated only when I click out of the filter box? |
I for the first click the filter boxes can be viewed only partially because they go out of the screen at the bottom if there is a long list. On the second click they will be rendered above the filter section so I can view the list. |
d4c525e
to
f0708f5
Compare
@gyorb Done. |
@csordasmarton I used bzip as a test project.
|
* Create separate files for each base filters. * Create new filter interface. * Extend API with tag filter. * Remove `CountFilter` type. The client should set the correct filter set instead of checking the filter type. * Do not show default values in URL query parameter for `is-unique` and `difftype`. * Notify other filters on filter change when users changed the filter and the tooltip is closed. * Get items from the server only if some filter is changed or if the filter uses server side search.
f0708f5
to
b369faf
Compare
@gyorb Fixed
|
CountFilter
type. The client should set the correct filter set instead of checking the filter type.is-unique
anddifftype
.