Releases: telamonian/tree-finder
Releases · telamonian/tree-finder
The `refresh` release
- full support for refresh commands have been added. In particular, a refresh will not alter the current state of the displayed tree, in terms of which leaves are expanded/collapsed
v0.0.12: the `commands` release
- fully implemented commands in this version:
open
delete
copy
cut
paste
- WIP commands:
rename
- the idea behind the commands is that they each trigger the expected UI action in tree-finder itself, and then also supply hooks to allow 3rd party libraries to integrate with the commands.
- the hooks generally take the form of a
Subject<T extends IContentRow>
object (from therxjs
lib), whereT
is the "row type", which contains all of the fields needed to hold the displayed data for a single row. - said
Subject
will generally either operate on a singleT
, or aT[]
. Here's the general pattern for how external code can interact with aSubject
:-
trigger command
foo
on rowbar
:// supply the `next` value of the Subject fooSub.next(bar);
-
Participate in implementation of command
foo
:// supply a callback; will trigger on every call of `.next(bar)`, with `bar` as the first arg fooSub.subscribe(row => {// arbitrary code goes here});
-
- for example, when
openSub.next(bar)
is called, thetree-finder
internals will automatically trigger the "open dir" UI action, ifbar
is a dir. Any other callbacks subscribed toopenSub
will also run (execution order is not guaranteed, and should not be relied upon). - still many small kinks and inconsistencies to work out, such as where all of the
Subjects
should actually live in the code - refactored the layout of the disted bundle.
lib/
(which contained the transpiled.js
srcs and the.d.ts
declarations) has been removed in favor oftypes/
(which contains the.d.ts
declarations and the.d.ts.map
declaration maps)- net effect: the individual transpiled
.js
sources have been removed from the dist (you only actually need thedist/tree-finder.js
bundle, after all), and the.d.ts.map
maps are now generated and included. This seems to result in overall better go-to-the-original-ts-srcs behavior in vscode, devtools, and possibly other tools.
- net effect: the individual transpiled
- lots of small bugfixes and code cleanup, eg
- fixed rendering of empty contents, so that it actually looks empty
- fixed bug in selected styling listener where it would try to run on spurious rows (i think that one also only triggered on empty contents)
v0.0.11
- most importantly, bumped
regular-table
to v0.3.0. The previous two versions oftree-finder
(v0.0.9-0.0.10) were technically broken without ayarn link
to a local copy ofregular-table
at HEAD. This dep bump sets that right. - related to the
regular-table
upgrade, the elements now support a "virtual_mode" opt that changes the scrolling virutalization behavior of the grid - a whole bunch of misc build and styling changes that were found to be needed as part of the work on 3rd party app integration
- renamed element to less generic/more descriptive