bradyt / bradyt/cone

Copy existing transaction to data entry form

Open
#64 2 comments 0 reactions 0 assignees View on GitHub
done partially done
Dominant language
Dart
Stars
25
Forks
8
PR merge metrics
No merged PRs in 30d

Description

I think this is ready, implemented and working, but filing the issue for visibility, and as a point of reference, as I haven't deployed it yet. Commit is on `master` branch, at https://github.com/bradyt/cone/commit/d91cf74b03432fc3c6a6521f5327d7a2aebb34e1.

In the version of cone after current, `v0.2.20+28`, there will be a new feature where if you tap on a transaction, the add button becomes a copy button. Pressing it will open the data entry form, pre-populated with the contents of the selected transaction.

```dart
child: (store.state.transactionIndex == -1)
? const Icon(Icons.add)
: const Icon(Icons.content_copy),
```

The pre-populated values actually appear as hintText, so that you can start typing a new value without needing to delete the current one, but maybe that is a strange idiom, and really we just need to add a clear button for text fields.

The idea was inspired in discussion on IRC, with hledger author, where I was trying to brainstorm on how to implement a way to add entries faster, such as described in the recently filed template issue. At one point, they mentioned a lot of their faster transaction adding is just copying previous transactions in their editor. And so that inspired this copy feature.

The great thing about a copy feature, is it starts to approximate templates, editing, deleting, without adding any state to the app. The UI is just a function of your ledger file.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue points to commit d91cf74 on the master branch rather than naming files or tests. Start by reviewing that commit and the transaction and data-entry flows it changes. Done means confirming the copy button opens the form with the selected transaction's values and verifying the behavior in a deployed version.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
mobile
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.