@wavemaker/app-rn-runtime 11.5.1-rc.5418 → 11.5.2-next.140989
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/actions/notification-action.js +1 -0
- app-rn-runtime/actions/notification-action.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.component.js +110 -29
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.styles.js +7 -3
- app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +0 -1
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +0 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +6 -31
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js +0 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +29 -10
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +22 -10
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +6 -5
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.component.js +14 -8
- app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js +1 -0
- app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.component.js +9 -6
- app-rn-runtime/components/data/form/form.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +3 -4
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +7 -0
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +7 -0
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.component.js +6 -1
- app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.styles.js +3 -1
- app-rn-runtime/components/input/slider/slider.styles.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +2 -1
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +9 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.props.js +1 -0
- app-rn-runtime/components/page/tabbar/tabbar.props.js.map +1 -1
- app-rn-runtime/core/toast.service.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +53 -5
- app-rn-runtime/gestures/swipe.animation.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/App.js +23 -19
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +8 -2
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/services/app-modal.service.js +1 -1
- app-rn-runtime/runtime/services/app-modal.service.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","arguments","_defineProperty","BaseNumberComponent","props","defaultClass","length","undefined","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","isCurrencyField","isValidText","test","Number","onChangeText","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","parseNumber","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","onFieldChange","onBlur","newVal","setTimeout","triggerValidation","oldVal","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray } 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 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 // * check for alphabets\n if (/[a-zA-Z]/.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 // * 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') {\n const isValidTextOnDevice = this.validateOnDevice(value, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(value);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\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 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);\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n this.updateState({\n props: {\n datavalue: model\n }\n } as S, () => {\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 let newVal = event.target.value || this.state.textValue;\n this.validate(newVal);\n if (newVal === '') {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n if (this.state.props.updateon === 'blur') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\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 (!isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n\n }\n if (!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 // ? why here\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 }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","arguments","_defineProperty","BaseNumberComponent","props","defaultClass","length","undefined","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","isCurrencyField","isValidText","test","Number","onChangeText","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","parseNumber","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","onFieldChange","onBlur","newVal","setTimeout","triggerValidation","oldVal","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray } 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 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 // * check for alphabets\n if (/[a-zA-Z]/.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 // * 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') {\n const isValidTextOnDevice = this.validateOnDevice(value, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(value);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\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 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);\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n this.updateState({\n props: {\n datavalue: model\n }\n } as S, () => {\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 let newVal = event.target.value || this.state.textValue;\n this.validate(newVal);\n if (newVal === '') {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n if (this.state.props.updateon === 'blur') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\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 (!isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n\n }\n if (!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 }\n }\n}\n"],"mappings":"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"}
|
|
@@ -59,6 +59,13 @@ export default class WmCheckboxset extends BaseDatasetComponent {
|
|
|
59
59
|
style: this.styles.checkboxLabel
|
|
60
60
|
}), displayText));
|
|
61
61
|
}
|
|
62
|
+
computeDisplayValue() {
|
|
63
|
+
this.updateState({
|
|
64
|
+
props: {
|
|
65
|
+
displayValue: (this.state.dataItems || []).filter(item => item.selected).map(item => item.displayexp || item.displayfield) || ''
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
62
69
|
updateDatavalue(value) {
|
|
63
70
|
this.updateState({
|
|
64
71
|
props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","Checkbox","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","checkboxHead","bind","Android","status","color","text","getTestPropsForLabel","checkboxLabel","updateDatavalue","value","Promise","resolve","renderGroupby","groupedData","length","
|
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","Checkbox","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","checkboxHead","bind","Android","status","color","text","getTestPropsForLabel","checkboxLabel","displayValue","filter","map","updateDatavalue","value","Promise","resolve","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\n\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')} style={this.styles.checkboxHead} onPress={this.onPress.bind(this, item)} key={item.key}>\n <Checkbox.Android status={item.selected ? 'checked' : 'unchecked'} color={this.styles.text.color as string} disabled={props.readonly || props.disabled}/>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.checkboxLabel}>{displayText}</Text>\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AAC3D,SAASC,IAAI,EAAEC,OAAO,EAAEC,OAAO,QAAQ,QAAQ;AAC/C,SAASC,QAAQ,QAAQ,oBAAoB;AAE7C,OAAOC,kBAAkB,MAAM,qBAAqB;AACpD,SACEC,aAAa,QAGR,sBAAsB;AAC7B,SACEC,oBAAoB,EACpBC,gBAAgB,QACX,8EAA8E;AAGrF,OAAO,MAAMC,kBAAkB,SAASD,gBAAgB,CAAqB;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBACxD,IAAI;EAAA;AACzB;AAEA,eAAe,MAAMC,aAAa,SAASN,oBAAoB,CAA8D;EAC3HG,WAAWA,CAACI,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;EACvD;EAEAU,OAAOA,CAACC,IAAS,EAAE;IACjB,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM,QAAQ,IAAI,IAAI,CAACD,KAAK,CAACL,KAAK,CAACO,QAAQ,EAAE;MAC1D;IACF;IACAL,IAAI,CAACM,QAAQ,GAAG,CAACN,IAAI,CAACM,QAAQ;IAC9B,MAAMC,aAAkB,GAAG,EAAE;IAC7B,MAAMC,YAAY,GAAGvB,IAAI,CAAC,IAAI,CAACkB,KAAK,CAACM,SAAS,EAAEC,CAAC,IAAIvB,OAAO,CAACuB,CAAC,CAACC,GAAG,EAAEX,IAAI,CAACW,GAAG,CAAC,CAAC;IAC9E,MAAMC,QAAQ,GAAG,IAAI,CAACT,KAAK,CAACL,KAAK,CAACe,SAAS;IAC3CL,YAAY,CAACF,QAAQ,GAAGN,IAAI,CAACM,QAAQ;IACrCpB,OAAO,CAAC,IAAI,CAACiB,KAAK,CAACM,SAAS,EAAGT,IAAI,IAAK;MACpC,IAAIA,IAAI,CAACM,QAAQ,EAAE;QACjBC,aAAa,CAACO,IAAI,CAACd,IAAI,CAACe,SAAS,CAAC;MACpC;IACJ,CAAC,CAAC;IACF,IAAI,CAACC,QAAQ,CAACT,aAAa,CAAC;IAC5B,IAAI,CAACU,WAAW,CAAC;MAAEnB,KAAK,EAAE;QAAEe,SAAS,EAAEN;MAAc;IAAC,CAAC,EACrD,MAAM;MACJ,IAAI,CAACW,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACjB,mBAAmB,CAAC,UAAU,EAAE,CAAEkB,SAAS,EAAE,IAAI,CAACjB,KAAK,EAAEK,aAAa,EAAEK,QAAQ,CAAE,CAAC;IAC1F,CAAC,CAAC;EACN;EAEAQ,WAAWA,CAACpB,IAAS,EAAEqB,KAAU,EAAE;IACjC,MAAMvB,KAAK,GAAG,IAAI,CAACK,KAAK,CAACL,KAAK;IAC9B,MAAMwB,WAAW,GAAGtB,IAAI,CAACuB,UAAU,IAAIvB,IAAI,CAACwB,YAAY;IACxD,oBACE3C,KAAA,CAAA4C,aAAA,CAACzC,gBAAgB,EAAA0C,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAACN,KAAK,GAAG,EAAE,CAAC;MAAEO,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,YAAa;MAAC/B,OAAO,EAAE,IAAI,CAACA,OAAO,CAACgC,IAAI,CAAC,IAAI,EAAE/B,IAAI,CAAE;MAACW,GAAG,EAAEX,IAAI,CAACW;IAAI,iBACnJ9B,KAAA,CAAA4C,aAAA,CAACrC,QAAQ,CAAC4C,OAAO;MAACC,MAAM,EAAEjC,IAAI,CAACM,QAAQ,GAAI,SAAS,GAAG,WAAY;MAAC4B,KAAK,EAAE,IAAI,CAACL,MAAM,CAACM,IAAI,CAACD,KAAgB;MAAC9B,QAAQ,EAAEN,KAAK,CAACO,QAAQ,IAAIP,KAAK,CAACM;IAAS,CAAC,CAAC,eAC1JvB,KAAA,CAAA4C,aAAA,CAAC3C,IAAI,EAAA4C,QAAA,KAAK,IAAI,CAACU,oBAAoB,CAACf,KAAK,GAAG,EAAE,CAAC;MAAEO,KAAK,EAAE,IAAI,CAACC,MAAM,CAACQ;IAAc,IAAEf,WAAkB,CACtF,CAAC;EACvB;EAEAJ,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAACD,WAAW,CAAC;MACfnB,KAAK,EAAE;QACLwC,YAAY,EAAG,CAAC,IAAI,CAACnC,KAAK,CAACM,SAAS,IAAI,EAAS,EAC9C8B,MAAM,CAAEvC,IAAS,IAAKA,IAAI,CAACM,QAAQ,CAAC,CACpCkC,GAAG,CAAExC,IAAS,IAAKA,IAAI,CAACuB,UAAU,IAAIvB,IAAI,CAACwB,YAAY,CAAC,IAAK;MAClE;IACF,CAAuB,CAAC;EAC1B;EAEAiB,eAAeA,CAACC,KAAU,EAAE;IAC1B,IAAI,CAACzB,WAAW,CAAC;MAAEnB,KAAK,EAAE;QAAEe,SAAS,EAAE6B;MAAM;IAAC,CAAuB,CAAC;IACtE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EAC1B;EAEAC,aAAaA,CAAA,EAAG;IACd,MAAMC,WAAW,GAAG,IAAI,CAAC3C,KAAK,CAAC2C,WAAW;IAC1C,oBACEjE,KAAA,CAAA4C,aAAA,CAAC1C,IAAI,QACF+D,WAAW,IAAIA,WAAW,CAACC,MAAM,GAC9BD,WAAW,CAACN,GAAG,CAAC,CAACQ,QAAa,EAAE3B,KAAU,KAAK;MAC/C,oBACExC,KAAA,CAAA4C,aAAA,CAAC1C,IAAI;QAAC4B,GAAG,EAAEqC,QAAQ,CAACrC;MAAI,gBACtB9B,KAAA,CAAA4C,aAAA,CAAC3C,IAAI;QAAC8C,KAAK,EAAE,IAAI,CAACC,MAAM,CAACoB;MAAiB,GAAED,QAAQ,CAACrC,GAAU,CAAC,EAC/D,IAAI,CAACuC,iBAAiB,CAACF,QAAQ,CAACG,IAAI,CACjC,CAAC;IACX,CAAC,CAAC,GACA,IACA,CAAC;EAEX;EAEAD,iBAAiBA,CAACE,KAAU,EAAE;IAC5B,MAAMtD,KAAK,GAAG,IAAI,CAACK,KAAK,CAACL,KAAK;IAC9B,oBAAOjB,KAAA,CAAA4C,aAAA,CAAC1C,IAAI,QACTqE,KAAK,IAAIA,KAAK,CAACL,MAAM,GAClBK,KAAK,CAACZ,GAAG,CAAC,CAACxC,IAAS,EAAEqB,KAAU,KAAK,IAAI,CAACD,WAAW,CAACpB,IAAI,EAAEqB,KAAK,CAAC,CAAC,GACnE,IACA,CAAC;EACT;EACAgC,YAAYA,CAACvD,KAAyB,EAAE;IACtC,MAAMsD,KAAK,GAAG,IAAI,CAACjD,KAAK,CAACM,SAAS;IAClC,oBACE5B,KAAA,CAAA4C,aAAA,CAAC1C,IAAI;MAAC6C,KAAK,EAAE,IAAI,CAACC,MAAM,CAACyB;IAAK,GAC3BxD,KAAK,CAACyD,OAAO,IAAI,IAAI,CAACV,aAAa,CAAC,CAAC,EACrC,CAAC/C,KAAK,CAACyD,OAAO,IAAI,IAAI,CAACL,iBAAiB,CAACE,KAAK,CAC3C,CAAC;EAEX;AACF"}
|
|
@@ -81,6 +81,13 @@ export default class WmChips extends BaseDatasetComponent {
|
|
|
81
81
|
isFormFieldWidget ? (_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : _this$props2.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);
|
|
82
82
|
this.resetSearchModel();
|
|
83
83
|
}
|
|
84
|
+
computeDisplayValue() {
|
|
85
|
+
this.updateState({
|
|
86
|
+
props: {
|
|
87
|
+
displayValue: (this.state.dataItems || []).filter(item => item.selected).map(item => item.displayexp || item.displayfield) || ''
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
84
91
|
selectChip(chipItem) {
|
|
85
92
|
if (!chipItem.selected && this.state.props.maxsize > 0 && this.state.chipsList.length === this.state.props.maxsize) {
|
|
86
93
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","WmChipsState","constructor","arguments","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","reset","_this$searchRef","state","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","selectChip","chipItem","selected","maxsize","selectedItem","dataItems","d","key","item","dataValue","map","datafield","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","displayfield","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","id","getTestId","imageStyles","picturesource","imgSrc","shape","chipLabel","displayexp","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderWidget","chips","root","chipsWrapper","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","readonly","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList : []\n } as WmChipsState);\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n <WmPicture id={this.getTestId('picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>\n <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>\n {!this.isDefaultView() && !this.state.props.disabled ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","WmChipsState","constructor","arguments","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","reset","_this$searchRef","state","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","dataItems","item","selected","map","displayexp","displayfield","selectChip","chipItem","maxsize","selectedItem","d","key","dataValue","datafield","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","id","getTestId","imageStyles","picturesource","imgSrc","shape","chipLabel","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderWidget","chips","root","chipsWrapper","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","readonly","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList : []\n } as WmChipsState);\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n <WmPicture id={this.getTestId('picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>\n <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>\n {!this.isDefaultView() && !this.state.props.disabled ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import React from 'react';
|
|
|
6
6
|
import { View, Text, TouchableOpacity, Animated } from 'react-native';
|
|
7
7
|
import { debounce, isNumber, isNil } from 'lodash';
|
|
8
8
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
9
|
+
import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
|
|
9
10
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
10
11
|
import WmSliderProps from './slider.props';
|
|
11
12
|
import { DEFAULT_CLASS } from './slider.styles';
|
|
@@ -142,7 +143,11 @@ export default class WmSlider extends BaseComponent {
|
|
|
142
143
|
translateX: this.position
|
|
143
144
|
}]
|
|
144
145
|
}]
|
|
145
|
-
}
|
|
146
|
+
}, /*#__PURE__*/React.createElement(BackgroundComponent, {
|
|
147
|
+
size: this.styles.thumb.backgroundSize,
|
|
148
|
+
position: this.styles.thumb.backgroundPosition,
|
|
149
|
+
image: this.styles.thumb.backgroundImage
|
|
150
|
+
}))));
|
|
146
151
|
}
|
|
147
152
|
}
|
|
148
153
|
//# sourceMappingURL=slider.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","size","backgroundSize","backgroundPosition","image","backgroundImage"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}>\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
@@ -42,7 +42,9 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
42
42
|
marginLeft: -8,
|
|
43
43
|
marginTop: -18,
|
|
44
44
|
borderRadius: 16,
|
|
45
|
-
backgroundColor: themeVariables.thumbTintColor
|
|
45
|
+
backgroundColor: themeVariables.thumbTintColor,
|
|
46
|
+
backgroundSize: '100% 100%',
|
|
47
|
+
backgroundPosition: 'center'
|
|
46
48
|
},
|
|
47
49
|
disabled: {
|
|
48
50
|
pointerEvents: 'none'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","fontSize","minimumValue","maximumValue","value","track","position","height","flexDirection","width","minWidth","marginVertical","overflow","borderRadius","minimumTrack","backgroundColor","minimumTrackTintColor","borderTopLeftRadius","borderBottomLeftRadius","maximumTrack","maximumTrackTintColor","flex","borderTopRightRadius","borderBottomRightRadius","thumb","marginLeft","marginTop","thumbTintColor","disabled","pointerEvents","opacity"],"sources":["slider.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\n\nexport type WmSliderStyles = BaseStyles & {\n minimumValue: TextStyle,\n maximumValue: TextStyle,\n value: TextStyle,\n track: ViewStyle,\n minimumTrack: ViewStyle,\n maximumTrack: ViewStyle,\n thumb: ViewStyle,\n disabled: ViewStyle\n};\n\nexport const DEFAULT_CLASS = 'app-slider';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSliderStyles = defineStyles({\n root: {\n },\n text: {\n fontSize: 16\n },\n minimumValue: {\n\n },\n maximumValue: {\n\n },\n value: {\n\n },\n track: {\n position: 'relative',\n height: 4,\n flexDirection: 'row',\n width: '100%',\n minWidth: 160,\n marginVertical: 8,\n overflow: 'hidden',\n borderRadius: 4\n },\n minimumTrack: {\n position: 'absolute',\n height: '100%',\n width: 150,\n backgroundColor: themeVariables.minimumTrackTintColor,\n borderTopLeftRadius: 4,\n borderBottomLeftRadius: 4,\n },\n maximumTrack: {\n position: 'absolute',\n height: '100%',\n backgroundColor: themeVariables.maximumTrackTintColor,\n flex: 1,\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n },\n thumb: {\n height: 16,\n width: 16,\n marginLeft: -8,\n marginTop: -18,\n borderRadius: 16,\n backgroundColor: themeVariables.thumbTintColor\n },\n disabled: {\n pointerEvents: 'none'\n }\n }) as WmSliderStyles;\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n opacity: 0.5\n }\n });\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAcxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACzCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA6B,GAAGL,YAAY,CAAC;IAC/CM,IAAI,EAAE,CACN,CAAC;IACDC,IAAI,EAAE;MACFC,QAAQ,EAAE;IACd,CAAC;IACDC,YAAY,EAAE,CAEd,CAAC;IACDC,YAAY,EAAE,CAEd,CAAC;IACDC,KAAK,EAAE,CAEP,CAAC;IACDC,KAAK,EAAE;MACHC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTC,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE,GAAG;MACbC,cAAc,EAAE,CAAC;MACjBC,QAAQ,EAAE,QAAQ;MAClBC,YAAY,EAAE;IAClB,CAAC;IACDC,YAAY,EAAE;MACVR,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,MAAM;MACdE,KAAK,EAAG,GAAG;MACXM,eAAe,EAAEnB,cAAc,CAACoB,qBAAqB;MACrDC,mBAAmB,EAAE,CAAC;MACtBC,sBAAsB,EAAE;IAC5B,CAAC;IACDC,YAAY,EAAE;MACVb,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,MAAM;MACdQ,eAAe,EAAEnB,cAAc,CAACwB,qBAAqB;MACrDC,IAAI,EAAE,CAAC;MACPC,oBAAoB,EAAE,CAAC;MACvBC,uBAAuB,EAAE;IAC7B,CAAC;IACDC,KAAK,EAAE;MACHjB,MAAM,EAAE,EAAE;MACVE,KAAK,EAAE,EAAE;MACTgB,UAAU,EAAE,CAAC,CAAC;MACdC,SAAS,EAAE,CAAC,EAAE;MACdb,YAAY,EAAE,EAAE;MAChBE,eAAe,EAAEnB,cAAc,CAAC+B;
|
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","fontSize","minimumValue","maximumValue","value","track","position","height","flexDirection","width","minWidth","marginVertical","overflow","borderRadius","minimumTrack","backgroundColor","minimumTrackTintColor","borderTopLeftRadius","borderBottomLeftRadius","maximumTrack","maximumTrackTintColor","flex","borderTopRightRadius","borderBottomRightRadius","thumb","marginLeft","marginTop","thumbTintColor","backgroundSize","backgroundPosition","disabled","pointerEvents","opacity"],"sources":["slider.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\n\nexport type WmSliderStyles = BaseStyles & {\n minimumValue: TextStyle,\n maximumValue: TextStyle,\n value: TextStyle,\n track: ViewStyle,\n minimumTrack: ViewStyle,\n maximumTrack: ViewStyle,\n thumb: ViewStyle,\n disabled: ViewStyle\n};\n\nexport const DEFAULT_CLASS = 'app-slider';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSliderStyles = defineStyles({\n root: {\n },\n text: {\n fontSize: 16\n },\n minimumValue: {\n\n },\n maximumValue: {\n\n },\n value: {\n\n },\n track: {\n position: 'relative',\n height: 4,\n flexDirection: 'row',\n width: '100%',\n minWidth: 160,\n marginVertical: 8,\n overflow: 'hidden',\n borderRadius: 4\n },\n minimumTrack: {\n position: 'absolute',\n height: '100%',\n width: 150,\n backgroundColor: themeVariables.minimumTrackTintColor,\n borderTopLeftRadius: 4,\n borderBottomLeftRadius: 4,\n },\n maximumTrack: {\n position: 'absolute',\n height: '100%',\n backgroundColor: themeVariables.maximumTrackTintColor,\n flex: 1,\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n },\n thumb: {\n height: 16,\n width: 16,\n marginLeft: -8,\n marginTop: -18,\n borderRadius: 16,\n backgroundColor: themeVariables.thumbTintColor,\n backgroundSize: '100% 100%',\n backgroundPosition: 'center'\n },\n disabled: {\n pointerEvents: 'none'\n }\n }) as WmSliderStyles;\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n opacity: 0.5\n }\n });\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAcxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACzCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA6B,GAAGL,YAAY,CAAC;IAC/CM,IAAI,EAAE,CACN,CAAC;IACDC,IAAI,EAAE;MACFC,QAAQ,EAAE;IACd,CAAC;IACDC,YAAY,EAAE,CAEd,CAAC;IACDC,YAAY,EAAE,CAEd,CAAC;IACDC,KAAK,EAAE,CAEP,CAAC;IACDC,KAAK,EAAE;MACHC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTC,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE,GAAG;MACbC,cAAc,EAAE,CAAC;MACjBC,QAAQ,EAAE,QAAQ;MAClBC,YAAY,EAAE;IAClB,CAAC;IACDC,YAAY,EAAE;MACVR,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,MAAM;MACdE,KAAK,EAAG,GAAG;MACXM,eAAe,EAAEnB,cAAc,CAACoB,qBAAqB;MACrDC,mBAAmB,EAAE,CAAC;MACtBC,sBAAsB,EAAE;IAC5B,CAAC;IACDC,YAAY,EAAE;MACVb,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,MAAM;MACdQ,eAAe,EAAEnB,cAAc,CAACwB,qBAAqB;MACrDC,IAAI,EAAE,CAAC;MACPC,oBAAoB,EAAE,CAAC;MACvBC,uBAAuB,EAAE;IAC7B,CAAC;IACDC,KAAK,EAAE;MACHjB,MAAM,EAAE,EAAE;MACVE,KAAK,EAAE,EAAE;MACTgB,UAAU,EAAE,CAAC,CAAC;MACdC,SAAS,EAAE,CAAC,EAAE;MACdb,YAAY,EAAE,EAAE;MAChBE,eAAe,EAAEnB,cAAc,CAAC+B,cAAc;MAC9CC,cAAc,EAAE,WAAW;MAC3BC,kBAAkB,EAAE;IACxB,CAAC;IACDC,QAAQ,EAAE;MACNC,aAAa,EAAE;IACnB;EACJ,CAAC,CAAmB;EAEpBlC,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACtCK,IAAI,EAAG;MACPiC,OAAO,EAAE;IACT;EACJ,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -16,6 +16,7 @@ export default class WmSwitch extends BaseDatasetComponent {
|
|
|
16
16
|
if (!value) {
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
+
const oldVal = this.state.props.datavalue;
|
|
19
20
|
this.validate(value);
|
|
20
21
|
if (this.state.props.datafield === 'All Fields') {
|
|
21
22
|
const selectedItem = find(this.state.dataItems, item => isEqual(item.key, value));
|
|
@@ -29,7 +30,7 @@ export default class WmSwitch extends BaseDatasetComponent {
|
|
|
29
30
|
isDefault: false
|
|
30
31
|
}, () => {
|
|
31
32
|
if (!this.props.invokeEvent) {
|
|
32
|
-
this.invokeEventCallback('onChange', [undefined, this.proxy, value,
|
|
33
|
+
this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);
|
|
33
34
|
}
|
|
34
35
|
});
|
|
35
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","WmSwitchState","WmSwitch","constructor","props","onChange","value","
|
|
1
|
+
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon \n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
3
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
4
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
5
5
|
import React from 'react';
|
|
6
|
-
import { Text, View } from 'react-native';
|
|
6
|
+
import { Text, View, BackHandler } from 'react-native';
|
|
7
|
+
import { isAndroid } from '@wavemaker/app-rn-runtime/core/utils';
|
|
7
8
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
8
9
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
|
9
10
|
import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';
|
|
@@ -19,6 +20,13 @@ export default class WmAppNavbar extends BaseComponent {
|
|
|
19
20
|
this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);
|
|
20
21
|
this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);
|
|
21
22
|
this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);
|
|
23
|
+
if (isAndroid()) {
|
|
24
|
+
const subscription = BackHandler.addEventListener('hardwareBackPress', () => {
|
|
25
|
+
this.onBackBtnPress();
|
|
26
|
+
return true;
|
|
27
|
+
});
|
|
28
|
+
this.cleanup.push(() => subscription.remove());
|
|
29
|
+
}
|
|
22
30
|
}
|
|
23
31
|
renderWidget(props) {
|
|
24
32
|
return /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","renderWidget","createElement","style","styles","root","_background","leftSection","showDrawerButton","id","getTestId","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","_extends","content","getTestPropsForLabel","title","rightSection","searchbutton","searchbuttoniconclass","children"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {\n\n}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n }\n\n renderWidget(props: WmAppNavbarProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')}>{props.title}</Text>\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["React","Text","View","BackHandler","isAndroid","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderWidget","createElement","style","styles","root","_background","leftSection","showDrawerButton","id","getTestId","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","_extends","content","getTestPropsForLabel","title","rightSection","searchbutton","searchbuttoniconclass","children"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { isAndroid } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {\n\n}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderWidget(props: WmAppNavbarProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')}>{props.title}</Text>\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export default class WmTabbarProps extends BaseNavProps {
|
|
|
7
7
|
super(...arguments);
|
|
8
8
|
_defineProperty(this, "morebuttoniconclass", 'wi wi-more-horiz');
|
|
9
9
|
_defineProperty(this, "morebuttonlabel", 'more');
|
|
10
|
+
_defineProperty(this, "itemchildren", 'children');
|
|
10
11
|
_defineProperty(this, "isActive", item => false);
|
|
11
12
|
_defineProperty(this, "dataset", [{
|
|
12
13
|
'label': 'Home',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavProps","WmTabbarProps","constructor","arguments","_defineProperty","item"],"sources":["tabbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '../../navigation/basenav/basenav.props';\n\nexport default class WmTabbarProps extends BaseNavProps {\n morebuttoniconclass = 'wi wi-more-horiz';\n morebuttonlabel = 'more';\n isActive = (item: any) => false;\n dataset?: any = [{\n 'label' : 'Home',\n 'icon' : 'wm-sl-r sl-home'\n },{\n 'label' : 'Analytics',\n 'icon' : 'wm-sl-r sl-graph-ascend'\n },{\n 'label' : 'Alerts',\n 'icon' : 'wm-sl-r sl-alarm-bell'\n },{\n 'label' : 'Settings',\n 'icon' : 'wm-sl-r sl-settings'\n }]\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,wCAAwC;AAErE,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,8BAChC,kBAAkB;IAAAA,eAAA,0BACtB,MAAM;IAAAA,eAAA,
|
|
1
|
+
{"version":3,"names":["BaseNavProps","WmTabbarProps","constructor","arguments","_defineProperty","item"],"sources":["tabbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '../../navigation/basenav/basenav.props';\n\nexport default class WmTabbarProps extends BaseNavProps {\n morebuttoniconclass = 'wi wi-more-horiz';\n morebuttonlabel = 'more';\n itemchildren?: string = 'children';\n isActive = (item: any) => false;\n dataset?: any = [{\n 'label' : 'Home',\n 'icon' : 'wm-sl-r sl-home'\n },{\n 'label' : 'Analytics',\n 'icon' : 'wm-sl-r sl-graph-ascend'\n },{\n 'label' : 'Alerts',\n 'icon' : 'wm-sl-r sl-alarm-bell'\n },{\n 'label' : 'Settings',\n 'icon' : 'wm-sl-r sl-settings'\n }]\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,wCAAwC;AAErE,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,8BAChC,kBAAkB;IAAAA,eAAA,0BACtB,MAAM;IAAAA,eAAA,uBACA,UAAU;IAAAA,eAAA,mBACtBC,IAAS,IAAK,KAAK;IAAAD,eAAA,kBACf,CAAC;MACb,OAAO,EAAG,MAAM;MAChB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,WAAW;MACrB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,QAAQ;MAClB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,UAAU;MACpB,MAAM,EAAI;IACZ,CAAC,CAAC;EAAA;AACN"}
|