Tags: tree-finder/tree-finder
Tags
- added support for various commands to tree-finder - 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)
- most importantly, bumped `regular-table` to v0.3.0. The previous tw… …o 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 <tree-finder-grid> 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 <tree-grid> element to less generic/more descriptive <tree-finder-panel>
- new and improved column header/sort header styling, care of css-grid - added alternative implementation of filter, inline with the tree-finder-grid's column headers - added options to toggle on/off both old separate widget filter and new tree-finder-grid inline filter
- CRITICAL: added missing `.less` styles to npm package and dist bund… …le. v0.0.5 was released broken due to this missing files - upgraded webpack 4.x -> 5.x - fixed issue where new "terser-webpack-plugin" from wp5 was dumping autogenerated garbage licenses into my dist
PreviousNext