From 413a57ebaa33601ea564a7bcdcb02f96c453f6c8 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Fri, 7 Oct 2022 10:52:48 +0400 Subject: [PATCH 01/13] personal_details validation --- .../personal-details-config.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_form_config/personal-details-config.js b/src/javascript/app/pages/user/new_account/new_account_form_config/personal-details-config.js index 90a6f22af21cb..55006a6bfff05 100644 --- a/src/javascript/app/pages/user/new_account/new_account_form_config/personal-details-config.js +++ b/src/javascript/app/pages/user/new_account/new_account_form_config/personal-details-config.js @@ -2,13 +2,14 @@ const localize = require('../../../../../_common/localize').localize; const PersonalDetailForm = require('../new_account_modules/personal_detail_form'); const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { + const isImmutable = (field) => account_settings.immutable_fields.includes(field); const config = [ { id : 'salutation', section : 'name', supported_in : ['iom', 'malta', 'maltainvest'], default_value: account_settings.salutation || '', - is_immutable : true, + is_immutable : isImmutable('salutation'), rules : ['req'], }, { @@ -16,7 +17,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'name', supported_in : ['svg', 'iom', 'malta', 'maltainvest'], default_value: account_settings.first_name || '', - is_immutable : true, + is_immutable : isImmutable('first_name'), rules : ['req', 'letter_symbol', ['length', { min: 2, max: 50 }]], }, { @@ -24,7 +25,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'name', supported_in : ['svg', 'iom', 'malta', 'maltainvest'], default_value: account_settings.last_name || '', - is_immutable : true, + is_immutable : isImmutable('last_name'), rules : ['req', 'letter_symbol', ['length', { min: 2, max: 50 }]], }, { @@ -34,7 +35,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { default_value: account_settings.date_of_birth ? account_settings.date_of_birth : '', - is_immutable: true, + is_immutable: isImmutable('date_of_birth'), rules : ['req'], }, { @@ -42,7 +43,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'detail', supported_in : ['maltainvest', 'iom', 'malta'], default_value: account_settings.place_of_birth || '', - is_immutable : true, + is_immutable : isImmutable('place_of_birth'), rules : ['req'], }, { @@ -50,7 +51,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'detail', supported_in : ['iom', 'malta', 'maltainvest'], default_value: account_settings.citizen || '', - is_immutable : true, + is_immutable : isImmutable('citizen'), rules : ['req'], }, { @@ -58,6 +59,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'detail', supported_in : ['svg', 'iom', 'malta', 'maltainvest'], default_value: account_settings.phone || '', + is_immutable : isImmutable('phone'), rules : ['req', 'phone', ['length', { min: 9, max: 35, value: () => $('#phone').val().replace(/\D/g, '') }, ]], @@ -67,6 +69,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'tax', supported_in : ['maltainvest'], default_value: account_settings.tax_residence || '', + is_immutable : isImmutable('tax_residence'), rules : ['req', ['length', { min: 1, max: 20 }]], }, { @@ -74,6 +77,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'tax', supported_in : ['maltainvest'], default_value: account_settings.tax_identification_number || '', + is_immutable : isImmutable('tax_identification_numbe'), rules : [ 'req', ['tax_id', { residence_list, $warning: $('#tax_id_warning'), $tax_residence: $('#tax_residence') }], @@ -85,6 +89,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'tax', supported_in : ['maltainvest'], default_value: false, + is_immutable : isImmutable('tax_identification_confirm'), rules : ['req'], }, { @@ -92,6 +97,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : 'account_opening_reason', supported_in : ['iom', 'malta', 'maltainvest'], default_value: account_settings.account_opening_reason || '', + is_immutable : isImmutable('account_opening_reason'), rules : ['req'], }, { @@ -99,6 +105,7 @@ const getPersonalDetailsConfig = ({ account_settings, residence_list }) => { section : '', supported_in : ['maltainvest'], default_value: '', + is_immutable : isImmutable('accurate_answer_warning'), rules : [], }, ]; From e528d9bd2ea295c0b1b9b509b99aaf1455f937b9 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Fri, 7 Oct 2022 12:22:45 +0400 Subject: [PATCH 02/13] fix circleci failed case --- .../_common/binary-to-deriv/js/sprite-cd6ec4.smartcharts.svg | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/root_files/_common/binary-to-deriv/js/sprite-cd6ec4.smartcharts.svg b/src/root_files/_common/binary-to-deriv/js/sprite-cd6ec4.smartcharts.svg index 9f9a0d383e6b9..cb493eae9a692 100644 --- a/src/root_files/_common/binary-to-deriv/js/sprite-cd6ec4.smartcharts.svg +++ b/src/root_files/_common/binary-to-deriv/js/sprite-cd6ec4.smartcharts.svg @@ -1,4 +1 @@ -WALLST \ No newline at end of file +WALLST \ No newline at end of file From 7e8ae692f24bbf940f7e02b52eb28c561a03449d Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Wed, 19 Oct 2022 17:29:41 +0400 Subject: [PATCH 03/13] disabled state style change --- .../new_account_modules/personal_detail_form.js | 2 +- src/sass/_common/common.scss | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js b/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js index 9a9c082991c90..4d19593994c2b 100644 --- a/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js +++ b/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js @@ -67,7 +67,7 @@ const PersonalDetailForm = (() => { } getElementById(`${field.section}_section`).setVisibility(1); getElementById(`${field.id}_row`).setVisibility(1); - if (field.is_immutable && field.default_value !== '') $(`#${field.id}`).attr('disabled', 'disabled'); + if (field.is_immutable && field.default_value !== '') $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); }); }; diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index 4b19dd42f3c71..a5e49fdb30194 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -96,6 +96,14 @@ a.button-disabled { pointer-events: none; } +.immutable-field { + color: $COLOR_GRAY; + + &:hover { + border: 1px solid $COLOR_LIGHT_GRAY; + } +} + span.checked { background: url('../images/pages/authenticate/checked.svg') no-repeat; width: 16px; From 3451e5ca9f403d4aa23b2eb4589638688d3ecca8 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Fri, 21 Oct 2022 11:32:50 +0400 Subject: [PATCH 04/13] revert color style --- src/sass/_common/common.scss | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index a5e49fdb30194..5a39e1c3fdac7 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -97,8 +97,6 @@ a.button-disabled { } .immutable-field { - color: $COLOR_GRAY; - &:hover { border: 1px solid $COLOR_LIGHT_GRAY; } From 228dbc9f720634036b39732f17f0a9d721e04050 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Fri, 21 Oct 2022 13:33:13 +0400 Subject: [PATCH 05/13] revert color style --- src/sass/_common/common.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index 5a39e1c3fdac7..d9ee95aa88a00 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -97,6 +97,8 @@ a.button-disabled { } .immutable-field { + -webkit-text-fill-color: $COLOR_BLACK; // to make disabled field normal one in ios + &:hover { border: 1px solid $COLOR_LIGHT_GRAY; } From 754fe1882c0fa72d2d74212263914eea0617b568 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Fri, 21 Oct 2022 14:46:59 +0400 Subject: [PATCH 06/13] ios style --- src/sass/_common/common.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index d9ee95aa88a00..7108837f5d8d5 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -98,6 +98,7 @@ a.button-disabled { .immutable-field { -webkit-text-fill-color: $COLOR_BLACK; // to make disabled field normal one in ios + opacity: 1; /* required on iOS */ &:hover { border: 1px solid $COLOR_LIGHT_GRAY; From 03097b9527c08cad9d1aeb4732ebfdf85a85124c Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Wed, 9 Nov 2022 10:38:40 +0400 Subject: [PATCH 07/13] addres --- .../address-details-config.js | 106 ++++++++++-------- .../address_detail_form.js | 1 + src/sass/_common/common.scss | 2 - 3 files changed, 58 insertions(+), 51 deletions(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_form_config/address-details-config.js b/src/javascript/app/pages/user/new_account/new_account_form_config/address-details-config.js index 5ce0a4e41cc5b..e6ec815961707 100644 --- a/src/javascript/app/pages/user/new_account/new_account_form_config/address-details-config.js +++ b/src/javascript/app/pages/user/new_account/new_account_form_config/address-details-config.js @@ -1,55 +1,63 @@ const AddressDetailForm = require('../new_account_modules/address_detail_form'); const localize = require('../../../../../_common/localize').localize; -const getAddressDetailsConfig = ({ account_settings, is_svg }) => [ - { - id : 'address_line_1', - section : 'address_section', - supported_in : ['svg', 'iom', 'malta', 'maltainvest'], - default_value: account_settings.address_line_1 || '', - rules : ['req', 'address', ['length', { min: 1, max: 700 }]], - }, - { - id : 'address_line_2', - section : 'address_section', - supported_in : ['svg', 'iom', 'malta', 'maltainvest'], - default_value: account_settings.address_line_2 || '', - rules : [['length', { min: 0, max: 70 }]], - }, - { - id : 'address_city', - section : 'address_section', - supported_in : ['svg', 'iom', 'malta', 'maltainvest'], - default_value: account_settings.address_city || '', - rules : [ - 'req', 'address_city', - ['regular', { regex: /^[a-zA-Z\s\W'.-]{1,35}$/ }], - ], - }, - { - id : 'address_state', - section : 'address_section', - supported_in : ['svg', 'iom', 'malta', 'maltainvest'], - default_value: account_settings.address_state || '', - rules : [ - ['regular', { regex: /^[\w\s\W'.-;,]{0,60}$/ }], - // Isle of Man and SVG Clients do not need to fill out state. - ...(account_settings.country_code === 'im' || is_svg ? [] : ['req']), - ], - }, - { - id : 'address_postcode', - section : 'address_section', - supported_in : ['svg', 'iom', 'malta', 'maltainvest'], - default_value: account_settings.address_postcode || '', - rules : [ - ['length', { min: 0, max: 20 }], - 'postcode', - // GB and IM residence are required to fill in the post code. - ...(/^(im|gb)$/.test(account_settings.country_code) ? ['req'] : []), - ], - }, -]; +const getAddressDetailsConfig = ({ account_settings, is_svg }) => { + const isImmutable = (field) => account_settings.immutable_fields.includes(field); + return ([ + { + id : 'address_line_1', + section : 'address_section', + supported_in : ['svg', 'iom', 'malta', 'maltainvest'], + default_value: account_settings.address_line_1 || '', + is_immutable : isImmutable('address_line_1'), + rules : ['req', 'address', ['length', { min: 1, max: 700 }]], + }, + { + id : 'address_line_2', + section : 'address_section', + supported_in : ['svg', 'iom', 'malta', 'maltainvest'], + default_value: account_settings.address_line_2 || '', + is_immutable : isImmutable('address_line_2'), + rules : [['length', { min: 0, max: 70 }]], + }, + { + id : 'address_city', + section : 'address_section', + supported_in : ['svg', 'iom', 'malta', 'maltainvest'], + default_value: account_settings.address_city || '', + is_immutable : isImmutable('address_city'), + rules : [ + 'req', 'address_city', + ['regular', { regex: /^[a-zA-Z\s\W'.-]{1,35}$/ }], + ], + }, + { + id : 'address_state', + section : 'address_section', + supported_in : ['svg', 'iom', 'malta', 'maltainvest'], + default_value: account_settings.address_state || '', + is_immutable : isImmutable('address_state'), + rules : [ + ['regular', { regex: /^[\w\s\W'.-;,]{0,60}$/ }], + // Isle of Man and SVG Clients do not need to fill out state. + ...(account_settings.country_code === 'im' || is_svg ? [] : ['req']), + ], + }, + { + id : 'address_postcode', + section : 'address_section', + supported_in : ['svg', 'iom', 'malta', 'maltainvest'], + default_value: account_settings.address_postcode || '', + is_immutable : isImmutable('address_postcode'), + rules : [ + ['length', { min: 0, max: 20 }], + 'postcode', + // GB and IM residence are required to fill in the post code. + ...(/^(im|gb)$/.test(account_settings.country_code) ? ['req'] : []), + ], + }, + ]); +}; const getRequiredFields = (landing_company, all_fields) => all_fields.filter(field => field.supported_in.includes(landing_company)); diff --git a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js index 85d45d7c08b11..0f01b9eb67587 100644 --- a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js +++ b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js @@ -20,6 +20,7 @@ const AddressDetailForm = (() => { getElementById(`${field.section}_section`).setVisibility(1); getElementById(`${field.id}_row`).setVisibility(1); + if (field.is_immutable) $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); }); }; diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index 7108837f5d8d5..28713783fac05 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -97,8 +97,6 @@ a.button-disabled { } .immutable-field { - -webkit-text-fill-color: $COLOR_BLACK; // to make disabled field normal one in ios - opacity: 1; /* required on iOS */ &:hover { border: 1px solid $COLOR_LIGHT_GRAY; From 3d86e8e32d9dfcb3176d748fa881f1a71ae945e3 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Wed, 9 Nov 2022 10:50:07 +0400 Subject: [PATCH 08/13] addres --- src/sass/_common/common.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index 28713783fac05..5a39e1c3fdac7 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -97,7 +97,6 @@ a.button-disabled { } .immutable-field { - &:hover { border: 1px solid $COLOR_LIGHT_GRAY; } From 22ba47949cd0fb62d7c5c660fa94265034e64d9c Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Wed, 9 Nov 2022 12:27:41 +0400 Subject: [PATCH 09/13] mutate address fields --- src/sass/_common/common.scss | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index 5a39e1c3fdac7..f72a9f5b1cd12 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -97,9 +97,7 @@ a.button-disabled { } .immutable-field { - &:hover { - border: 1px solid $COLOR_LIGHT_GRAY; - } + pointer-events: none; } span.checked { From b18846cf8b29960965805574ced460b5176aefbf Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Wed, 9 Nov 2022 15:11:30 +0400 Subject: [PATCH 10/13] mutate address fields --- .../new_account/new_account_modules/personal_detail_form.js | 2 +- src/sass/_common/common.scss | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js b/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js index 4d19593994c2b..e15577aa3b4cc 100644 --- a/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js +++ b/src/javascript/app/pages/user/new_account/new_account_modules/personal_detail_form.js @@ -67,7 +67,7 @@ const PersonalDetailForm = (() => { } getElementById(`${field.section}_section`).setVisibility(1); getElementById(`${field.id}_row`).setVisibility(1); - if (field.is_immutable && field.default_value !== '') $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); + if (field.is_immutable) $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); }); }; diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index f72a9f5b1cd12..3fe3d26deb602 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -98,6 +98,10 @@ a.button-disabled { .immutable-field { pointer-events: none; + -webkit-text-fill-color: $COLOR_GRAY;; + span.select2-container--disabled{ + pointer-events: none; + } } span.checked { From 2447631bfb6d98f9a29533cf4ae0159c7a5d184c Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Wed, 23 Nov 2022 17:32:39 +0400 Subject: [PATCH 11/13] address state --- .../new_account/new_account_modules/address_detail_form.js | 3 +++ src/sass/_common/common.scss | 6 ++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js index 0f01b9eb67587..331cbc6605e9a 100644 --- a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js +++ b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js @@ -21,6 +21,9 @@ const AddressDetailForm = (() => { getElementById(`${field.section}_section`).setVisibility(1); getElementById(`${field.id}_row`).setVisibility(1); if (field.is_immutable) $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); + if (field.id === 'address_state' && field.is_immutable) { + $('#address_state').parent().css('pointer-events', 'none'); + } }); }; diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index 3fe3d26deb602..ded0e8dc3efe0 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -98,10 +98,8 @@ a.button-disabled { .immutable-field { pointer-events: none; - -webkit-text-fill-color: $COLOR_GRAY;; - span.select2-container--disabled{ - pointer-events: none; - } + -webkit-text-fill-color: $COLOR_BLACK; // to make disabled field normal one in ios + opacity: 1; /* required for iphone */ } span.checked { From 2d6fc2fc2d5179a140f75f6d2d9892ae9a69daa7 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Thu, 24 Nov 2022 15:12:45 +0400 Subject: [PATCH 12/13] fix: colour --- .../new_account_modules/address_detail_form.js | 11 ++++++++--- src/sass/_common/common.scss | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js index 331cbc6605e9a..eb1542c3807fd 100644 --- a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js +++ b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js @@ -20,9 +20,14 @@ const AddressDetailForm = (() => { getElementById(`${field.section}_section`).setVisibility(1); getElementById(`${field.id}_row`).setVisibility(1); - if (field.is_immutable) $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); - if (field.id === 'address_state' && field.is_immutable) { - $('#address_state').parent().css('pointer-events', 'none'); + if (field.is_immutable) { + if (field.id === 'address_state') { + $('#address_state').parent().css('pointer-events', 'none'); + $('#select2-address_state-container').css('color', '#dedede'); + $('#select2-address_state-container').parent().addClass('white-bg-color'); + } else { + $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field'); + } } }); }; diff --git a/src/sass/_common/common.scss b/src/sass/_common/common.scss index ded0e8dc3efe0..f98c7328ed3f7 100755 --- a/src/sass/_common/common.scss +++ b/src/sass/_common/common.scss @@ -98,7 +98,7 @@ a.button-disabled { .immutable-field { pointer-events: none; - -webkit-text-fill-color: $COLOR_BLACK; // to make disabled field normal one in ios + -webkit-text-fill-color: $COLOR_GRAY; // to make disabled field normal one in ios opacity: 1; /* required for iphone */ } From 88a0eee5cf5ae586ccf8fc4c16e399e42234ede3 Mon Sep 17 00:00:00 2001 From: amina-deriv Date: Thu, 24 Nov 2022 15:27:42 +0400 Subject: [PATCH 13/13] updates from master --- .../user/new_account/new_account_modules/address_detail_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js index eb1542c3807fd..9ed9632b72064 100644 --- a/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js +++ b/src/javascript/app/pages/user/new_account/new_account_modules/address_detail_form.js @@ -23,7 +23,7 @@ const AddressDetailForm = (() => { if (field.is_immutable) { if (field.id === 'address_state') { $('#address_state').parent().css('pointer-events', 'none'); - $('#select2-address_state-container').css('color', '#dedede'); + $('#select2-address_state-container').addClass('immutable-field'); $('#select2-address_state-container').parent().addClass('white-bg-color'); } else { $(`#${field.id}`).attr('disabled', 'disabled').addClass('immutable-field');