Skip to content

Releases: telamonian/tree-finder

The `refresh` release

04 Jun 16:58
Compare
Choose a tag to compare
  • 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

23 May 14:23
Compare
Choose a tag to compare
  • 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 the rxjs lib), where T 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 single T, or a T[]. Here's the general pattern for how external code can interact with a Subject:
    • trigger command foo on row bar:

      // 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, the tree-finder internals will automatically trigger the "open dir" UI action, if bar is a dir. Any other callbacks subscribed to openSub 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 of types/ (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 the dist/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.
  • 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

31 Mar 04:18
Compare
Choose a tag to compare
  • most importantly, bumped regular-table to v0.3.0. The previous two versions of tree-finder (v0.0.9-0.0.10) were technically broken without a yarn link to a local copy of regular-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