Skip to content

Commit 0bad751

Browse files
authored
Merge pull request binary-com#1500 from shahrizal-shaari/shahrizal/japanui_fix
Shahrizal/japanui fix
2 parents b3c1430 + 8f4d31e commit 0bad751

File tree

5 files changed

+50
-8
lines changed

5 files changed

+50
-8
lines changed

src/javascript/binary/common_functions/__tests__/currency_to_symbol.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ describe('format_money', function() {
88
expect(format_money('GBP', '123.00')).to.eq('£123.00');
99
expect(format_money('EUR', '123.00')).to.eq('€123.00');
1010
expect(format_money('AUD', '123.00')).to.eq('A$123.00');
11-
expect(format_money('JPY', '123.00')).to.eq('¥123.00');
11+
expect(format_money('JPY', '123.00')).to.eq('¥123');
12+
expect(format_money('JPY', '1234.00')).to.eq('¥1,234');
1213
});
1314

1415
it('works for unexpected currencies', function() {

src/javascript/binary/common_functions/currency_to_symbol.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,35 @@
11
function format_money(currency, amount) {
2+
var updatedAmount = amount;
3+
if(currency === 'JPY') { // remove decimal points for JPY and add comma.
4+
updatedAmount = updatedAmount.replace(/\.\d+$/, '').replace(/\B(?=(\d{3})+(?!\d))/g, ",");
5+
}
6+
27
var symbol = format_money.map[currency];
38
if (symbol === undefined) {
4-
return currency + ' ' + amount;
9+
return currency + ' ' + updatedAmount;
510
}
6-
return symbol + amount;
11+
return symbol + updatedAmount;
712
}
813

14+
function format_money_jp(currency, amount) {
15+
var sign = '';
16+
var updatedAmount = amount;
17+
if(currency === 'JPY') { // remove decimal points and add comma.
18+
if (Number(amount) < 0 ) {
19+
sign = '-';
20+
}
21+
22+
updatedAmount = updatedAmount.replace(/\.\d+$/, '').replace('-','').replace(/\B(?=(\d{3})+(?!\d))/g, ",");
23+
}
24+
25+
var symbol = format_money.map[currency];
26+
if (symbol === undefined) {
27+
return currency + ' ' + updatedAmount;
28+
}
29+
return sign + symbol + updatedAmount;
30+
}
31+
32+
933
// Taken with modifications from:
1034
// https://github.com/bengourley/currency-symbol-map/blob/master/map.js
1135
// When we need to handle more currencies please look there.
@@ -20,5 +44,6 @@ format_money.map = {
2044
if (typeof module !== 'undefined') {
2145
module.exports = {
2246
format_money: format_money,
47+
format_money_jp : format_money_jp,
2348
};
2449
}

src/javascript/binary/websocket_pages/user/account/profit_table/profit_table.ui.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ var ProfitTableUI = (function(){
1818
Content.localize().textDetails
1919
];
2020

21-
header[7] = header[7] + (TUser.get().currency ? " (" + TUser.get().currency + ")" : "");
21+
var jpClient = japanese_client();
22+
23+
header[7] = header[7] + (jpClient ? "" : (TUser.get().currency ? " (" + TUser.get().currency + ")" : ""));
2224

2325
var footer = [Content.localize().textTotalProfitLoss, "", "", "", "", "", "", "", ""];
2426

@@ -59,7 +61,9 @@ var ProfitTableUI = (function(){
5961

6062
var total = accTotal + currentTotal;
6163

62-
$("#pl-day-total > .pl").text(addComma(Number(total).toFixed(2)));
64+
var jpClient = japanese_client();
65+
66+
$("#pl-day-total > .pl").text(jpClient ? format_money_jp(TUser.get().currency, total.toString()) : addComma(Number(total).toFixed(2)));
6367

6468
var subTotalType = (total >= 0 ) ? "profit" : "loss";
6569
$("#pl-day-total > .pl").removeClass("profit").removeClass("loss");
@@ -70,7 +74,9 @@ var ProfitTableUI = (function(){
7074
var profit_table_data = ProfitTable.getProfitTabletData(transaction);
7175
var plType = (profit_table_data.pl >= 0) ? "profit" : "loss";
7276

73-
var data = [profit_table_data.buyDate, '<span' + showTooltip(profit_table_data.app_id, oauth_apps[profit_table_data.app_id]) + '>' + profit_table_data.ref + '</span>', profit_table_data.payout, '', profit_table_data.buyPrice, profit_table_data.sellDate, profit_table_data.sellPrice, profit_table_data.pl, ''];
77+
var jpClient = japanese_client();
78+
79+
var data = [profit_table_data.buyDate, '<span' + showTooltip(profit_table_data.app_id, oauth_apps[profit_table_data.app_id]) + '>' + profit_table_data.ref + '</span>', jpClient ? format_money_jp(TUser.get().currency, profit_table_data.payout) : profit_table_data.payout , '', jpClient ? format_money_jp(TUser.get().currency, profit_table_data.buyPrice) : profit_table_data.buyPrice , profit_table_data.sellDate, jpClient ? format_money_jp(TUser.get().currency, profit_table_data.sellPrice) : profit_table_data.sellPrice , jpClient ? format_money_jp(TUser.get().currency, profit_table_data.pl) : profit_table_data.pl , ''];
7480
var $row = Table.createFlexTableRow(data, cols, "data");
7581

7682
$row.children(".buy-date").addClass("pre");

src/javascript/binary/websocket_pages/user/account/statement/statement.ui.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ var StatementUI = (function(){
1717
Content.localize().textDetails
1818
];
1919

20-
header[6] = header[6] + (TUser.get().currency ? " (" + TUser.get().currency + ")" : "");
20+
var jpClient = japanese_client();
21+
22+
header[6] = header[6] + (jpClient ? "" : (TUser.get().currency ? " (" + TUser.get().currency + ")" : ""));
2123

2224
var metadata = {
2325
id: tableID,
@@ -43,7 +45,10 @@ var StatementUI = (function(){
4345
allData.push(statement_data);
4446
var creditDebitType = (parseFloat(statement_data.amount) >= 0) ? "profit" : "loss";
4547

46-
var $statementRow = Table.createFlexTableRow([statement_data.date, '<span' + showTooltip(statement_data.app_id, oauth_apps[statement_data.app_id]) + '>' + statement_data.ref + '</span>', isNaN(statement_data.payout) ? '-' : statement_data.payout, text.localize(statement_data.action), '', statement_data.amount, statement_data.balance, ''], columns, "data");
48+
var jpClient = japanese_client();
49+
50+
var $statementRow = Table.createFlexTableRow([statement_data.date, '<span' + showTooltip(statement_data.app_id, oauth_apps[statement_data.app_id]) + '>' + statement_data.ref + '</span>', isNaN(statement_data.payout) ? '-' : (jpClient ? format_money_jp(TUser.get().currency, statement_data.payout) : statement_data.payout ), text.localize(statement_data.action), '', jpClient ? format_money_jp(TUser.get().currency, statement_data.amount) : statement_data.amount, jpClient ? format_money_jp(TUser.get().currency, statement_data.balance) : statement_data.balance, ''], columns, "data");
51+
4752
$statementRow.children(".credit").addClass(creditDebitType);
4853
$statementRow.children(".date").addClass("pre");
4954
$statementRow.children(".desc").html(statement_data.desc + "<br>");

src/sass/language_base.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ body.JA {
6060
#header #menu-top li {
6161
white-space: nowrap;
6262
}
63+
#profit-table, #statement-table {
64+
.buy-price, .sell-price, .payout, .pl.loss, .act {
65+
white-space: nowrap;
66+
}
67+
}
6368
}
6469
/*Vietnamese Language */
6570
body.VI {

0 commit comments

Comments
 (0)