diff --git a/src/javascript/app_2/Stores/Modules/Trading/Helpers/duration.js b/src/javascript/app_2/Stores/Modules/Trading/Helpers/duration.js index 0be0674c46040..6fb656de728dc 100644 --- a/src/javascript/app_2/Stores/Modules/Trading/Helpers/duration.js +++ b/src/javascript/app_2/Stores/Modules/Trading/Helpers/duration.js @@ -113,3 +113,14 @@ export const convertDurationLimit = (value, unit) => { export const hasIntradayDurationUnit = (duration_units_list) => ( duration_units_list.some(unit => ['m', 'h'].indexOf(unit.value) !== -1) ); + +/** + * On switching symbols, end_time value of volatility indices should be set to today + * + * @param {String} symbol + * @param {String} expiry_type + * @returns {*} + */ +export const resetEndTimeOnVolatilityIndices = (symbol, expiry_type) => ( + (/^R_/.test(symbol) && expiry_type === 'endtime') ? toMoment(null).format('DD MMM YYYY') : null +); diff --git a/src/javascript/app_2/Stores/Modules/Trading/trade-store.js b/src/javascript/app_2/Stores/Modules/Trading/trade-store.js index 95f93f66a055b..632857c8f9b64 100644 --- a/src/javascript/app_2/Stores/Modules/Trading/trade-store.js +++ b/src/javascript/app_2/Stores/Modules/Trading/trade-store.js @@ -25,7 +25,9 @@ import getValidationRules from './Constants/validation-rules'; import { isRiseFallEqual } from './Helpers/allow-equals'; import { setChartBarrier } from './Helpers/chart'; import ContractType from './Helpers/contract-type'; -import { convertDurationLimit } from './Helpers/duration'; +import { + convertDurationLimit, + resetEndTimeOnVolatilityIndices } from './Helpers/duration'; import { processTradeParams } from './Helpers/process'; import { createProposalRequests, @@ -145,6 +147,16 @@ export default class TradeStore extends BaseStore { this.onAllowEqualsChange(); }, ); + + reaction( + () => this.symbol, + () => { + const date = resetEndTimeOnVolatilityIndices(this.symbol, this.expiry_type); + if (date) { + this.expiry_date = date; + } + } + ); } @action.bound