[FIX #3683] Advanced option does not autoscroll the screen up
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
This commit is contained in:
parent
e13ba2078d
commit
0f2aaa35e3
|
@ -167,13 +167,17 @@
|
||||||
(letsubs [{:keys [public-key] :as current-account} [:get-current-account]
|
(letsubs [{:keys [public-key] :as current-account} [:get-current-account]
|
||||||
editing? [:get :my-profile/editing?]
|
editing? [:get :my-profile/editing?]
|
||||||
changed-account [:get :my-profile/profile]
|
changed-account [:get :my-profile/profile]
|
||||||
currency [:wallet/currency]]
|
currency [:wallet/currency]
|
||||||
|
scroll (atom nil)]
|
||||||
(let [shown-account (merge current-account changed-account)]
|
(let [shown-account (merge current-account changed-account)]
|
||||||
[react/view profile.components.styles/profile
|
[react/view profile.components.styles/profile
|
||||||
(if editing?
|
(if editing?
|
||||||
[my-profile-edit-toolbar]
|
[my-profile-edit-toolbar]
|
||||||
[my-profile-toolbar])
|
[my-profile-toolbar])
|
||||||
[react/scroll-view {:keyboard-should-persist-taps :handled}
|
[react/scroll-view {:ref #(reset! scroll %)
|
||||||
|
:keyboard-should-persist-taps :handled
|
||||||
|
:on-content-size-change #(when (and scroll @scroll)
|
||||||
|
(.scrollToEnd @scroll))}
|
||||||
[react/view profile.components.styles/profile-form
|
[react/view profile.components.styles/profile-form
|
||||||
[profile.components/profile-header shown-account editing? true profile-icon-options :my-profile/update-name]]
|
[profile.components/profile-header shown-account editing? true profile-icon-options :my-profile/update-name]]
|
||||||
[react/view action-button.styles/actions-list
|
[react/view action-button.styles/actions-list
|
||||||
|
|
|
@ -178,9 +178,11 @@
|
||||||
[react/text {:style styles/advanced-fees-details-text}
|
[react/text {:style styles/advanced-fees-details-text}
|
||||||
(str (money/to-fixed gas) " * " (money/to-fixed (money/wei-> :gwei gas-price)) (i18n/label :t/gwei))]]]])
|
(str (money/to-fixed gas) " * " (money/to-fixed (money/wei-> :gwei gas-price)) (i18n/label :t/gwei))]]]])
|
||||||
|
|
||||||
(defn- advanced-options [advanced? transaction modal?]
|
(defn- advanced-options [advanced? transaction modal? scroll]
|
||||||
[react/view {:style styles/advanced-wrapper}
|
[react/view {:style styles/advanced-wrapper}
|
||||||
[react/touchable-highlight {:on-press #(re-frame/dispatch [:wallet.send/toggle-advanced (not advanced?)])}
|
[react/touchable-highlight {:on-press (fn []
|
||||||
|
(re-frame/dispatch [:wallet.send/toggle-advanced (not advanced?)])
|
||||||
|
(when (and scroll @scroll) (utils/set-timeout #(.scrollToEnd @scroll) 350)))}
|
||||||
[react/view {:style styles/advanced-button-wrapper}
|
[react/view {:style styles/advanced-button-wrapper}
|
||||||
[react/view {:style styles/advanced-button
|
[react/view {:style styles/advanced-button
|
||||||
:accessibility-label :advanced-button}
|
:accessibility-label :advanced-button}
|
||||||
|
@ -205,11 +207,10 @@
|
||||||
(i18n/label :t/send-transaction)]
|
(i18n/label :t/send-transaction)]
|
||||||
[react/view components.styles/flex
|
[react/view components.styles/flex
|
||||||
[common/network-info {:text-color :white}]
|
[common/network-info {:text-color :white}]
|
||||||
[react/scroll-view (merge {:keyboard-should-persist-taps :always
|
[react/scroll-view {:keyboard-should-persist-taps :always
|
||||||
:on-content-size-change #(when (and scroll @scroll)
|
:ref #(reset! scroll %)
|
||||||
|
:on-content-size-change #(when (and (not modal?) scroll @scroll)
|
||||||
(.scrollToEnd @scroll))}
|
(.scrollToEnd @scroll))}
|
||||||
(when-not modal?
|
|
||||||
{:ref #(reset! scroll %)}))
|
|
||||||
[react/view styles/send-transaction-form
|
[react/view styles/send-transaction-form
|
||||||
[components/recipient-selector {:disabled? modal?
|
[components/recipient-selector {:disabled? modal?
|
||||||
:address to
|
:address to
|
||||||
|
@ -224,7 +225,7 @@
|
||||||
:max-length 21
|
:max-length 21
|
||||||
:on-focus (fn [] (when (and scroll @scroll) (utils/set-timeout #(.scrollToEnd @scroll) 100)))
|
:on-focus (fn [] (when (and scroll @scroll) (utils/set-timeout #(.scrollToEnd @scroll) 100)))
|
||||||
:on-change-text (update-amount-fn timeout)}}]
|
:on-change-text (update-amount-fn timeout)}}]
|
||||||
[advanced-options advanced? transaction modal?]]]
|
[advanced-options advanced? transaction modal? scroll]]]
|
||||||
(if signing?
|
(if signing?
|
||||||
[signing-buttons
|
[signing-buttons
|
||||||
#(re-frame/dispatch (if modal? [:wallet/cancel-signing-modal] [:wallet/discard-transaction]))
|
#(re-frame/dispatch (if modal? [:wallet/cancel-signing-modal] [:wallet/discard-transaction]))
|
||||||
|
|
Loading…
Reference in New Issue