@wavemaker/app-rn-runtime 11.9.1-next.27517 → 11.9.1-next.27519
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- app-rn-runtime/components/input/baseinput/baseinput.component.js +7 -2
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +5 -0
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +5 -6
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/core/base.component.js +1 -5
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/package.json +3 -3
@@ -74,7 +74,7 @@ export class BaseInputComponent extends BaseComponent {
|
|
74
74
|
}
|
75
75
|
this.timer = setTimeout(() => {
|
76
76
|
this.updateDatavalue(event.target.value, event);
|
77
|
-
},
|
77
|
+
}, 300);
|
78
78
|
}
|
79
79
|
}
|
80
80
|
onChangeText(value) {
|
@@ -90,7 +90,7 @@ export class BaseInputComponent extends BaseComponent {
|
|
90
90
|
this.validate(value);
|
91
91
|
this.updateDatavalue(value, null);
|
92
92
|
});
|
93
|
-
},
|
93
|
+
}, 300);
|
94
94
|
} else {
|
95
95
|
this.updateState({
|
96
96
|
textValue: value
|
@@ -124,6 +124,11 @@ export class BaseInputComponent extends BaseComponent {
|
|
124
124
|
new Promise(resolve => {
|
125
125
|
if (props.hastwowaybinding) {
|
126
126
|
this.setProp("datavalue", value);
|
127
|
+
this.updateState({
|
128
|
+
props: {
|
129
|
+
"datavalue": value
|
130
|
+
}
|
131
|
+
});
|
127
132
|
resolve(true);
|
128
133
|
} else {
|
129
134
|
this.updateState({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 100)\n }\n }\n\n onChangeText(value: any) {\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 100)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -160,6 +160,11 @@ export class BaseNumberComponent extends BaseComponent {
|
|
160
160
|
new Promise(resolve => {
|
161
161
|
if (props.hastwowaybinding) {
|
162
162
|
this.setProp("datavalue", value);
|
163
|
+
this.updateState({
|
164
|
+
props: {
|
165
|
+
"datavalue": value
|
166
|
+
}
|
167
|
+
});
|
163
168
|
resolve(true);
|
164
169
|
} else {
|
165
170
|
this.updateState({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value == oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value == oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -11,7 +11,7 @@ import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.compone
|
|
11
11
|
import WmDatetimeProps from './datetime/datetime.props';
|
12
12
|
import { DEFAULT_CLASS } from './datetime/datetime.styles';
|
13
13
|
import WebDatePicker from './date-picker.component';
|
14
|
-
import {
|
14
|
+
import { isNumber, isString } from 'lodash-es';
|
15
15
|
import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
|
16
16
|
import { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';
|
17
17
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
@@ -98,9 +98,6 @@ export default class BaseDatetime extends BaseComponent {
|
|
98
98
|
switch (name) {
|
99
99
|
//@ts-ignore
|
100
100
|
case 'datavalue':
|
101
|
-
if (!isEqual($old, $new)) {
|
102
|
-
this.invokeEventCallback('onChange', [null, this, $new, $old]);
|
103
|
-
}
|
104
101
|
this.prevDatavalue = $old;
|
105
102
|
if (props.datavalue === CURRENT_TIME) {
|
106
103
|
this.monitorAndUpdateCurrentTime();
|
@@ -168,16 +165,18 @@ export default class BaseDatetime extends BaseComponent {
|
|
168
165
|
}
|
169
166
|
}
|
170
167
|
onDateChange($event, date) {
|
168
|
+
const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat)) || undefined;
|
171
169
|
this.validate(date);
|
172
170
|
this.modes.shift();
|
171
|
+
const newDate = this.format(date, this.momentPattern(this.state.props.outputformat));
|
173
172
|
this.updateState({
|
174
173
|
isFocused: false,
|
175
174
|
showDatePicker: !!this.modes.length,
|
176
175
|
props: {
|
177
|
-
datavalue:
|
176
|
+
datavalue: newDate,
|
178
177
|
timestamp: this.format(date, 'timestamp')
|
179
178
|
}
|
180
|
-
});
|
179
|
+
}, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));
|
181
180
|
}
|
182
181
|
onBlur() {
|
183
182
|
if (Platform.OS === 'web') {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isEqual","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","invokeEventCallback","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","validate","modes","shift","isFocused","showDatePicker","length","timestamp","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","undefined","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","selectedDateTime","time"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n if (!isEqual($old, $new)){\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n this.validate(date);\n this.modes.shift();\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: this.format(date, this.momentPattern(this.state.props.outputformat as String) as string),\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState);\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","validate","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","selectedDateTime","time"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.validate(date);\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
|
@@ -174,12 +174,8 @@ export class BaseComponent extends React.Component {
|
|
174
174
|
}
|
175
175
|
setProp(propName, value) {
|
176
176
|
this.propertyProvider.set(propName, value);
|
177
|
-
const newProps = {};
|
178
|
-
newProps[propName] = value;
|
179
177
|
this.updateState({
|
180
|
-
props: {
|
181
|
-
...newProps
|
182
|
-
}
|
178
|
+
props: {}
|
183
179
|
});
|
184
180
|
}
|
185
181
|
setPropDefault(propName, value) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","StyleSheet","View","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","newProps","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","_this$parent","onComponentDestroy","f","parent","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","add","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, StyleSheet, TextStyle, View, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n const newProps: any = {}\n newProps[propName] = value;\n this.updateState({props: { ...newProps }} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true);\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","StyleSheet","View","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","_this$parent","onComponentDestroy","f","parent","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","add","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, StyleSheet, TextStyle, View, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true);\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
app-rn-runtime/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.9.1-next.
|
3
|
+
"version": "11.9.1-next.27519",
|
4
4
|
"description": "''",
|
5
5
|
"main": "index",
|
6
6
|
"module": "index",
|
@@ -51,7 +51,7 @@
|
|
51
51
|
"@react-navigation/drawer": "6.6.3",
|
52
52
|
"@react-navigation/native": "6.1.7",
|
53
53
|
"@react-navigation/stack": "6.3.29",
|
54
|
-
"@wavemaker/variables": "11.9.1-next.
|
54
|
+
"@wavemaker/variables": "11.9.1-next.27519",
|
55
55
|
"axios": "1.6.8",
|
56
56
|
"color": "4.2.3",
|
57
57
|
"cross-env": "7.0.3",
|
@@ -142,7 +142,7 @@
|
|
142
142
|
"typescript": "5.1.3",
|
143
143
|
"victory-native": "36.6.11",
|
144
144
|
"yargs": "16.2.0",
|
145
|
-
"@wavemaker/variables": "11.9.1-next.
|
145
|
+
"@wavemaker/variables": "11.9.1-next.27519"
|
146
146
|
},
|
147
147
|
"jest": {
|
148
148
|
"preset": "jest-expo",
|