From 3347af161a538b4d7fbae76c5aae7d2f6615ba5a Mon Sep 17 00:00:00 2001 From: Pawan Kumar Date: Thu, 14 Nov 2024 17:04:39 +0530 Subject: [PATCH] refactor derived properties --- .../ui/wds/WDSCurrencyInputWidget/widget/index.tsx | 8 ++++++-- .../ui-builder/ui/wds/WDSInputWidget/widget/index.tsx | 7 +++++-- .../src/widgets/CurrencyInputWidget/widget/index.tsx | 9 ++++++--- app/client/src/widgets/InputWidgetV2/widget/index.tsx | 7 +++++-- app/client/src/widgets/PhoneInputWidget/widget/index.tsx | 7 +++++-- 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/app/client/src/modules/ui-builder/ui/wds/WDSCurrencyInputWidget/widget/index.tsx b/app/client/src/modules/ui-builder/ui/wds/WDSCurrencyInputWidget/widget/index.tsx index f9087571fc14..40a16da89274 100644 --- a/app/client/src/modules/ui-builder/ui/wds/WDSCurrencyInputWidget/widget/index.tsx +++ b/app/client/src/modules/ui-builder/ui/wds/WDSCurrencyInputWidget/widget/index.tsx @@ -6,7 +6,7 @@ import type { WidgetState } from "widgets/BaseWidget"; import { EventType } from "constants/AppsmithActionConstants/ActionConstants"; import { CurrencyInputComponent } from "../component"; -import derivedProperties from "./parsedDerivedProperties"; + import { formatCurrencyNumber, limitDecimalValue, @@ -19,7 +19,9 @@ import { import { getLocaleDecimalSeperator, getLocaleThousandSeparator, + parseDerivedProperties, } from "widgets/WidgetUtils"; +import derivedPropertyFns from "./derived"; import type { SetterConfig, Stylesheet } from "entities/AppTheming"; import type { AnvilConfig, @@ -120,8 +122,10 @@ class WDSCurrencyInputWidget extends WDSBaseInputWidget< } static getDerivedPropertiesMap() { + const parsedDerivedProperties = parseDerivedProperties(derivedPropertyFns); + return { - isValid: `{{(() => {${derivedProperties.isValid}})()}}`, + isValid: `{{(() => {${parsedDerivedProperties.isValid}})()}}`, }; } diff --git a/app/client/src/modules/ui-builder/ui/wds/WDSInputWidget/widget/index.tsx b/app/client/src/modules/ui-builder/ui/wds/WDSInputWidget/widget/index.tsx index 5eec9a47efe9..ac858aa5acff 100644 --- a/app/client/src/modules/ui-builder/ui/wds/WDSInputWidget/widget/index.tsx +++ b/app/client/src/modules/ui-builder/ui/wds/WDSInputWidget/widget/index.tsx @@ -7,7 +7,8 @@ import { mergeWidgetConfig } from "utils/helpers"; import { parseText, validateInput } from "./helper"; import type { WidgetState } from "widgets/BaseWidget"; import type { SetterConfig } from "entities/AppTheming"; -import derivedProperties from "./parsedDerivedProperties"; +import derivedPropertyFns from "./derived"; +import { parseDerivedProperties } from "widgets/WidgetUtils"; import { WDSBaseInputWidget } from "../../WDSBaseInputWidget"; import type { DerivedPropertiesMap } from "WidgetProvider/factory"; import { EventType } from "constants/AppsmithActionConstants/ActionConstants"; @@ -52,8 +53,10 @@ class WDSInputWidget extends WDSBaseInputWidget { } static getDerivedPropertiesMap(): DerivedPropertiesMap { + const parsedDerivedProperties = parseDerivedProperties(derivedPropertyFns); + return merge(super.getDerivedPropertiesMap(), { - isValid: `{{(() => {${derivedProperties.isValid}})()}}`, + isValid: `{{(() => {${parsedDerivedProperties.isValid}})()}}`, }); } diff --git a/app/client/src/widgets/CurrencyInputWidget/widget/index.tsx b/app/client/src/widgets/CurrencyInputWidget/widget/index.tsx index 874ef8180897..30f77b8ac84b 100644 --- a/app/client/src/widgets/CurrencyInputWidget/widget/index.tsx +++ b/app/client/src/widgets/CurrencyInputWidget/widget/index.tsx @@ -13,7 +13,8 @@ import { } from "../component/CurrencyCodeDropdown"; import { AutocompleteDataType } from "utils/autocomplete/AutocompleteDataType"; import _ from "lodash"; -import derivedProperties from "./parsedDerivedProperties"; +import derivedPropertyFns from "./derived"; +import { parseDerivedProperties } from "widgets/WidgetUtils"; import BaseInputWidget from "widgets/BaseInputWidget"; import type { BaseInputWidgetProps } from "widgets/BaseInputWidget/widget"; import * as Sentry from "@sentry/react"; @@ -422,9 +423,11 @@ class CurrencyInputWidget extends BaseInputWidget< } static getDerivedPropertiesMap(): DerivedPropertiesMap { + const parsedDerivedProperties = parseDerivedProperties(derivedPropertyFns); + return { - isValid: `{{(()=>{${derivedProperties.isValid}})()}}`, - value: `{{(()=>{${derivedProperties.value}})()}}`, + isValid: `{{(()=>{${parsedDerivedProperties.isValid}})()}}`, + value: `{{(()=>{${parsedDerivedProperties.value}})()}}`, }; } diff --git a/app/client/src/widgets/InputWidgetV2/widget/index.tsx b/app/client/src/widgets/InputWidgetV2/widget/index.tsx index 0a041ec8d388..a7871957a6d1 100644 --- a/app/client/src/widgets/InputWidgetV2/widget/index.tsx +++ b/app/client/src/widgets/InputWidgetV2/widget/index.tsx @@ -39,7 +39,8 @@ import { import type { InputComponentProps } from "../component"; import InputComponent from "../component"; import { getParsedText, isInputTypeEmailOrPassword } from "./Utilities"; -import derivedProperties from "./parsedDerivedProperties"; +import derivedPropertyFns from "./derived"; +import { parseDerivedProperties } from "widgets/WidgetUtils"; import IconSVG from "../icon.svg"; import ThumbnailSVG from "../thumbnail.svg"; @@ -640,8 +641,10 @@ class InputWidget extends BaseInputWidget { } static getDerivedPropertiesMap(): DerivedPropertiesMap { + const parsedDerivedProperties = parseDerivedProperties(derivedPropertyFns); + return merge(super.getDerivedPropertiesMap(), { - isValid: `{{(() => {${derivedProperties.isValid}})()}}`, + isValid: `{{(() => {${parsedDerivedProperties.isValid}})()}}`, }); } diff --git a/app/client/src/widgets/PhoneInputWidget/widget/index.tsx b/app/client/src/widgets/PhoneInputWidget/widget/index.tsx index eb98d80917ad..f31b61c5cd37 100644 --- a/app/client/src/widgets/PhoneInputWidget/widget/index.tsx +++ b/app/client/src/widgets/PhoneInputWidget/widget/index.tsx @@ -14,7 +14,8 @@ import { import { AutocompleteDataType } from "utils/autocomplete/AutocompleteDataType"; import _ from "lodash"; import BaseInputWidget from "widgets/BaseInputWidget"; -import derivedProperties from "./parsedDerivedProperties"; +import derivedPropertyFns from "./derived"; +import { parseDerivedProperties } from "widgets/WidgetUtils"; import type { BaseInputWidgetProps } from "widgets/BaseInputWidget/widget"; import { mergeWidgetConfig } from "utils/helpers"; import type { CountryCode } from "libphonenumber-js"; @@ -295,8 +296,10 @@ class PhoneInputWidget extends BaseInputWidget< } static getDerivedPropertiesMap(): DerivedPropertiesMap { + const parsedDerivedProperties = parseDerivedProperties(derivedPropertyFns); + return { - isValid: `{{(() => {${derivedProperties.isValid}})()}}`, + isValid: `{{(() => {${parsedDerivedProperties.isValid}})()}}`, }; }