spyder-ide / ux-improvements

Discussion about UX improvements for Spyder 5 and beyond
4 stars 2 forks source link

Add the same menu and static toolbar of lists for dataframe tables #76

Closed dpturibio closed 8 months ago

dpturibio commented 1 year ago

Enhancement: Add the same menu and static toolbar of lists for dataframe tables.

example

Necessary changes
Create a similar structure to BaseTableView of widgets/collectionseditor.py in DataFrameEditor of plugins/variableexplorer/widgets/dataframeeditor.py

image

Wold like to discuss about the possibility to apply this enhancement. Related issue: #67

dpturibio commented 1 year ago

Hello @dalthviz how are you? There is some time since my last contribution, and as you guided me on that task (#67) , I am copying you to know your point of view regarding this new request.

dalthviz commented 1 year ago

Hi @dpturibio , hope everything has been going well ! Regarding the idea, seems quite interesting however also seems like it will need way more work than #67 since, I believe, the logic for operations like insert values is not available for the DataFrameEditor widget. From a quick check, I think you can only change the dataframe values types or copy the values:

dfe_ctx

Just in case @spyder-ide/core-developers what do you think?

ccordoba12 commented 1 year ago

Perhaps we could add the Copy and Edit actions. But what would be really useful is to add filters to each column.

CAM-Gerlach commented 1 year ago

Yeah, I recall at least one (by @jnsebgosselin ?) if not two PRs on that, but they never were completed and merged unfortunately. That would be super useful, but also would require some UI/UX work, which may not be so trivial...

dpturibio commented 1 year ago

Hello guys, how are you? I've been working on this feature since last time, and I have some new things to share. I created new features for DataFrame as edit, duplicate row/column, insert a row/column after/before/above/bellow the selected one, remove, and resize as you can see in screenshot.

image

I was checking documentation and found that branch 5.x is only for bugfixes and new features I should use master. That's correct? So I should use master for this kind of changes proposed?

Let me know so I can upload the code.

ccordoba12 commented 1 year ago

Hey @dpturibio, that looks great! Thanks for all the work you put into that!

I was checking documentation and found that branch 5.x is only for bugfixes and new features I should use master. That's correct? So I should use master for this kind of changes proposed?

Yep, that's correct. Spyder 5 has entered the features freeze period and now we're trying to focus only on important bugfixes for it. So, any enhancement or additional functionality needs to go to master, which will be part of Spyder 6, to be released during the second half of the year.

If you already created your branch against 5.x, you need to run the following commands to move it to master:

git checkout <pr_branch>
git rebase --onto master 5.x <pr_branch>
git push -f origin <pr_branch>
CAM-Gerlach commented 1 year ago

(You might want to make a backup copy of the branch first, with e.g. git branch -c <pr-branch> <pr-branch>-copy, so you have it easy to access just in case.)

dpturibio commented 1 year ago

Thank you @ccordoba12 and @CAM-Gerlach , I created a PR with the changes. Next step I think is the review by someone of the team right? If you can quickly explain me what is the procedure when a PR is submitted, who assigns to it, is it all automatic from the point of view of the developer(me), or things happen accordingly to a conversation in issue page like this? I am just wondering how you manage all the work, curious to understand :grinning:.

CAM-Gerlach commented 1 year ago

Besides letting us know here, which is helpful, we'll take it from there, review it and let you know if it needs any refinements. In case you don't hear from anyone after a week or two, feel free to give us another ping.