@wavemaker/app-rn-runtime 11.6.1-rc.5513 → 11.6.1-rc.5518
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +7 -9
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +11 -27
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.props.js +1 -0
- app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +1 -2
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.props.js +0 -1
- app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +15 -2
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js +4 -9
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +29 -41
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.styles.js +4 -1
- app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +2 -8
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.props.js +0 -1
- app-rn-runtime/components/basic/search/search.props.js.map +1 -1
- app-rn-runtime/components/basic/skeleton/skeleton.component.js +0 -1
- app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +8 -11
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +0 -6
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.props.js +2 -0
- app-rn-runtime/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +6 -19
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +2 -4
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +1 -7
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +3 -5
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +16 -44
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +0 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +1 -10
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/container.props.js +0 -1
- app-rn-runtime/components/container/container.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +12 -2
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +8 -13
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +2 -24
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +0 -6
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
- app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
- app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -5
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +64 -8
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.props.js +1 -0
- app-rn-runtime/components/data/list/list.props.js.map +1 -1
- app-rn-runtime/components/data/list/list.styles.js +0 -3
- app-rn-runtime/components/data/list/list.styles.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -2
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +5 -5
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +5 -5
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.styles.js +35 -5
- app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +9 -18
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js +0 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +39 -10
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.component.js +1 -1
- app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.props.js +1 -1
- app-rn-runtime/components/input/composite/composite.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +17 -3
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.props.js +1 -0
- app-rn-runtime/components/input/currency/currency.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.styles.js +19 -1
- app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +68 -6
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/date/date.component.js +8 -0
- app-rn-runtime/components/input/epoch/date/date.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/date/date.styles.js +16 -0
- app-rn-runtime/components/input/epoch/date/date.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.component.js +8 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js +1 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +49 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/time/time.component.js +8 -0
- app-rn-runtime/components/input/epoch/time/time.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/time/time.styles.js +16 -0
- app-rn-runtime/components/input/epoch/time/time.styles.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +11 -1
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.props.js +1 -0
- app-rn-runtime/components/input/number/number.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.styles.js +17 -0
- app-rn-runtime/components/input/number/number.styles.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +2 -6
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.component.js +3 -2
- app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +11 -0
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.props.js +1 -0
- app-rn-runtime/components/input/text/text.props.js.map +1 -1
- app-rn-runtime/components/input/text/text.styles.js +17 -0
- app-rn-runtime/components/input/text/text.styles.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +11 -0
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.props.js +1 -0
- app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.styles.js +17 -0
- app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -6
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.props.js +0 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js +0 -6
- app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
- app-rn-runtime/components/navigation/navbar/navbar.props.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +2 -0
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/curve.js +84 -0
- app-rn-runtime/components/page/tabbar/curve.js.map +1 -0
- app-rn-runtime/components/page/tabbar/tabbar.component.js +43 -9
- app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.styles.js +54 -1
- app-rn-runtime/components/page/tabbar/tabbar.styles.js.map +1 -1
- app-rn-runtime/core/base.component.js +17 -5
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/floatinglabel.component.js +45 -0
- app-rn-runtime/core/components/floatinglabel.component.js.map +1 -0
- app-rn-runtime/core/components/textinput.component.js +9 -1
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/formatters.js +1 -14
- app-rn-runtime/core/formatters.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +36 -49
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +34 -1
- app-rn-runtime/gestures/swipe.animation.js.map +1 -1
- app-rn-runtime/package.json +5 -3
- app-rn-runtime/runtime/App.js +13 -7
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +2 -1
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +11 -3
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +23 -8
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
- app-rn-runtime/runtime/services/webprocess.service.js +1 -0
- app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
- app-rn-runtime/styles/background.component.js +12 -1
- app-rn-runtime/styles/background.component.js.map +1 -1
- app-rn-runtime/styles/theme.js +32 -12
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/styles/theme.variables.js +7 -3
- app-rn-runtime/styles/theme.variables.js.map +1 -1
- app-rn-runtime/variables/device/device/network-info.operation.js +23 -3
- app-rn-runtime/variables/device/device/network-info.operation.js.map +1 -1
- app-rn-runtime/variables/device/operation.provider.js.map +1 -1
- app-rn-runtime/variables/device-variable.js +1 -1
- app-rn-runtime/variables/device-variable.js.map +1 -1
- app-rn-runtime/variables/model-variable.js +1 -2
- app-rn-runtime/variables/model-variable.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","WmWizardState","constructor","arguments","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","steps","children","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","_this$steps$this$stat2","isDone","length","undefined","lastStep","setInActive","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","stepTitle","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","enableskip","renderWidget","_this$state$props$cla","isSkippable","isProgressCircleHeader","includes","root","_background","wizardHeader","i","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","theme","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n const steps = props.children;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.showActiveStep();\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n this.steps[this.state.currentStep]?.setInActive();\n this.updateState({\n currentStep: index,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== index) {\n this.invokeEventCallback('onChange', [null, this.proxy, index + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index); \n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle} />\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end' }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n return item.props.show != false ? (\n <View style={[this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}]} key={index+1}>\n <TouchableOpacity style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep}>\n <View style={this.getStepStyle(index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? this.styles.activeStep : this.styles.stepCounter}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {((isNumberTextLayout && isActiveStep) || !isNumberTextLayout) &&\n <Text style={this.styles.stepTitle}>\n {item.props.title || 'Step Title'}</Text> }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.numberOfSteps > 1 && <View style={[this.styles.stepConnector, { width: isFirstStep || isLastStep ? '50%' : '100%',\n left: Platform.OS == \"web\"?(!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? '50%': '0%': isFirstStep ? '50%': '0%'}]}></View>}\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.steps.length - 1) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n \n skip() {\n if ( this.steps[this.state.currentStep] \n && this.steps[this.state.currentStep].props.enableskip) {\n this.next('skip');\n }\n }\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep+1) === this.numberOfSteps && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep+1) < this.numberOfSteps && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')} \n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","WmWizardState","constructor","arguments","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","steps","children","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","_this$steps$this$stat2","isDone","length","undefined","lastStep","setInActive","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","stepTitle","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","enableskip","renderWidget","_this$state$props$cla","isSkippable","isProgressCircleHeader","includes","root","_background","wizardHeader","i","wizardBody","wizardFooter","actionsalignment","wizardActions","theme","getStyle","doneButton","donebtnlabel","onTap","nextButton","nextbtnlabel","prevButton","previousbtnlabel","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n const steps = props.children;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.showActiveStep();\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n this.steps[this.state.currentStep]?.setInActive();\n this.updateState({\n currentStep: index,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== index) {\n this.invokeEventCallback('onChange', [null, this.proxy, index + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index); \n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle} />\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end' }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n return item.props.show != false ? (\n <View style={[this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}]} key={index+1}>\n <TouchableOpacity style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep}>\n <View style={this.getStepStyle(index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? this.styles.activeStep : this.styles.stepCounter}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {((isNumberTextLayout && isActiveStep) || !isNumberTextLayout) &&\n <Text style={this.styles.stepTitle}>\n {item.props.title || 'Step Title'}</Text> }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.numberOfSteps > 1 && <View style={[this.styles.stepConnector, { width: isFirstStep || isLastStep ? '50%' : '100%',\n left: Platform.OS == \"web\"?(!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? '50%': '0%': isFirstStep ? '50%': '0%'}]}></View>}\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n currentStep.invokePrevCB(index);\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.steps.length - 1) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n \n skip() {\n if ( this.steps[this.state.currentStep] \n && this.steps[this.state.currentStep].props.enableskip) {\n this.next('skip');\n }\n }\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = this.steps[this.state.currentStep] && this.steps[this.state.currentStep].props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep+1) === this.numberOfSteps &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)}></WmButton>\n }\n {(this.state.currentStep+1) < this.numberOfSteps &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')} \n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)}></WmButton>\n }\n {this.state.currentStep > 0 &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')} \n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ export class WmWizardstepState extends BaseComponentState {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
12
|
_defineProperty(this, "active", false);
|
|
13
|
-
_defineProperty(this, "showContent", false);
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
15
|
export default class WmWizardstep extends BaseComponent {
|
|
@@ -39,34 +38,13 @@ export default class WmWizardstep extends BaseComponent {
|
|
|
39
38
|
return this.invokeEventCallback('onNext', [this.proxy, this, index]);
|
|
40
39
|
}
|
|
41
40
|
invokePrevCB(index) {
|
|
42
|
-
|
|
41
|
+
this.invokeEventCallback('onPrev', [this.proxy, this, index]);
|
|
43
42
|
}
|
|
44
43
|
invokeSkipCB(index) {
|
|
45
44
|
this.invokeEventCallback('onSkip', [this.proxy, this, index]);
|
|
46
45
|
}
|
|
47
|
-
onPropertyChange(name, $new, $old) {
|
|
48
|
-
switch (name) {
|
|
49
|
-
case 'disableprev':
|
|
50
|
-
case 'disablenext':
|
|
51
|
-
case 'disabledone':
|
|
52
|
-
case 'enableskip':
|
|
53
|
-
case 'showprev':
|
|
54
|
-
case 'shownext':
|
|
55
|
-
case 'showdone':
|
|
56
|
-
setTimeout(() => {
|
|
57
|
-
this.parent.forceUpdate();
|
|
58
|
-
}, 10);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
46
|
renderWidget(props) {
|
|
62
|
-
|
|
63
|
-
this.updateState({
|
|
64
|
-
showContent: true
|
|
65
|
-
}, () => {
|
|
66
|
-
this.invokeEventCallback('onLoad', [this]);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
return this.state.showContent && /*#__PURE__*/React.createElement(View, {
|
|
47
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
70
48
|
style: this.styles.root
|
|
71
49
|
}, this._background, props.children);
|
|
72
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmWizardstepProps","DEFAULT_CLASS","WmWizardstepState","constructor","arguments","_defineProperty","WmWizardstep","props","componentDidMount","wizard","parent","addWizardStep","setActive","updateState","active","setInActive","isVisible","state","invokeNextCB","index","invokeEventCallback","proxy","invokePrevCB","invokeSkipCB","
|
|
1
|
+
{"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmWizardstepProps","DEFAULT_CLASS","WmWizardstepState","constructor","arguments","_defineProperty","WmWizardstep","props","componentDidMount","wizard","parent","addWizardStep","setActive","updateState","active","setInActive","isVisible","state","invokeNextCB","index","invokeEventCallback","proxy","invokePrevCB","invokeSkipCB","renderWidget","createElement","style","styles","root","_background","children"],"sources":["wizardstep.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardstepProps from './wizardstep.props';\nimport { DEFAULT_CLASS, WmWizardstepStyles } from './wizardstep.styles';\nimport WmWizard from '../wizard.component';\n\nexport class WmWizardstepState extends BaseComponentState<WmWizardstepProps> {\n active = false;\n}\n\nexport default class WmWizardstep extends BaseComponent<WmWizardstepProps, WmWizardstepState, WmWizardstepStyles> {\n\n constructor(props: WmWizardstepProps) {\n super(props, DEFAULT_CLASS, new WmWizardstepProps(), new WmWizardstepState());\n }\n\n componentDidMount() {\n const wizard = (this.parent) as WmWizard;\n wizard.addWizardStep(this);\n super.componentDidMount();\n }\n\n setActive() {\n this.updateState({\n active: true\n } as WmWizardstepState);\n }\n\n setInActive() {\n this.updateState({\n active: false\n } as WmWizardstepState);\n }\n\n isVisible() {\n return super.isVisible() && this.state.active;\n }\n\n invokeNextCB(index: number) : boolean {\n return this.invokeEventCallback('onNext', [this.proxy, this, index]);\n }\n\n invokePrevCB(index: number) {\n this.invokeEventCallback('onPrev', [this.proxy, this, index]);\n }\n\n invokeSkipCB(index: number) {\n this.invokeEventCallback('onSkip', [this.proxy, this, index]);\n }\n\n renderWidget(props: WmWizardstepProps) {\n return (<View style={this.styles.root}>{this._background}{props.children}</View>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,iBAAiB,MAAM,oBAAoB;AAClD,SAASC,aAAa,QAA4B,qBAAqB;AAGvE,OAAO,MAAMC,iBAAiB,SAASH,kBAAkB,CAAoB;EAAAI,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,iBAClE,KAAK;EAAA;AAChB;AAEA,eAAe,MAAMC,YAAY,SAASR,aAAa,CAA2D;EAEhHK,WAAWA,CAACI,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,iBAAiB,CAAC,CAAC,EAAE,IAAIE,iBAAiB,CAAC,CAAC,CAAC;EAC/E;EAEAM,iBAAiBA,CAAA,EAAG;IAClB,MAAMC,MAAM,GAAI,IAAI,CAACC,MAAmB;IACxCD,MAAM,CAACE,aAAa,CAAC,IAAI,CAAC;IAC1B,KAAK,CAACH,iBAAiB,CAAC,CAAC;EAC3B;EAEAI,SAASA,CAAA,EAAG;IACV,IAAI,CAACC,WAAW,CAAC;MACfC,MAAM,EAAE;IACV,CAAsB,CAAC;EACzB;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACF,WAAW,CAAC;MACfC,MAAM,EAAE;IACV,CAAsB,CAAC;EACzB;EAEAE,SAASA,CAAA,EAAG;IACV,OAAO,KAAK,CAACA,SAAS,CAAC,CAAC,IAAI,IAAI,CAACC,KAAK,CAACH,MAAM;EAC/C;EAEAI,YAAYA,CAACC,KAAa,EAAY;IACpC,OAAO,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAACC,KAAK,EAAE,IAAI,EAAEF,KAAK,CAAC,CAAC;EACtE;EAEAG,YAAYA,CAACH,KAAa,EAAE;IAC1B,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAACC,KAAK,EAAE,IAAI,EAAEF,KAAK,CAAC,CAAC;EAC/D;EAEAI,YAAYA,CAACJ,KAAa,EAAE;IAC1B,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAACC,KAAK,EAAE,IAAI,EAAEF,KAAK,CAAC,CAAC;EAC/D;EAEAK,YAAYA,CAACjB,KAAwB,EAAE;IACrC,oBAAQX,KAAA,CAAA6B,aAAA,CAAC5B,IAAI;MAAC6B,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GAAE,IAAI,CAACC,WAAW,EAAEtB,KAAK,CAACuB,QAAe,CAAC;EAClF;AACF"}
|
|
@@ -5,12 +5,6 @@ import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
|
5
5
|
export default class WmWizardstepProps extends BaseProps {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
|
-
_defineProperty(this, "disableprev", false);
|
|
9
|
-
_defineProperty(this, "disablenext", false);
|
|
10
|
-
_defineProperty(this, "disabledone", false);
|
|
11
|
-
_defineProperty(this, "showprev", true);
|
|
12
|
-
_defineProperty(this, "shownext", true);
|
|
13
|
-
_defineProperty(this, "showdone", true);
|
|
14
8
|
_defineProperty(this, "children", void 0);
|
|
15
9
|
_defineProperty(this, "enableskip", false);
|
|
16
10
|
_defineProperty(this, "iconclass", 'wm-sl-l sl-check');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmWizardstepProps","constructor","arguments","_defineProperty"],"sources":["wizardstep.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmWizardstepProps extends BaseProps {\n
|
|
1
|
+
{"version":3,"names":["BaseProps","WmWizardstepProps","constructor","arguments","_defineProperty"],"sources":["wizardstep.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmWizardstepProps extends BaseProps {\n children: any;\n enableskip: boolean = false;\n iconclass: string = 'wm-sl-l sl-check';\n title: string = 'Step Title';\n subtitle: string = 'Sub Title';\n index: number = 0;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA,qBAEjC,KAAK;IAAAA,eAAA,oBACP,kBAAkB;IAAAA,eAAA,gBACtB,YAAY;IAAAA,eAAA,mBACT,WAAW;IAAAA,eAAA,gBACd,CAAC;EAAA;AACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmButton","WmFormActionProps","DEFAULT_CLASS","debounce","WmFormActionState","WmFormAction","constructor","props","_defineProperty","onClick","$event","cb","renderWidget","createElement","id","getTestId","show","disabled","caption","displayName","styles","name","iconclass","onTap","_debouncedFormAction","formAction"],"sources":["form-action.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport {
|
|
1
|
+
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmButton","WmFormActionProps","DEFAULT_CLASS","debounce","WmFormActionState","WmFormAction","constructor","props","_defineProperty","onClick","$event","cb","renderWidget","createElement","id","getTestId","show","disabled","caption","displayName","styles","name","iconclass","iconposition","onTap","_debouncedFormAction","formAction"],"sources":["form-action.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmFormActionProps from './form-action.props';\nimport { DEFAULT_CLASS, WmFormActionStyles } from './form-action.styles';\nimport {debounce} from \"lodash\";\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { ThemeConsumer } from '@wavemaker/app-rn-runtime/styles/theme';\n\nexport class WmFormActionState extends BaseComponentState<WmFormActionProps> {}\n\nexport default class WmFormAction extends BaseComponent<WmFormActionProps, WmFormActionState, WmFormActionStyles> {\n\n constructor(props: WmFormActionProps) {\n super(props, DEFAULT_CLASS, new WmFormActionProps());\n }\n\n private _debouncedFormAction = debounce(this.onClick, 250);\n\n onClick($event: TapEvent, cb: Function | undefined) {\n cb && cb($event);\n }\n\n renderWidget(props: WmFormActionProps) {\n return (\n <WmButton\n id={this.getTestId()}\n show={props.show}\n disabled={props.disabled}\n caption={props.displayName}\n styles={this.styles}\n name={props.name}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n onTap={($event: any) => {\n this._debouncedFormAction($event, props.formAction);\n }}\n />\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,QAAQ,MAAM,oEAAoE;AAGzF,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,aAAa,QAA4B,sBAAsB;AACxE,SAAQC,QAAQ,QAAO,QAAQ;AAI/B,OAAO,MAAMC,iBAAiB,SAASL,kBAAkB,CAAoB;AAE7E,eAAe,MAAMM,YAAY,SAASP,aAAa,CAA2D;EAEhHQ,WAAWA,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,EAAEL,aAAa,EAAE,IAAID,iBAAiB,CAAC,CAAC,CAAC;IAACO,eAAA,+BAGxBL,QAAQ,CAAC,IAAI,CAACM,OAAO,EAAE,GAAG,CAAC;EAF1D;EAIAA,OAAOA,CAACC,MAAgB,EAAEC,EAAwB,EAAE;IAClDA,EAAE,IAAIA,EAAE,CAACD,MAAM,CAAC;EAClB;EAEAE,YAAYA,CAACL,KAAwB,EAAE;IACrC,oBACEV,KAAA,CAAAgB,aAAA,CAACb,QAAQ;MACPc,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,CAAE;MACrBC,IAAI,EAAET,KAAK,CAACS,IAAK;MACjBC,QAAQ,EAAEV,KAAK,CAACU,QAAS;MACzBC,OAAO,EAAEX,KAAK,CAACY,WAAY;MAC3BC,MAAM,EAAE,IAAI,CAACA,MAAO;MACpBC,IAAI,EAAEd,KAAK,CAACc,IAAK;MACjBC,SAAS,EAAEf,KAAK,CAACe,SAAU;MAC3BC,YAAY,EAAEhB,KAAK,CAACgB,YAAa;MACjCC,KAAK,EAAGd,MAAW,IAAK;QACtB,IAAI,CAACe,oBAAoB,CAACf,MAAM,EAAEH,KAAK,CAACmB,UAAU,CAAC;MACrD;IAAE,CACH,CAAC;EAEN;AACF"}
|
|
@@ -12,6 +12,7 @@ export default class WmFormActionProps extends BaseProps {
|
|
|
12
12
|
_defineProperty(this, "iconclass", void 0);
|
|
13
13
|
_defineProperty(this, "updateMode", true);
|
|
14
14
|
_defineProperty(this, "formAction", null);
|
|
15
|
+
_defineProperty(this, "iconposition", 'left');
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=form-action.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmFormActionProps","constructor","arguments","_defineProperty"],"sources":["form-action.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormActionProps extends BaseProps {\n displayName: string = '';\n formKey: string = '';\n action: any = '';\n show: boolean = true;\n iconclass: any;\n updateMode: boolean = true;\n formAction: Function = null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,sBACjC,EAAE;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,eACA,IAAI;IAAAA,eAAA;IAAAA,eAAA,qBAEE,IAAI;IAAAA,eAAA,qBACH,IAAI;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmFormActionProps","constructor","arguments","_defineProperty"],"sources":["form-action.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormActionProps extends BaseProps {\n displayName: string = '';\n formKey: string = '';\n action: any = '';\n show: boolean = true;\n iconclass: any;\n updateMode: boolean = true;\n formAction: Function = null as any;\n iconposition? = 'left';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,sBACjC,EAAE;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,eACA,IAAI;IAAAA,eAAA;IAAAA,eAAA,qBAEE,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,uBACX,MAAM;EAAA;AACxB"}
|
|
@@ -27,6 +27,7 @@ export default class WmFormField extends BaseComponent {
|
|
|
27
27
|
}
|
|
28
28
|
onFieldChangeEvt(name, $new, $old, isDefault) {
|
|
29
29
|
this.notifyChanges();
|
|
30
|
+
this.validateFormField();
|
|
30
31
|
if (!isEqual($old, $new)) {
|
|
31
32
|
this.updateState({
|
|
32
33
|
props: {
|
|
@@ -34,7 +35,6 @@ export default class WmFormField extends BaseComponent {
|
|
|
34
35
|
}
|
|
35
36
|
}, () => {
|
|
36
37
|
!isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);
|
|
37
|
-
this.validateFormField();
|
|
38
38
|
});
|
|
39
39
|
if (this.form) {
|
|
40
40
|
this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);
|
|
@@ -206,14 +206,10 @@ export default class WmFormField extends BaseComponent {
|
|
|
206
206
|
});
|
|
207
207
|
this._asyncValidatorFn && this._asyncValidatorFn();
|
|
208
208
|
}
|
|
209
|
-
get value() {
|
|
210
|
-
return this.state.props.datavalue;
|
|
211
|
-
}
|
|
212
209
|
renderWidget(props) {
|
|
213
210
|
var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, child => {
|
|
214
211
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
215
212
|
datavalue: props.datavalue,
|
|
216
|
-
value: this.value,
|
|
217
213
|
isValid: this.state.isValid,
|
|
218
214
|
maskchar: props.maskchar,
|
|
219
215
|
displayformat: props.displayformat,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","arguments","_defineProperty","WmFormField","props","onFieldChangeEvt","name","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","form","updateDataOutput","call","observeOn","fields","field","formfield","formFields","f","proxy","notifyForFields","push","formwidget","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","createElement","style","styles","root","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.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 { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","arguments","_defineProperty","WmFormField","props","onFieldChangeEvt","name","$new","$old","isDefault","notifyChanges","validateFormField","updateState","datavalue","invokeEventCallback","undefined","form","updateDataOutput","call","observeOn","fields","field","formfield","formFields","f","proxy","notifyForFields","push","formwidget","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","createElement","style","styles","root","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.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 { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n this.validateFormField();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,IAAI,EAAEC,IAAI,QAAO,cAAc;AACvC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,SAASC,OAAO,EAAEC,GAAG,EAAEC,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AAErE,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAAQC,kBAAkB,QAAO,uCAAuC;AAExE,OAAO,MAAMC,gBAAgB,SAASV,kBAAkB,CAAmB;EAAAW,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBAC/D,IAAI;EAAA;AAChB;AAEA,eAAe,MAAMC,WAAW,SAASf,aAAa,CAAwD;EAO5GY,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,EAAE,IAAIG,gBAAgB,CAAC,CAAC,CAAC;IAACG,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mCAJvC,EAAE;IAAAA,eAAA,0BACV,EAAE;IAAAA,eAAA;EAIjC;EAEAG,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAEC,SAAkB,EAAE;IACvE,IAAI,CAACC,aAAa,CAAC,CAAC;IACpB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACrB,OAAO,CAACkB,IAAI,EAAED,IAAI,CAAC,EAAE;MACxB,IAAI,CAACK,WAAW,CAAC;QAAER,KAAK,EAAE;UAAES,SAAS,EAAEN;QAAK;MAAC,CAAC,EAAsB,MAAM;QACxE,CAACE,SAAS,IAAI,IAAI,CAACK,mBAAmB,CAAC,UAAU,EAAE,CAACC,SAAS,EAAE,IAAI,EAAER,IAAI,EAAEC,IAAI,CAAC,CAAC;MACnF,CAAC,CAAC;MACF,IAAI,IAAI,CAACQ,IAAI,EAAE;QACb,IAAI,CAACA,IAAI,CAACC,gBAAgB,CAACC,IAAI,CAAC,IAAI,CAACF,IAAI,EAAEzB,GAAG,CAAC,IAAI,CAACa,KAAK,EAAE,SAAS,EAAE,IAAI,CAACA,KAAK,CAACE,IAAI,CAAC,EAAEC,IAAI,CAAC;MAC/F;IACF;EACF;;EAEA;EACAY,SAASA,CAACC,MAAW,EAAE;IACrB1B,OAAO,CAAC0B,MAAM,EAAGC,KAAK,IAAK;MACzB,MAAMC,SAAS,GAAG9B,IAAI,CAAC,IAAI,CAACwB,IAAI,CAACO,UAAU,EAAGC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACnB,IAAI,KAAKe,KAAK,CAAC;MAC3E,IAAIC,SAAS,EAAE;QACbA,SAAS,CAACI,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC;MACtC;IACF,CAAC,CAAC;EACJ;;EAEA;EACAjB,aAAaA,CAAA,EAAG;IACdhB,OAAO,CAAC,IAAI,CAACgC,eAAe,EAAGL,KAAK,IAAK;MACvCA,KAAK,CAACO,UAAU,CAACC,QAAQ,CAACR,KAAK,CAACO,UAAU,CAACf,SAAS,CAAC;MACrDiB,UAAU,CAAC,MAAMT,KAAK,CAACV,iBAAiB,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ;EAEAoB,cAAcA,CAACC,UAAe,EAAE;IAC9B,MAAMC,GAAQ,GAAG,EAAE;IACnBvC,OAAO,CAACsC,UAAU,EAAGE,EAAE,IAAK;MAC1B,IAAIC,OAAO,GAAGD,EAAE;MAChB,IAAIA,EAAE,YAAYE,QAAQ,IAAIF,EAAE,CAACG,IAAI,EAAE;QACrCF,OAAO,GAAGD,EAAE,CAAC,IAAI,CAACN,UAAU,CAACH,KAAK,EAAE,IAAI,CAACT,IAAI,CAAC;MAChD;MACA,IAAImB,OAAO,YAAYG,OAAO,EAAE;QAC9BL,GAAG,CAACN,IAAI,CAACQ,OAAO,CAAC;MACnB;IACF,CAAC,CAAC;IACF,OAAOF,GAAG;EACZ;;EAEA;EACAM,kBAAkBA,CAACP,UAAe,EAAE;IAClC,IAAI,CAACQ,iBAAiB,GAAG,MAAM;MAC3B,OAAOF,OAAO,CAACG,GAAG,CAAC,IAAI,CAACV,cAAc,CAACC,UAAU,CAAC,CAAC,CAACU,IAAI,CAAC,MAAM;QAC7D,OAAO,IAAI;MACb,CAAC,EAAEC,GAAG,IAAI;QACR,IAAIC,aAAqB;QACzB;QACA;QACA,IAAID,GAAG,CAACE,cAAc,CAAC,cAAc,CAAC,EAAE;UACtCD,aAAa,GAAGrD,GAAG,CAACoD,GAAG,EAAE,cAAc,CAAC;QAC1C,CAAC,MAAM;UACL,MAAMG,WAAW,GAAGnD,IAAI,CAACgD,GAAG,CAAC;UAC7BC,aAAa,GAAID,GAAG,CAACG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAEC,QAAQ,CAAC,CAAC;QAClD;QACA,IAAI,CAACC,eAAe,CAACJ,aAAa,CAAC;QACnC,OAAOD,GAAG;MACZ,CAAC,CAAC;IACJ,CAAC;EACL;;EAEA;EACAM,aAAaA,CAACjB,UAAe,EAAE;IAC7B,IAAIkB,gBAAgB,GAAGzD,SAAS,CAACuC,UAAU,CAAC;IAC5C,IAAI,CAACmB,eAAe,GAAG,EAAE;IACzBzD,OAAO,CAACwD,gBAAgB,EAAE,CAACE,GAAG,EAAEC,KAAK,KAAK;MACxC;MACA,IAAID,GAAG,IAAIA,GAAG,YAAYhB,QAAQ,EAAE;QAClC;QACAc,gBAAgB,CAACG,KAAK,CAAC,GAAGD,GAAG,CAACf,IAAI,CAACtB,SAAS,EAAE,IAAI,CAACa,UAAU,CAACH,KAAK,EAAE,IAAI,CAACT,IAAI,CAAC;QAC/E,IAAI,CAACmC,eAAe,CAACxB,IAAI,CAACuB,gBAAgB,CAACG,KAAK,CAAC,CAAC;MACpD,CAAC,MAAM;QACL;QACA,MAAMC,GAAG,GAAG/D,GAAG,CAAC6D,GAAG,EAAE,MAAM,CAAC;QAC5B,IAAI,CAACG,wBAAwB,CAACD,GAAG,CAAC,GAAG/D,GAAG,CAAC6D,GAAG,EAAE,cAAc,CAAC;QAC7D,MAAMI,KAAK,GAAGjE,GAAG,CAAC6D,GAAG,EAAE,WAAW,CAAC;QACnC,IAAIK,QAAa,GAAG;UAClBrD,KAAK,EAAE,CAAC;QACV,CAAC;QACDqD,QAAQ,CAACrD,KAAK,CAACkD,GAAG,CAAC,GAAGE,KAAK;QAC3BF,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC1C,WAAW,CAAC6C,QAA4B,CAAC;QACpE,IAAI,CAAC7B,UAAU,CAAChB,WAAW,CAAC6C,QAA4B,CAAC;MAC3D;IACF,CAAC,CAAC;EACJ;EAEAC,uBAAuBA,CAACC,GAAQ,EAAEC,YAAoB,EAAE;IACtD,IAAI,CAAChC,UAAU,CAAChB,WAAW,CAAC;MAC1BR,KAAK,EAAE;QACLyD,OAAO,EAAEF,GAAG,CAACG,IAAI;QACjBC,SAAS,EAAE,YAAY;QACvBC,YAAY,EAAE,IAAI,CAACpC,UAAU,CAACqC,KAAK,CAAC7D,KAAK,CAAC4D,YAAY,IAAIJ;MAC5D;IACF,CAAqB,CAAC;EACxB;EAEAZ,eAAeA,CAACkB,GAAW,EAAE;IAC3B,IAAI,CAACtD,WAAW,CAAC;MACfuD,OAAO,EAAE,KAAK;MACd/D,KAAK,EAAE;QACLgE,iBAAiB,EAAEF;MACrB;IACF,CAAqB,CAAC;IACtB,IAAI,CAACtC,UAAU,CAAChB,WAAW,CAAC;MAC1BuD,OAAO,EAAE,KAAK;MACd/D,KAAK,EAAE;QACLgE,iBAAiB,EAAEF;MACrB;IACF,CAAqB,CAAC;EACxB;EAEAG,gBAAgBA,CAAC/D,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,QAAQF,IAAI;MACV,KAAK,WAAW;QACd,IAAI,CAAChB,OAAO,CAACkB,IAAI,EAAED,IAAI,CAAC,EAAE;UACxBT,kBAAkB,CAACwE,KAAK,CAAE,cAAa,IAAI,CAAClE,KAAK,CAACE,IAAK,iBAAgBE,IAAK,OAAMD,IAAK,EAAC,CAAC;QAC3F;QACA;MACF,KAAK,cAAc;QACjB,IAAI,CAACjB,OAAO,CAACkB,IAAI,EAAED,IAAI,CAAC,EAAE;UACxBhB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAACyB,IAAI,CAACuD,iBAAiB,CAAC,IAAI,CAAC;QACxD;QACA;MACF,KAAK,aAAa;QAChB,IAAIhE,IAAI,EAAE;UACR,IAAI,CAACS,IAAI,CAACwD,aAAa,CAAC,IAAI,CAACpE,KAAK,CAACE,IAAI,CAAC;QAC1C;QACA;IACJ;EACF;EAEAmE,gBAAgBA,CAACC,UAAe,EAAE;IAAA,IAAAC,gBAAA;IAChC,CAAAA,gBAAA,OAAI,CAAC/C,UAAU,cAAA+C,gBAAA,uBAAfA,gBAAA,CAAiB/D,WAAW,CAAC;MAC3BR,KAAK,EAAE;QACLwE,QAAQ,EAAE,CAACF;MACb;IACF,CAAqB,CAAC;EACxB;EAEA/D,iBAAiBA,CAAA,EAAG;IAAA,IAAAkE,iBAAA,EAAAC,qBAAA;IAClB,IAAI,EAAAD,iBAAA,OAAI,CAACjD,UAAU,cAAAiD,iBAAA,uBAAfA,iBAAA,CAAiBZ,KAAK,CAACE,OAAO,MAAK,KAAK,EAAE;MAAA,IAAAY,iBAAA;MAC5C,MAAMC,SAAS,IAAAD,iBAAA,GAAG,IAAI,CAACnD,UAAU,cAAAmD,iBAAA,gBAAAA,iBAAA,GAAfA,iBAAA,CAAiBd,KAAK,cAAAc,iBAAA,uBAAtBA,iBAAA,CAAwBC,SAAS;MACnD,IAAIpC,aAAa,GAAGrD,GAAG,CAAC,IAAI,CAACgE,wBAAwB,EAAEyB,SAAS,CAAC;MACjE,IAAIpC,aAAa,EAAE;QACjB,IAAIA,aAAa,YAAYR,QAAQ,EAAE;UACrC;UACAQ,aAAa,GAAGA,aAAa,CAAC,IAAI,CAAChB,UAAU,CAACH,KAAK,EAAE,IAAI,CAACT,IAAI,CAAC;QACjE;QACA,IAAI,CAACJ,WAAW,CAAC;UAAER,KAAK,EAAE;YACtBgE,iBAAiB,EAAExB;UACrB;QAAC,CAAqB,CAAC;MAC3B;MACA,IAAI,CAAChC,WAAW,CAAC;QAAEuD,OAAO,EAAE;MAAK,CAAqB,CAAC;IACzD,CAAC,MAAM;MACL,IAAI,CAACvD,WAAW,CAAC;QAAEuD,OAAO,EAAE;MAAK,CAAqB,CAAC;IACzD;IAEA,CAAAW,qBAAA,OAAI,CAAC3B,eAAe,cAAA2B,qBAAA,uBAApBA,qBAAA,CAAsBpF,OAAO,CAAEwC,EAAO,IAAK;MACzC,MAAM+C,QAAQ,GAAG/C,EAAE,CAAC,CAAC;MACrB,IAAIU,aAAa,GAAGqC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY;MAC1C,IAAItC,aAAa,EAAE;QACjB,IAAIA,aAAa,YAAYR,QAAQ,EAAE;UACrC;UACAQ,aAAa,GAAGA,aAAa,CAAC,IAAI,CAAChB,UAAU,CAACH,KAAK,EAAE,IAAI,CAACT,IAAI,CAAC;QACjE;QACA,IAAI,CAACgC,eAAe,CAACJ,aAAa,CAAC;MACrC;IACF,CAAC,CAAC;IAEF,IAAI,CAACJ,iBAAiB,IAAI,IAAI,CAACA,iBAAiB,CAAC,CAAC;EAEpD;EAEA2C,YAAYA,CAAC/E,KAAuB,EAAE;IACpC,IAAIgF,iBAAiB,GAAGnG,KAAK,CAACoG,QAAQ,CAACC,GAAG,CAAClF,KAAK,CAACmF,gBAAgB,CAAC,IAAI,CAAC9D,KAAK,CAAC,CAACrB,KAAK,CAACoF,QAAQ,EAAGC,KAAK,IAAK;MACvG,oBAAOxG,KAAK,CAACyG,YAAY,CAACD,KAAK,EAAE;QAC7B5E,SAAS,EAAET,KAAK,CAACS,SAAS;QAC1BsD,OAAO,EAAE,IAAI,CAACF,KAAK,CAACE,OAAO;QAC3BwB,QAAQ,EAAEvF,KAAK,CAACuF,QAAQ;QACxBC,aAAa,EAAExF,KAAK,CAACwF,aAAa;QAClCC,WAAW,EAAE,IAAI,CAAC/E,mBAAmB,CAACuB,IAAI,CAAC,IAAI,CAAC;QAChDyD,iBAAiB,EAAE,IAAI,CAACnF,iBAAiB,CAAC0B,IAAI,CAAC,IAAI,CAAC;QACpD0D,aAAa,EAAE,IAAI,CAAC1F,gBAAgB,CAACgC,IAAI,CAAC,IAAI,CAAC;QAC/C2D,OAAO,EAAE5F,KAAK,CAAC4F;MAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,oBACE/G,KAAA,CAAAgH,aAAA,CAAC9G,IAAI;MAAC+G,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GAAE,IAAI,CAACC,WAAW,EAAEjB,iBAAiB,EAChE,IAAI,CAACnB,KAAK,CAACE,OAAO,KAAK,KAAK,iBAAIlF,KAAA,CAAAgH,aAAA,CAAC/G,IAAI,EAAAoH,QAAA,KAAK,IAAI,CAACC,oBAAoB,CAAC,WAAW,CAAC;MAAEL,KAAK,EAAE,IAAI,CAACC,MAAM,CAACK;IAAS,IAAEpG,KAAK,CAACgE,iBAAwB,CAC3I,CAAC;EAEX;AACF"}
|
|
@@ -4,7 +4,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
|
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
6
|
import { ActivityIndicator, SectionList, Text, View, FlatList } from 'react-native';
|
|
7
|
-
import { isArray, isEmpty, isNil } from 'lodash-es';
|
|
7
|
+
import { isArray, isEmpty, isNil, isNumber } from 'lodash-es';
|
|
8
8
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
9
9
|
import { getGroupedData, isDefined } from "@wavemaker/app-rn-runtime/core/utils";
|
|
10
10
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
@@ -31,6 +31,9 @@ export default class WmList extends BaseComponent {
|
|
|
31
31
|
_defineProperty(this, "endThreshold", -1);
|
|
32
32
|
_defineProperty(this, "loadingData", false);
|
|
33
33
|
_defineProperty(this, "hasMoreData", true);
|
|
34
|
+
this.updateState({
|
|
35
|
+
maxRecordsToShow: this.state.props.pagesize
|
|
36
|
+
});
|
|
34
37
|
}
|
|
35
38
|
isSelected($item) {
|
|
36
39
|
const selectedItem = this.state.props.selecteditem;
|
|
@@ -85,7 +88,7 @@ export default class WmList extends BaseComponent {
|
|
|
85
88
|
}
|
|
86
89
|
if (isArray(this.state.props.dataset) && this.state.props.dataset.length > this.state.maxRecordsToShow) {
|
|
87
90
|
this.updateState({
|
|
88
|
-
maxRecordsToShow: this.state.maxRecordsToShow +
|
|
91
|
+
maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
|
|
89
92
|
});
|
|
90
93
|
} else if (this.loadDataOnDemand) {
|
|
91
94
|
const $list = this.proxy;
|
|
@@ -96,7 +99,7 @@ export default class WmList extends BaseComponent {
|
|
|
96
99
|
$list.dataset = [...this.state.props.dataset, ...data];
|
|
97
100
|
this.updateState({
|
|
98
101
|
currentPage: this.state.currentPage + 1,
|
|
99
|
-
maxRecordsToShow: this.state.maxRecordsToShow +
|
|
102
|
+
maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
|
|
100
103
|
});
|
|
101
104
|
this.hasMoreData = true;
|
|
102
105
|
} else {
|
|
@@ -118,6 +121,52 @@ export default class WmList extends BaseComponent {
|
|
|
118
121
|
this.onSelect(props.dataset[0], index);
|
|
119
122
|
}
|
|
120
123
|
}
|
|
124
|
+
clear() {
|
|
125
|
+
this.updateState({
|
|
126
|
+
groupedData: {}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
selectItem(item) {
|
|
130
|
+
const dataset = this.state.props.dataset;
|
|
131
|
+
if (isNumber(item)) {
|
|
132
|
+
this.onSelect(dataset[item], item);
|
|
133
|
+
} else {
|
|
134
|
+
let index = dataset.indexOf(item);
|
|
135
|
+
this.onSelect(dataset[index], index);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
getItem(index) {
|
|
139
|
+
const props = this.state.props;
|
|
140
|
+
return this.props.dataset[index];
|
|
141
|
+
}
|
|
142
|
+
deselect(item) {
|
|
143
|
+
const props = this.state.props;
|
|
144
|
+
let selectedItem = null;
|
|
145
|
+
let index = isNumber(item) ? item : props.dataset.indexOf(item);
|
|
146
|
+
if (props.multiselect && index >= 0) {
|
|
147
|
+
selectedItem = [...(props.selecteditem || [])];
|
|
148
|
+
let selectedItemIndex = selectedItem.indexOf(props.dataset[index]);
|
|
149
|
+
if (selectedItemIndex >= 0) {
|
|
150
|
+
selectedItem.splice(selectedItemIndex, 1);
|
|
151
|
+
}
|
|
152
|
+
} else {
|
|
153
|
+
if (props.selecteditem === props.dataset[index]) {
|
|
154
|
+
selectedItem = null;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
this.updateState({
|
|
158
|
+
props: {
|
|
159
|
+
selecteditem: selectedItem
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
getWidgets(widgetname, index) {
|
|
164
|
+
if (index >= 0 && index < this.itemWidgets.length) {
|
|
165
|
+
return this.itemWidgets[index][widgetname];
|
|
166
|
+
} else {
|
|
167
|
+
return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
121
170
|
deselectAll() {
|
|
122
171
|
this.updateState({
|
|
123
172
|
props: {
|
|
@@ -193,6 +242,11 @@ export default class WmList extends BaseComponent {
|
|
|
193
242
|
case 'loadingdata':
|
|
194
243
|
this.loadingData = $new && this.loadingData;
|
|
195
244
|
break;
|
|
245
|
+
case 'selecteditem':
|
|
246
|
+
if ($new != $old && isNumber($new)) {
|
|
247
|
+
this.selectItem(this.state.props.dataset[$new]);
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
196
250
|
}
|
|
197
251
|
}
|
|
198
252
|
componentDidMount() {
|
|
@@ -205,7 +259,7 @@ export default class WmList extends BaseComponent {
|
|
|
205
259
|
}
|
|
206
260
|
this.subscribe('scroll', event => {
|
|
207
261
|
const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;
|
|
208
|
-
if (scrollPosition > this.endThreshold) {
|
|
262
|
+
if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {
|
|
209
263
|
this.loadData();
|
|
210
264
|
}
|
|
211
265
|
});
|
|
@@ -231,7 +285,7 @@ export default class WmList extends BaseComponent {
|
|
|
231
285
|
renderItem(item, index, props) {
|
|
232
286
|
const cols = this.getNoOfColumns();
|
|
233
287
|
const isHorizontal = props.direction === 'horizontal';
|
|
234
|
-
return index < this.state.maxRecordsToShow ? /*#__PURE__*/React.createElement(View, {
|
|
288
|
+
return index < this.state.maxRecordsToShow || isHorizontal ? /*#__PURE__*/React.createElement(View, {
|
|
235
289
|
style: [this.styles.item, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
|
|
236
290
|
}, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
|
|
237
291
|
onTap: () => this.onSelect(item, index, true),
|
|
@@ -311,12 +365,14 @@ export default class WmList extends BaseComponent {
|
|
|
311
365
|
style: this.styles.root,
|
|
312
366
|
onLayout: e => this.onLayoutChange(e)
|
|
313
367
|
}, !isEmpty(this.state.groupedData) ? this.state.groupedData.map((v, i) => /*#__PURE__*/React.createElement(View, {
|
|
314
|
-
style:
|
|
368
|
+
style: {
|
|
369
|
+
marginBottom: 16
|
|
370
|
+
},
|
|
315
371
|
key: v.key || this.keyExtractor.getKey(v, true)
|
|
316
372
|
}, this.renderHeader(props, v.key), /*#__PURE__*/React.createElement(FlatList, _extends({
|
|
317
373
|
key: props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs,
|
|
318
374
|
keyExtractor: (item, i) => this.generateItemKey(item, i, props),
|
|
319
|
-
scrollEnabled:
|
|
375
|
+
scrollEnabled: isHorizontal,
|
|
320
376
|
horizontal: isHorizontal,
|
|
321
377
|
data: v.data || [],
|
|
322
378
|
ListEmptyComponent: itemInfo => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props),
|
|
@@ -326,7 +382,7 @@ export default class WmList extends BaseComponent {
|
|
|
326
382
|
})), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow ? this.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
|
|
327
383
|
id: this.getTestId('ondemandmessage'),
|
|
328
384
|
styles: this.styles.onDemandMessage,
|
|
329
|
-
caption: this.hasMoreData ? props.ondemandmessage : props.nodatamessage,
|
|
385
|
+
caption: this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage,
|
|
330
386
|
onTap: () => this.loadData()
|
|
331
387
|
}) : null)) : this.renderEmptyMessage(isHorizontal, null, null, props));
|
|
332
388
|
}
|