edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
From: Karl Dahlke <eklhad@comcast.net>
To: edbrowse-dev@edbrowse.org, niko@nikocarpenter.com
Subject: [edbrowse-dev] The unfold row (ur) command
Date: Sun, 07 Feb 2021 05:11:09 -0500
Message-ID: <20210107051109.eklhad@comcast.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 2792 bytes --]

I've had a week or so to mull this over, and I believe we *need* the ur command, the ability to unfold a row,
but it's power isn't vital until we get to database mode,
and in that world it is not yet implemented.
Here is what I have experienced.
A very wide table, maybe 100 columns across.
Yes the shc command gives you the 100 column headings,
but still, counting over to column 76 is screaming frustrating.
Yes, we can have commands to ask for column 76, if you know it's 76, or find 76 from column headings,
but what if you want to change column 76 in the database?
Another suite of commands?
You can take your chances with a substitute command, which does the sql update for you,
but it's a long row, what if you accidentally update column 54 instead.  Oops.
And sql has side effects, so there is no undo command.
You have to fix what you screwed up, if you can, then try again.
Think how much easier if you can unfold the row you are working on.
Now you see each column on one line.
Find the field you want, issue the substitute command on that line, it will do the right thing, you won't accidentally screw up a different column, and edbrowse does the corresponding sql update.
This is like a sighted person moving his cursor over to the correct column and making the change.
This is the kind of power edbrowse is famous for;
but it's only possible if we can drill down to individual fields by using the ur command.
Ok that is my reasoning, but as I say, it is not implemented in database, where it is really needed.
I'd have to write a lot of machinery underneath, essentially, put the row back together inside, find the primary key, build the sql update using the primary key and the modified field.
Also some new machinery for the d (delete) or a (insert) commands.
How are these affected when a row is unfolded?
I assume a new row added would be at the end of your unfolded row, even if you type a while on column 76.
Is the new added row automatically unfolded?
There's a lot to do here, but I haven't been in database mode in years;
I don't even have a local database to test it on.
Hopefully someone will continue this work.

Meantime, it is implemented for an html table.
That is readonly and doesn't have all those side effects.
Find a table somewhere, or even write one as a test, (which I did),
and try the ur command.
This is a toggle command, i.e. ur on an unfolded row puts it back on one line, pipe separated.
You can apply this command to a range, 17,29ur,
but don't apply it to an entire web page, since html tables are often used for screen layout,
rather than an actual table. The result could be very ugly.
Make sure ur is only applied to rows of an actual table, presenting traditional rows and columns.

Karl Dahlke

             reply	other threads:[~2021-02-07 10:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-07 10:11 Karl Dahlke [this message]
2021-02-13  9:25 ` Adam Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210107051109.eklhad@comcast.net \
    --to=eklhad@comcast.net \
    --cc=edbrowse-dev@edbrowse.org \
    --cc=niko@nikocarpenter.com \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

edbrowse-dev - development list for edbrowse

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/edbrowse-dev

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 edbrowse-dev edbrowse-dev/ http://inbox.vuxu.org/edbrowse-dev \
	public-inbox-index edbrowse-dev

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git