From dc36748f83ac2260a33d79d7e6d83d9edd1fc53b Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Thu, 21 Feb 2019 14:50:25 +0800 Subject: [PATCH 01/14] fix untranslated workspace --- src/navigation/navigation.scss | 2 +- src/workspace/workspace-menu.html | 16 ++++++++-------- src/workspace/workspace-menu.scss | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/navigation/navigation.scss b/src/navigation/navigation.scss index 127c5ef7e4..f76a5d8c13 100644 --- a/src/navigation/navigation.scss +++ b/src/navigation/navigation.scss @@ -51,7 +51,7 @@ nav { .resources { .ui-icon { left: 10px; } } - .trade, .instruments, .resources { + .trade, .instruments, .resources, .workspace { .ui-menu .ui-menu-item { list-style-image: none !important; white-space: nowrap; diff --git a/src/workspace/workspace-menu.html b/src/workspace/workspace-menu.html index e39062ca78..0fc0604caf 100644 --- a/src/workspace/workspace-menu.html +++ b/src/workspace/workspace-menu.html @@ -1,20 +1,20 @@ diff --git a/src/workspace/workspace-menu.scss b/src/workspace/workspace-menu.scss index 59a00fa85f..39a3b01058 100644 --- a/src/workspace/workspace-menu.scss +++ b/src/workspace/workspace-menu.scss @@ -3,6 +3,7 @@ ul.workspace-ul { > a { &:hover { opacity: 1; } color: white; + font-size: 14px; padding: 0; line-height: 34px; padding: 0 10px 0 36px !important; From aa4778935cdd60042410bfe64e2aee4010ecb8b5 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Thu, 21 Feb 2019 14:58:33 +0800 Subject: [PATCH 02/14] cursor pointer --- src/navigation/navigation.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/navigation/navigation.scss b/src/navigation/navigation.scss index f76a5d8c13..84c6d3d4bb 100644 --- a/src/navigation/navigation.scss +++ b/src/navigation/navigation.scss @@ -58,6 +58,7 @@ nav { .ui-menu-item-wrapper { padding: 8px 30px; font-size: 14px; + cursor: pointer; } div { font-size: 1rem; From decd82ba8d33d86dc6a506fe71ca365818ab7350 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Thu, 21 Feb 2019 15:08:05 +0800 Subject: [PATCH 03/14] substitude manage and arrange --- src/workspace/workspace-menu.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/workspace/workspace-menu.html b/src/workspace/workspace-menu.html index 0fc0604caf..4b1342e78b 100644 --- a/src/workspace/workspace-menu.html +++ b/src/workspace/workspace-menu.html @@ -2,13 +2,13 @@
  • - {'Arrange' | i18n} + {'Manage' | i18n}
  • - {'Manage' | i18n} + {'Arrange' | i18n}
  • From 7f2bfb9bc027fad47d6d50a62bf910e744610a21 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Thu, 21 Feb 2019 17:29:31 +0800 Subject: [PATCH 04/14] bid price error fix --- src/viewtransaction/viewTransaction.es6 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/viewtransaction/viewTransaction.es6 b/src/viewtransaction/viewTransaction.es6 index fdb744e3e4..914c88fb41 100644 --- a/src/viewtransaction/viewTransaction.es6 +++ b/src/viewtransaction/viewTransaction.es6 @@ -221,8 +221,8 @@ const updateIndicative = (data, state) => { return; } - updateStateSell(); - handleForwardStarting(); + updateStateSell(contract, state); + handleForwardStarting(contract, state); state.chart.manualReflow(); function updateState(contract, state) { @@ -249,14 +249,14 @@ const updateIndicative = (data, state) => { state.note = makeNote(contract); } - function updateStateSell() { + function updateStateSell(contract, state) { if (contract.bid_price) { state.sell.bid_price.value = contract.bid_price; - [state.sell.bid_price.unit, state.sell.bid_price.cent] = contract.bid_price.toString().split(/[\.,]+/); + [state.sell.bid_price.unit, state.sell.bid_price.cent] = String(contract.bid_price).split(/[\.,]+/); } } - function handleForwardStarting() { + function handleForwardStarting(contract, state) { const constract_is_forward_starting = contract.is_forward_starting && +contract.date_start > +contract.current_spot_time; if (constract_is_forward_starting) { state.fwd_starting = '* Contract has not started yet'.i18n(); From 1fbc03b9bef0366e74784a8cca9fefc95d28ccde Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Fri, 22 Feb 2019 11:12:59 +0800 Subject: [PATCH 05/14] add sorted markets function in market utils to sort objects --- src/assetindex/assetIndex.es6 | 11 +++++++---- src/common/marketUtils.es6 | 31 +++++++++++++++++++++++++++++-- src/instruments/instruments.es6 | 4 ++-- src/trade/tradeMenu.es6 | 4 ++-- src/tradingtimes/tradingTimes.es6 | 8 ++++---- 5 files changed, 44 insertions(+), 14 deletions(-) diff --git a/src/assetindex/assetIndex.es6 b/src/assetindex/assetIndex.es6 index a2dd6e5950..0234cf6d7d 100644 --- a/src/assetindex/assetIndex.es6 +++ b/src/assetindex/assetIndex.es6 @@ -4,7 +4,7 @@ import liveapi from '../websockets/binary_websockets'; import rv from 'common/rivetsExtra'; import 'jquery-growl'; import 'css!./assetIndex.css'; -import { getMarketsSubmarkets, getOrderedMarkets } from '../common/marketUtils'; +import { getMarketsSubmarkets, getOrderedMarkets, sortSubmarkets } from '../common/marketUtils'; let table_el = null; let asset_win_el = null; @@ -167,7 +167,7 @@ const initTable = () => { list: markets_sorted_list, inx: 0, changed: (val) => { - const submarket_list = Object.keys(market_submarkets[val]); + const submarket_list = sortSubmarkets(Object.keys(market_submarkets[val])); state.dropdown.display_submarkets.update_list(submarket_list); updateTable(state.dropdown.display_markets.val(), state.dropdown.display_submarkets.val()); }, @@ -180,10 +180,13 @@ const initTable = () => { } function submarketsDropdown(market_submarkets) { + const submarkets = Object.keys(market_submarkets[state.dropdown.display_markets.val()]); + const sorted_submarkets = sortSubmarkets(submarkets); + if (!state.dropdown.display_submarkets) { state.dropdown.display_submarkets = windows .makeSelectmenu($(''); sub_select.appendTo(subheader); submarket_names = windows.makeSelectmenu(sub_select, { - list: Object.keys(header[market_names.val()]), + list: sortSubmarkets(Object.keys(header[market_names.val()])), inx: 0, changed: changedFn, }); submarket_names.off('selectmenuchange', changed); submarket_names.on('selectmenuchange', changed); } else { - submarket_names.update_list(Object.keys(header[market_names.val()])); + submarket_names.update_list(sortSubmarkets(Object.keys(header[market_names.val()]))); submarket_names.off('selectmenuchange', changed); submarket_names.on('selectmenuchange', changed); } From f5462b0e12d0b14b7f188dc8902422e9f08b68a5 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Fri, 22 Feb 2019 11:17:40 +0800 Subject: [PATCH 06/14] remove spaces --- src/common/marketUtils.es6 | 1 + 1 file changed, 1 insertion(+) diff --git a/src/common/marketUtils.es6 b/src/common/marketUtils.es6 index f5f6fce942..286c356ee4 100644 --- a/src/common/marketUtils.es6 +++ b/src/common/marketUtils.es6 @@ -46,6 +46,7 @@ const getMarketsSubmarkets = (active_symbols) => { const getOrderedMarkets = (active_symbols) => { const unsorted_markets = getMarkets(active_symbols); const sorted_markets_order = getMarketPosition(Object.keys(unsorted_markets)); + return sorted_markets_order.map(market_id => unsorted_markets[market_id].toString()); }; From dcbf1a65893f14876f23f760a50a9f7462d77c8d Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Fri, 22 Feb 2019 11:18:23 +0800 Subject: [PATCH 07/14] semicolons added --- src/trade/tradeMenu.es6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trade/tradeMenu.es6 b/src/trade/tradeMenu.es6 index d16155ea9f..af22f4667d 100644 --- a/src/trade/tradeMenu.es6 +++ b/src/trade/tradeMenu.es6 @@ -32,7 +32,7 @@ const refresh_active_symbols = () => { market.is_disabled = _.every(market.submarkets, 'is_disabled'); return market; }).value(); - markets = getMarketChildSorted(markets) + markets = getMarketChildSorted(markets); const trade = $("#nav-menu").find(".trade"); menu.refreshMenu(trade, markets, (symbol, display_name, pip) => { From f591d4b41cb6e540e9083b794b53eee9556ce296 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Mon, 25 Feb 2019 10:29:29 +0800 Subject: [PATCH 08/14] revert bid price fix --- src/viewtransaction/viewTransaction.es6 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/viewtransaction/viewTransaction.es6 b/src/viewtransaction/viewTransaction.es6 index 914c88fb41..fdb744e3e4 100644 --- a/src/viewtransaction/viewTransaction.es6 +++ b/src/viewtransaction/viewTransaction.es6 @@ -221,8 +221,8 @@ const updateIndicative = (data, state) => { return; } - updateStateSell(contract, state); - handleForwardStarting(contract, state); + updateStateSell(); + handleForwardStarting(); state.chart.manualReflow(); function updateState(contract, state) { @@ -249,14 +249,14 @@ const updateIndicative = (data, state) => { state.note = makeNote(contract); } - function updateStateSell(contract, state) { + function updateStateSell() { if (contract.bid_price) { state.sell.bid_price.value = contract.bid_price; - [state.sell.bid_price.unit, state.sell.bid_price.cent] = String(contract.bid_price).split(/[\.,]+/); + [state.sell.bid_price.unit, state.sell.bid_price.cent] = contract.bid_price.toString().split(/[\.,]+/); } } - function handleForwardStarting(contract, state) { + function handleForwardStarting() { const constract_is_forward_starting = contract.is_forward_starting && +contract.date_start > +contract.current_spot_time; if (constract_is_forward_starting) { state.fwd_starting = '* Contract has not started yet'.i18n(); From 5570cf1a2427bf950372f5d2eb56f27b1507faa3 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Mon, 25 Feb 2019 10:33:26 +0800 Subject: [PATCH 09/14] nonmutate function on market utils --- src/common/marketUtils.es6 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/marketUtils.es6 b/src/common/marketUtils.es6 index 286c356ee4..4d4e9d3f35 100644 --- a/src/common/marketUtils.es6 +++ b/src/common/marketUtils.es6 @@ -11,7 +11,7 @@ const getMarketPosition = (() => { }; })(); -const getMarketChild = (markets) => { +const getMarketChild = ([...markets]) => { return markets.map((market) => { if (market.submarkets) { const submarkets_sort = market.submarkets.sort((a, b) => { @@ -61,7 +61,7 @@ const getMarkets = (active_symbols) => { }, {}); }; -function sortSubmarkets(submarkets) { +function sortSubmarkets([...submarkets]) { return submarkets.sort((a, b) => { if (a < b) return -1; if (a > b) return 1; From bb2abc24e3783bb171caeb38b73d69d2733644c3 Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Mon, 25 Feb 2019 10:54:57 +0800 Subject: [PATCH 10/14] descriptive sort name --- src/common/marketUtils.es6 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/marketUtils.es6 b/src/common/marketUtils.es6 index 4d4e9d3f35..a09a650493 100644 --- a/src/common/marketUtils.es6 +++ b/src/common/marketUtils.es6 @@ -11,7 +11,7 @@ const getMarketPosition = (() => { }; })(); -const getMarketChild = ([...markets]) => { +const sortMarketSubmarkets = ([...markets]) => { return markets.map((market) => { if (market.submarkets) { const submarkets_sort = market.submarkets.sort((a, b) => { @@ -26,7 +26,7 @@ const getMarketChild = ([...markets]) => { const getMarketChildSorted = (markets) => { const sorted_markets_order = getMarketPosition(markets); - const sorted_market_child = getMarketChild(sorted_markets_order); + const sorted_market_child = sortMarketSubmarkets(sorted_markets_order); return sorted_market_child } From 7c419fe9292405cfe52bd0f9994878e392a6953f Mon Sep 17 00:00:00 2001 From: Amam Mustofa Date: Mon, 25 Feb 2019 11:11:28 +0800 Subject: [PATCH 11/14] descriptive name for market utils --- src/assetindex/assetIndex.es6 | 8 ++++---- src/common/marketUtils.es6 | 30 +++++++++++++++--------------- src/instruments/instruments.es6 | 4 ++-- src/trade/tradeMenu.es6 | 4 ++-- src/tradingtimes/tradingTimes.es6 | 10 +++++----- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/assetindex/assetIndex.es6 b/src/assetindex/assetIndex.es6 index 0234cf6d7d..a9f4c7653b 100644 --- a/src/assetindex/assetIndex.es6 +++ b/src/assetindex/assetIndex.es6 @@ -4,7 +4,7 @@ import liveapi from '../websockets/binary_websockets'; import rv from 'common/rivetsExtra'; import 'jquery-growl'; import 'css!./assetIndex.css'; -import { getMarketsSubmarkets, getOrderedMarkets, sortSubmarkets } from '../common/marketUtils'; +import { getMarketsSubmarkets, getSortedMarkets, getSortedSubmarkets } from '../common/marketUtils'; let table_el = null; let asset_win_el = null; @@ -86,7 +86,7 @@ const initTable = () => { if($.isEmptyObject(active_symbols_data) && $.isEmptyObject(asset_index_data)) return; state.dropdown.market_submarkets = getMarketsSubmarkets(active_symbols_data); - state.dropdown.sorted_markets = getOrderedMarkets(active_symbols_data); + state.dropdown.sorted_markets = getSortedMarkets(active_symbols_data); state.table.asset_data = asset_index_data; header_el = asset_win_el.parent().find('.ui-dialog-title').addClass('with-content'); @@ -167,7 +167,7 @@ const initTable = () => { list: markets_sorted_list, inx: 0, changed: (val) => { - const submarket_list = sortSubmarkets(Object.keys(market_submarkets[val])); + const submarket_list = getSortedSubmarkets(Object.keys(market_submarkets[val])); state.dropdown.display_submarkets.update_list(submarket_list); updateTable(state.dropdown.display_markets.val(), state.dropdown.display_submarkets.val()); }, @@ -181,7 +181,7 @@ const initTable = () => { function submarketsDropdown(market_submarkets) { const submarkets = Object.keys(market_submarkets[state.dropdown.display_markets.val()]); - const sorted_submarkets = sortSubmarkets(submarkets); + const sorted_submarkets = getSortedSubmarkets(submarkets); if (!state.dropdown.display_submarkets) { state.dropdown.display_submarkets = windows diff --git a/src/common/marketUtils.es6 b/src/common/marketUtils.es6 index a09a650493..3d32fc0a62 100644 --- a/src/common/marketUtils.es6 +++ b/src/common/marketUtils.es6 @@ -24,13 +24,14 @@ const sortMarketSubmarkets = ([...markets]) => { }) } -const getMarketChildSorted = (markets) => { - const sorted_markets_order = getMarketPosition(markets); +const getSortedMarketSubmarkets = (markets_submarkets) => { + const sorted_markets_order = getMarketPosition(markets_submarkets); const sorted_market_child = sortMarketSubmarkets(sorted_markets_order); return sorted_market_child } +// get market submarket -> object const getMarketsSubmarkets = (active_symbols) => { return active_symbols.reduce((market_result, markets) => { const { market_display_name, submarket_display_name, display_name } = markets; @@ -43,15 +44,9 @@ const getMarketsSubmarkets = (active_symbols) => { }, {}); }; -const getOrderedMarkets = (active_symbols) => { - const unsorted_markets = getMarkets(active_symbols); - const sorted_markets_order = getMarketPosition(Object.keys(unsorted_markets)); - - return sorted_markets_order.map(market_id => unsorted_markets[market_id].toString()); -}; - -const getMarkets = (active_symbols) => { - return active_symbols.reduce((market_result, markets) => { +// sort market -> array +const getSortedMarkets = (active_symbols) => { + const unsorted_markets = active_symbols.reduce((market_result, markets) => { const { market, market_display_name } = markets; market_result[market] = market_result[market] || []; @@ -59,9 +54,14 @@ const getMarkets = (active_symbols) => { return market_result; }, {}); + + const sorted_markets_order = getMarketPosition(Object.keys(unsorted_markets)); + + return sorted_markets_order.map(market_id => unsorted_markets[market_id].toString()); }; -function sortSubmarkets([...submarkets]) { +// sort submarkets -> array +function getSortedSubmarkets([...submarkets]) { return submarkets.sort((a, b) => { if (a < b) return -1; if (a > b) return 1; @@ -70,7 +70,7 @@ function sortSubmarkets([...submarkets]) { export { getMarketsSubmarkets, - getOrderedMarkets, - getMarketChildSorted, - sortSubmarkets, + getSortedMarkets, + getSortedMarketSubmarkets, + getSortedSubmarkets, }; \ No newline at end of file diff --git a/src/instruments/instruments.es6 b/src/instruments/instruments.es6 index 0300c49d2f..12ee7193b1 100755 --- a/src/instruments/instruments.es6 +++ b/src/instruments/instruments.es6 @@ -2,7 +2,7 @@ import $ from "jquery"; import liveapi from "websockets/binary_websockets"; import menu from "navigation/menu"; import chartWindow from "charts/chartWindow"; -import { getMarketChildSorted } from '../common/marketUtils'; +import { getSortedMarketSubmarkets } from '../common/marketUtils'; import "jquery-growl"; import "common/util"; @@ -48,7 +48,7 @@ function refresh_active_symbols() { return m.submarkets.length !== 0; }); - markets = getMarketChildSorted(markets); + markets = getSortedMarketSubmarkets(markets); const instruments = $("#nav-menu").find(".instruments"); instruments.find('> ul').remove(); diff --git a/src/trade/tradeMenu.es6 b/src/trade/tradeMenu.es6 index af22f4667d..ab87e9a7c3 100644 --- a/src/trade/tradeMenu.es6 +++ b/src/trade/tradeMenu.es6 @@ -1,7 +1,7 @@ import $ from 'jquery'; import liveapi from '../websockets/binary_websockets'; import menu from '../navigation/menu'; -import { getMarketChildSorted } from '../common/marketUtils'; +import { getSortedMarketSubmarkets } from '../common/marketUtils'; import "jquery-growl"; const show_error = (err) => { @@ -32,7 +32,7 @@ const refresh_active_symbols = () => { market.is_disabled = _.every(market.submarkets, 'is_disabled'); return market; }).value(); - markets = getMarketChildSorted(markets); + markets = getSortedMarketSubmarkets(markets); const trade = $("#nav-menu").find(".trade"); menu.refreshMenu(trade, markets, (symbol, display_name, pip) => { diff --git a/src/tradingtimes/tradingTimes.es6 b/src/tradingtimes/tradingTimes.es6 index 9337a7a64e..9f469813fb 100644 --- a/src/tradingtimes/tradingTimes.es6 +++ b/src/tradingtimes/tradingTimes.es6 @@ -6,7 +6,7 @@ import 'datatables'; import 'jquery-growl'; import _ from 'lodash'; import moment from 'moment'; -import { getMarketsSubmarkets, getOrderedMarkets, sortSubmarkets } from '../common/marketUtils'; +import { getMarketsSubmarkets, getSortedMarkets, getSortedSubmarkets } from '../common/marketUtils'; let table = null; let tradingWin = null; @@ -146,14 +146,14 @@ const initTradingWin = ($html) => { const result = processData(menu.extractFilteredMarkets(data[0])); const active_symbols = local_storage.get('active_symbols') const header = getMarketsSubmarkets(active_symbols); - const markets_sorted_list = getOrderedMarkets(active_symbols); + const markets_sorted_list = getSortedMarkets(active_symbols); if($.isEmptyObject(header)) return; function changed() { const val = $(this).val(); - if (header[val]) submarket_names.update_list(sortSubmarkets(Object.keys(header[val]))); + if (header[val]) submarket_names.update_list(getSortedSubmarkets(Object.keys(header[val]))); updateTable(result, market_names.val(), submarket_names.val()); }; @@ -177,14 +177,14 @@ const initTradingWin = ($html) => { const sub_select = $('