dash-table icon indicating copy to clipboard operation
dash-table copied to clipboard

paste content from clipboard into dash table when the whole table is not editable

Open DanielBBZ opened this issue 6 years ago • 4 comments

Hi Dash Team,

Currently, I have a case to use dash table and only allow several columns to be editable, which means the whole table is not editable, but only for certain columns. While I find that in this case, the pasting content from clipboard into these editable columns is not working.

I have tried both Chrome and Firefox. Can we make it paste - able when only columns are editable? Thanks.

DanielBBZ avatar Sep 24 '19 17:09 DanielBBZ

@DanielBBZ Just to make sure, you are saying that with table.editable=False and with specific columns overriding this value with column[id].editable=True, you cannot paste into the editable columns of the table?

Marc-Andre-Rivet avatar Sep 24 '19 20:09 Marc-Andre-Rivet

@Marc-Andre-Rivet Thanks for response. I didn't set the whole table as False but just leave it as default, and I set the columns I do want to edit to be 'editable': True.

But with your response, I just go back and modify the logic to be: set whole table as editable=True, but for columns don't allow edit, add 'editable':False, in this way, I can copy and paste the content into the dash table cell.

So this issue is solved, thanks!

DanielBBZ avatar Sep 25 '19 20:09 DanielBBZ

However, I got another issue after this fix.

What I found is that after pasting the content into Dash cell, the data_timestamp or data_previous is called twice.

For example, if I use [Input('computed-table', 'data_timestamp')] or [Input('computed-table', 'data_previous')], and in the callback function, print out the timestamp, I can see that the timestamp is called twice even if I just do paste once:

""" time of excute: 1569445548431 At Row of 5, user input 'copied content' final step reached time of excute: 1569445548553 """

DanielBBZ avatar Sep 25 '19 21:09 DanielBBZ

However, I got another issue after this fix.

What I found is that after pasting the content into Dash cell, the data_timestamp or data_previous is called twice.

For example, if I use [Input('computed-table', 'data_timestamp')] or [Input('computed-table', 'data_previous')], and in the callback function, print out the timestamp, I can see that the timestamp is called twice even if I just do paste once:

""" time of excute: 1569445548431 At Row of 5, user input 'copied content' final step reached time of excute: 1569445548553 """

Hi here, I found the similar issue. if I need to capture the edited column by using previous and current set, then the previous is same as the current if past new info into the cell, all present the paste information (i.e. new information).

it might be the reason due to data_previous called twice, so lost the original old info.

Xiaoping777 avatar May 23 '22 01:05 Xiaoping777