Search & replace

A project log for Synchronize a PDF with a spreadsheset


lion-mclionheadlion mclionhead 11/11/2023 at 20:050 Comments

Managed to do a tax return with it.  Running a new for every form is a bit tedious but it's better than before. 

1st big bug of the year was a failure to resync the values.  It stopped when it hit the 1st blank cell because if a get_cell returned no "values" tag, it assumed it needed to log in again.  The test needs to use something else to log in, but the goog doesn't provide any "values" tag for an empty cell. For now, it assumes if the "range" & "majorDimension" tags exist, the cell is empty.

If it returns nothing, Mozilla retries 5 times before returning an error code.  It has to return __LOGIN or __BLANK so there's no way a sheet can contain those values.  Then, it draws a really small bounding box if there's no text or a space.  In the end, it writes BLANK when a cell is empty.


The mane unknown is how many linked spreadsheet values it supports before it gets too slow.  It's really slow by 4.  The mane problem is goog sheets requires a unique GET for every link. 

The world's most hated form showed it's already way beyond the old days.  It's still unknown of the context menu should always show PASTE OVER TEXT if an overlay is highlighted or only if the click is directly over a highlighted overlay.  Sometimes you want to copy multiple overlays by clicking outside the selection & sometimes you want to paste new text while something is selected.  It might just need both paste options in 1 menu.  The problem then becomes what ctrl-v does if something is highlighted.  It's less confusing if ctrl-v overwrites the selection.  Text editors deal with the problem with a single paste option.

The biggest problem is when moving data in the spreadsheet, you have to manually search the form for every occurrence of that data & repaste it.  The number of occurrences can be ponderous in a tax form.  It almost defeats the purpose of synchronizing the spreadsheet.

For now, it got a search & replace wedged in.  It just replaces all the cells at once.