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

Landing page file loading, Clickable columns on Categorization Page, and Vuex Store #28

Merged
merged 11 commits into from
Jan 31, 2022

Conversation

jarmoza
Copy link
Contributor

@jarmoza jarmoza commented Jan 28, 2022

Landing page and Categorization page now have initial functionality working

  1. Landing page allows for tsv and json file loading. At least the tsv file must be loaded to proceed to the categorization page.
  2. Categorization page allows for the selection of categories in the listbox on the left and the subsequent "painting" of tsv columns in the table on the right. JSON description data is joined with the tsv column names in the table if available and semi-exact match is established between the category and column name.
  3. Behind all of the above is a working Vuex store (index.js) which is communicated to from the pages (not components)

Supporting components include:

a. the file-selector (landing page)
b. coloring-listgroup (listbox on categorization page), and
c. the filedata-table (table on categorization page).

Issues addressed:

@jarmoza jarmoza requested a review from surchs January 28, 2022 20:59
@surchs
Copy link
Contributor

surchs commented Jan 28, 2022

awesome! Thanks @jarmoza for this PR!
I tried running the app and got it to load a .tsv and then I was able to paint the columns. Very nice!
The only odd thing is that when I am loading the .tsv, it seems to be only including the first column and discards all the rest. Any idea why that is / can you replicate that?

@jarmoza
Copy link
Contributor Author

jarmoza commented Jan 28, 2022

@surchs Can you attach here the tsv file you were using?

Make the new example files available
@surchs
Copy link
Contributor

surchs commented Jan 31, 2022

@jarmoza I used this example file but I think you can use any .tsv file with more than one column to reproduce.

I merged master into this branch to make these files available for testing for you.

@jarmoza
Copy link
Contributor Author

jarmoza commented Jan 31, 2022

@surchs Okay! I had to look in reverse in order to see what the issue was. There's nothing wrong with your file. There was something wrong with my test file(s) – which were apparently using spaces instead of tabs. The JS library I'm using to parse the file is apparently primarily built for csv files. So I'll have to figure out another solution for these tsv files. Stay tuned...

@surchs
Copy link
Contributor

surchs commented Jan 31, 2022

@jarmoza
Copy link
Contributor Author

jarmoza commented Jan 31, 2022

@surchs Thanks. I considered that. In fact, the current solution with papaparse produces correct data from the tsv file. There's actually just a processing error occurring in my file selector and store code. Fixing that now.

@surchs
Copy link
Contributor

surchs commented Jan 31, 2022

Alright, confirmed this works. That's great stuff @jarmoza! We're getting there!

Copy link
Contributor

@surchs surchs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jarmoza, I think this looks very good. I vote to merge this.


// 4. Change the background and foreground colors of the clicked list group item

// A. Color the clicked list group item
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with these indices for comments. Do they have a structure or meaning? Are they reflecting some flow-control hierarchy?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bulleting system for commenting steps and substeps of a piece of code.

0 - I use for setup
1-n Primary steps
A-Z Substeps for primary steps
I, II, III, etc. for Subsubsteps
a-z for subsubsubsteps
i, ii, iii, etc. subsubsubsubsteps (if we ever really get that low)

"Diagnosis",
"Assessment Tool"
],
backgroundColors: [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to set a global colormap somewhere else in case we end up reusing colors on other pages?
e.g. if we decided to color each section of the annotation page based on the color applied here (e.g. age as purple)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we could list that in the store.

<textarea :rows="fileTextLines" cols="300">
{{ this.fileText.join("\n") }}
</textarea>
<h2>JSON File</h2>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's call this Data dictionary for now. Later we'll add some explanations.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change will be added in the a forthcoming PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants