From ddaa0f1bffe6c75b813c018d4600072991d05379 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Sat, 15 Jun 2019 03:31:35 +0800 Subject: [PATCH 1/2] fix missing exit spot and quote --- src/common/util.js | 11 +++++++++++ src/trade/tradeDialog.es6 | 2 +- src/trade/tradeDialog.html | 2 +- src/viewtransaction/viewTransaction.es6 | 13 +++++-------- src/viewtransaction/viewTransaction.html | 14 +++++++------- 5 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/common/util.js b/src/common/util.js index 6490976733..a7c9a8236f 100755 --- a/src/common/util.js +++ b/src/common/util.js @@ -131,6 +131,17 @@ function addComma(num, decimal_points, is_crypto) { }); }; +function getSymbolPipValue(symbol) { + var active_symbols = local_storage.get('active_symbols'); + var selected_symbol = active_symbols.find(function(item) { + return item.symbol === symbol; + }); + var symbol_pip = selected_symbol.pip.toString(); + var pip_value = symbol_pip.substring(symbol_pip.indexOf(".") + 1).length || 4; + + return pip_value; +}; + function sortAlphaNum(property) { "use strict"; var reA = /[^a-zA-Z]/g; diff --git a/src/trade/tradeDialog.es6 b/src/trade/tradeDialog.es6 index 137055478c..698ba1398a 100644 --- a/src/trade/tradeDialog.es6 +++ b/src/trade/tradeDialog.es6 @@ -399,7 +399,7 @@ function init_state(available,root, dialog, symbol, contracts_for_spot) { multiplier: "0", error: '', loading: true, /* the proposal request state */ - + pip: getSymbolPipValue(symbol.symbol), /* computed properties */ netprofit_: function () { const {contract_type} = state.category_displays.selected; diff --git a/src/trade/tradeDialog.html b/src/trade/tradeDialog.html index bde19edfea..bccca0ada7 100644 --- a/src/trade/tradeDialog.html +++ b/src/trade/tradeDialog.html @@ -15,7 +15,7 @@ rv-show='template.visible'>
  • -
  • diff --git a/src/viewtransaction/viewTransaction.es6 b/src/viewtransaction/viewTransaction.es6 index b3c1ec54fa..8f2340961d 100644 --- a/src/viewtransaction/viewTransaction.es6 +++ b/src/viewtransaction/viewTransaction.es6 @@ -45,12 +45,6 @@ const showMarketDataDisruptionWindow = () => { window.dd = market_data_disruption_win; }; -const countDecimals = (value) => { - if ((value % 1) !== 0) - return value.toString().split(".")[1].length; - return 0; -}; - const initChart = (root, state, options) => { let data = []; let type = ''; @@ -233,17 +227,19 @@ const updateIndicative = (data, state) => { function updateState(contract, state) { const sell_time = contract.is_path_dependent && contract.status !== 'sold' ? contract.exit_tick_time : parseInt(contract.sell_time); + const pip_value = getSymbolPipValue(contract.underlying); // note: cannot use spread operator - rivets.js 2-way data-binding breaks if new object + state.proposal_open_contract.pip = pip_value state.proposal_open_contract.is_sold_before_expiry = sell_time < contract.date_expiry; state.proposal_open_contract.current_spot = contract.current_spot; state.proposal_open_contract.current_spot_time = contract.current_spot_time; state.proposal_open_contract.bid_price = contract.bid_price; - state.proposal_open_contract.entry_tick = countDecimals(contract.entry_tick) < 3 ? contract.entry_tick.toFixed(3) : contract.entry_tick; + state.proposal_open_contract.entry_tick = contract.entry_tick state.proposal_open_contract.entry_tick_time = contract.entry_tick_time; state.proposal_open_contract.status = contract.status; state.proposal_open_contract.is_sold = contract.is_sold; - state.proposal_open_contract.exit_tick = countDecimals(contract.exit_tick) < 3 ? contract.exit_tick.toFixed(3) : contract.exit_tick; + state.proposal_open_contract.exit_tick = contract.exit_tick state.proposal_open_contract.exit_tick_time = contract.exit_tick_time; state.proposal_open_contract.date_expiry = contract.date_expiry; state.proposal_open_contract.sell_price = contract.sell_price; @@ -499,6 +495,7 @@ const initState = (proposal, root) => { is_sold_before_expiry: sell_time < proposal.date_expiry, isLookback: Lookback.isLookback(proposal.contract_type), lb_formula: Lookback.formula(proposal.contract_type, proposal.multiplier && formatPrice(proposal.multiplier, proposal.currency || 'USD')), + pip: 0, }, sell: { bid_prices: [], diff --git a/src/viewtransaction/viewTransaction.html b/src/viewtransaction/viewTransaction.html index 2c03d2cdf3..c19f414b47 100644 --- a/src/viewtransaction/viewTransaction.html +++ b/src/viewtransaction/viewTransaction.html @@ -51,18 +51,18 @@

    Exit spot

    Entry Spot

    Current Spot

    - +

    Exit Spot

    - +

    Close

    - +

    Multiplier

    @@ -113,7 +113,7 @@

    Exit spot

    Entry Spot

    Exit spot

    Exit Spot

    + rv-text="proposal_open_contract.exit_tick | add-comma proposal_open_contract.pip | or '-'" + rv-class-dotted-underline="proposal_open_contract.exit_tick | add-comma proposal_open_contract.pip">

    Current Level

    Date: Mon, 17 Jun 2019 10:35:50 +0800 Subject: [PATCH 2/2] add handler --- src/common/util.js | 8 ++++++-- src/viewtransaction/viewTransaction.es6 | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/common/util.js b/src/common/util.js index a7c9a8236f..3e437abcaf 100755 --- a/src/common/util.js +++ b/src/common/util.js @@ -133,11 +133,15 @@ function addComma(num, decimal_points, is_crypto) { function getSymbolPipValue(symbol) { var active_symbols = local_storage.get('active_symbols'); + var pip_value = 4; var selected_symbol = active_symbols.find(function(item) { return item.symbol === symbol; }); - var symbol_pip = selected_symbol.pip.toString(); - var pip_value = symbol_pip.substring(symbol_pip.indexOf(".") + 1).length || 4; + + if (selected_symbol) { + var symbol_pip = selected_symbol.pip.toString(); + pip_value = symbol_pip.substring(symbol_pip.indexOf(".") + 1).length; + } return pip_value; }; diff --git a/src/viewtransaction/viewTransaction.es6 b/src/viewtransaction/viewTransaction.es6 index 8f2340961d..1702f3d928 100644 --- a/src/viewtransaction/viewTransaction.es6 +++ b/src/viewtransaction/viewTransaction.es6 @@ -230,16 +230,16 @@ const updateIndicative = (data, state) => { const pip_value = getSymbolPipValue(contract.underlying); // note: cannot use spread operator - rivets.js 2-way data-binding breaks if new object - state.proposal_open_contract.pip = pip_value + state.proposal_open_contract.pip = pip_value; state.proposal_open_contract.is_sold_before_expiry = sell_time < contract.date_expiry; state.proposal_open_contract.current_spot = contract.current_spot; state.proposal_open_contract.current_spot_time = contract.current_spot_time; state.proposal_open_contract.bid_price = contract.bid_price; - state.proposal_open_contract.entry_tick = contract.entry_tick + state.proposal_open_contract.entry_tick = contract.entry_tick; state.proposal_open_contract.entry_tick_time = contract.entry_tick_time; state.proposal_open_contract.status = contract.status; state.proposal_open_contract.is_sold = contract.is_sold; - state.proposal_open_contract.exit_tick = contract.exit_tick + state.proposal_open_contract.exit_tick = contract.exit_tick; state.proposal_open_contract.exit_tick_time = contract.exit_tick_time; state.proposal_open_contract.date_expiry = contract.date_expiry; state.proposal_open_contract.sell_price = contract.sell_price;