Skip to content
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

Rollup divider is shown at the wrong column edge. #1062

Closed
dsmmcken opened this issue Jan 31, 2023 · 1 comment · Fixed by #1125
Closed

Rollup divider is shown at the wrong column edge. #1062

dsmmcken opened this issue Jan 31, 2023 · 1 comment · Fixed by #1125
Assignees
Labels
bug Something isn't working good first issue Good for newcomers
Milestone

Comments

@dsmmcken
Copy link
Contributor

dsmmcken commented Jan 31, 2023

Description
Table is grouped by MyChar and MyString, however the border of the rollup is after mychar instead of myString
Wrong:
image

Grouping in the reverse order works correctly. Not sure the cause:
image

Steps to reproduce

from deephaven import empty_table, time_table

simple_ticking = time_table("00:00:01").update([
        "MyString=new String(`a`+i)",
        "MyInt=new Integer(i)",
        "MyLong=new Long(i)",
        "MyDouble=new Double(i+i/10)",
        "MyFloat=new Float(i+i/10)",
        "MyBoolean=new Boolean(i%2==0)",
        "MyChar= new Character((char) ((i%26)+97))",
        "MyShort=new Short(Integer.toString(i%32767))",
        "MyByte= new java.lang.Byte(Integer.toString(i%127))"])                       
  1. Create a table using the above code
  2. From the table sidebar select rollup rows and group by "mychar" then "mystring"

Expected results
Border is after the last rolled up row.

Actual results
Border is shown in the incorrect location.

** NOTE **
Waiting for deephaven/deephaven-core#3477 should simplify the work needed on this issue.

Versions
Engine Version: 0.21.0
Web UI Version: 0.26.0
Java Version: 11.0.16
Barrage Version: 0.5.0

@dsmmcken dsmmcken added bug Something isn't working triage Issue requires triage labels Jan 31, 2023
@vbabich vbabich added good first issue Good for newcomers and removed triage Issue requires triage labels Feb 1, 2023
@vbabich vbabich added this to the February 2023 milestone Feb 1, 2023
@bmingles
Copy link
Contributor

bmingles commented Mar 2, 2023

The cause of this seems to be how we determine the last grouped column. We find the last column and then find the first occurrence of a column with that name.

// In IrisGridRenderer.drawGroupedColumnLine
const lastGroupedColumn = groupedColumns[groupedColumns.length - 1];
const modelIndex = columns.findIndex(
  c => c.name === lastGroupedColumn.name
);

While it looks like the columns at the end of the list are in the right order, the ones in the beginning are not. For example, MyChar comes after MyString when determining the last added group, but it comes before the actual column on the name match.

image

bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 2, 2023
bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 2, 2023
bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 3, 2023
bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 3, 2023
bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 3, 2023
bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 3, 2023
bmingles added a commit to bmingles/web-client-ui that referenced this issue Mar 6, 2023
@mofojed mofojed modified the milestones: February 2023, March 2023 Mar 8, 2023
bmingles added a commit that referenced this issue Mar 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants