From becfa3197cece9defafdcfad67e12bc3b7a29b2b Mon Sep 17 00:00:00 2001 From: yuda Date: Wed, 4 Jun 2025 17:14:37 +0900 Subject: [PATCH] feat: enable save button only when form is modified Signed-off-by: yuda --- .../AdvancedSettingsCostReportConfiguration.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/web/src/services/cost-explorer/components/AdvancedSettingsCostReportConfiguration.vue b/apps/web/src/services/cost-explorer/components/AdvancedSettingsCostReportConfiguration.vue index 5000878a7c..cacefa89c3 100644 --- a/apps/web/src/services/cost-explorer/components/AdvancedSettingsCostReportConfiguration.vue +++ b/apps/web/src/services/cost-explorer/components/AdvancedSettingsCostReportConfiguration.vue @@ -3,7 +3,7 @@ import { computed, reactive, watch } from 'vue'; import { useMutation, useQueryClient } from '@tanstack/vue-query'; import dayjs from 'dayjs'; -import { map } from 'lodash'; +import { isEqual, map } from 'lodash'; import { PFieldGroup, @@ -64,6 +64,12 @@ const isSaveDisabled = computed(() => { return !isAllValid.value; }); const currencyMenuList = Object.values(CURRENCY).map((currency) => ({ label: `${CURRENCY_SYMBOL[currency]} ${currency}`, name: currency })); +const isFormChanged = computed(() => !isEqual(state.selectedLanguage, costReportConfig.value?.language) + || !isEqual(state.selectedCurrency, costReportConfig.value?.currency) + || !isEqual(Number(issueDate.value), Number(costReportConfig.value?.issue_day)) + || !isEqual(state.lastDayOfMonth, !!costReportConfig.value?.is_last_day) + || !isEqual(state.enableAdjustments, !!costReportConfig.value?.adjustment_options?.enabled) + || !isEqual(Number(manualAdjustablePeriod.value), Number(costReportConfig.value?.adjustment_options?.period))); const { forms: { @@ -280,7 +286,7 @@ watch(() => costReportConfig.value, (val) => {
{{ $t('LADING.SAVE_CHANGES') }}