Coder Social home page Coder Social logo

dynamo-browse's People

Contributors

goreleaserbot avatar lmika avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

dynamo-browse's Issues

dynamo-browse: Copy currently displayed row to clipboard

Have the ability to copy the items of the currently displayed row (i.e. the lower pane) to the clipboard. This should act a lot like the "copy to clipboard" within the log view of K9S. This should be the entire item, not just what's displayed.

The default binding for this command should be c.

dynamo-browse: Add back-stack for previous views

Add the notion of a back-stack which will display previous views of result-sets. The parameters of the result set that should be stored is as follows:

  • Currently displayed table
  • Current filter
  • Current query

This should be bound to the Backspace key.

Implementation note: should we be storing the entire result-set?

dynamo-browse: Rebindable keys

At the moment, the set of keyboard bindings within dynamo-browse are fixed. It would be good to allow users to rebind them, or bind new keys to commands.

dynamo-browse: Re-add the clone command

Add the "clone" command back. This will work in a similar way to "new" — in that the partition/sort keys will be prompted for, and the created items will be marked as new — but it will start off as a duplicate of an existing item.

At the moment, only allow this to be usable for a single item. In the future, it may be possible to allow multiple items with a key-mapping option.

dynamo-browse: RO mode

Option to switch dynamo-browse over to read-only mode. This will disable all operations which will modify the DynamoDB table. Useful for when you need to view a production DB and you're paranoid about accidentally making changes.

dynamo-browse: Command line completion

Add completion support for the command line. The completions that needs to be supported:

  • Command name
  • Fields (including nested fields)
  • Key actions
  • Field type (i.e. "-S", "-N", etc.)

dynamo-browse: Allow changing of columns

Allow changing of columns in dynamo-browse. The types of operations that need to be supported are:

  • Turning columns off and on
  • Changing the arrangement of columns (i.e. move columns around)
  • Sorting by a particular column

A command to do this would be nice. But it bight be better to add some UI to do this as well (or both).

For extra credit, also consider the following:

  • Allowing pulling nested attributes out as a column
  • Allowing "virtual columns" which are derived from attributes of other columns (this might be a separate task)

dynamo-browse: Toggle size of item pane

Add the ability to toggle the size of the item pane. The sizes to cycle through should be as follows:

  • The default size of 12 (or whatever) below the table, which will be fixed
  • Half the size of the screen, which will auto-size to half the size of the window
  • Most of the screen, with 5 rows of the table, with the table being fixed
  • The entire screen for the item
  • The entire screen for the table

Cycling forward of the view sizes should be bound to w.

Cycling backwards through the view sizes should be bound to W.

rename package in go.mod

➜ go install github.com/lmika/dynamo-browse/cmd/dynamo-browse@latest
go: github.com/lmika/dynamo-browse/cmd/dynamo-browse@latest: github.com/lmika/[email protected]: parsing go.mod:
        module declares its path as: github.com/lmika/audax
                but was required as: github.com/lmika/dynamo-browse

dynamo-browse: Add progress indicators and cancellation

There's currently no real indication that something is happening. Most of the time the old status message hangs around until a query or scan is finished. It would be nice to demonstrate that something is happening in the background.

Add a progress indicator to indicate that something is going on in the background.
While we're at it, also add cancellation.

Organise binaries for MacOS

Organise and test binary distribution for MacOS. Ideally this should be done using Brew, at least for the moment.

dynamo-browse: Background queries

Have the ability to run background queries. These are queries that are launched in the background that may take a while to run.

The way this will work is as follows. When the user indicates they want to start a background query:

  1. They will be presented with a form where they can enter the following details:
    • The query they want to run
    • Any throttling they'd like to use. I.e. run as fast as possible, get a page every 3 seconds, etc.
  2. They will be presented with an option to test the query. This will run the query with a limit of 5 rows and a max duration of 30 seconds.
  3. They will then execute the query.

The query will run in the background with a status indicator in the status bar. As the query runs, the results will be written to the workspace.

Once the query is done, the user will be given the option to view the query results.

dynamo-browse: Setting to set limit for queries

Add a setting to set the default limit for queries of scans. By default this should be 1,000 rows, but it can be changed using the set command.

Also add a limit clause to expressions to specify the limit for an expression.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.