aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/actions.js
diff options
context:
space:
mode:
authorWhymarrh Whitby <whymarrh.whitby@gmail.com>2018-09-20 08:48:28 +0800
committerWhymarrh Whitby <whymarrh.whitby@gmail.com>2018-10-02 00:14:54 +0800
commit0fa9299cd150ff81095da76352a55da4909bf812 (patch)
treefe467aadc869d2320a2c4497dc29bc2d087aa967 /ui/app/actions.js
parent2e5a09e28c07b2b3865d3eb0112d8705e99f572d (diff)
downloadtangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.tar
tangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.tar.gz
tangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.tar.bz2
tangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.tar.lz
tangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.tar.xz
tangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.tar.zst
tangerine-wallet-browser-0fa9299cd150ff81095da76352a55da4909bf812.zip
Add "Cancel All" button to confirm footer
Diffstat (limited to 'ui/app/actions.js')
-rw-r--r--ui/app/actions.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js
index 3afdfaadc..fe293a6a0 100644
--- a/ui/app/actions.js
+++ b/ui/app/actions.js
@@ -167,6 +167,7 @@ var actions = {
updateTransaction,
updateAndApproveTx,
cancelTx: cancelTx,
+ cancelTxs,
completedTx: completedTx,
txError: txError,
nextTx: nextTx,
@@ -1300,6 +1301,47 @@ function cancelTx (txData) {
}
}
+/**
+ * Cancels all of the given transactions
+ * @param {Array<object>} txDataList a list of tx data objects
+ * @return {function(*): Promise<void>}
+ */
+function cancelTxs (txDataList) {
+ return async (dispatch, getState) => {
+ dispatch(actions.showLoadingIndication())
+ const txIds = txDataList.map(({id}) => id)
+ const cancellations = txIds.map((id) => new Promise((resolve, reject) => {
+ background.cancelTransaction(id, (err) => {
+ if (err) {
+ return reject(err)
+ }
+
+ resolve()
+ })
+ }))
+
+ await Promise.all(cancellations)
+ const newState = await updateMetamaskStateFromBackground()
+ dispatch(actions.updateMetamaskState(newState))
+ dispatch(actions.clearSend())
+
+ txIds.forEach((id) => {
+ dispatch(actions.completedTx(id))
+ })
+
+ dispatch(actions.hideLoadingIndication())
+
+ if (global.METAMASK_UI_TYPE === ENVIRONMENT_TYPE_NOTIFICATION) {
+ return global.platform.closeCurrentWindow()
+ }
+ }
+}
+
+/**
+ * @deprecated
+ * @param {Array<object>} txsData
+ * @return {Function}
+ */
function cancelAllTx (txsData) {
return (dispatch) => {
txsData.forEach((txData, i) => {