@wavemaker/app-rn-runtime 11.14.1-16.6412 → 11.14.1-16.6417
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.
- package/components/container/wizard/wizard.component.js +1 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -2
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +1 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/advanced-promise-rejection-tracker.js +2 -1
- package/core/advanced-promise-rejection-tracker.js.map +1 -1
- package/core/base.component.js +1 -1
- package/core/base.component.js.map +1 -1
- package/core/error-boundary.component.js +1 -29
- package/core/error-boundary.component.js.map +1 -1
- package/core/global-error-handler.service.js +23 -97
- package/core/global-error-handler.service.js.map +1 -1
- package/npm-shrinkwrap.json +195 -146
- package/package-lock.json +195 -146
- package/package.json +2 -2
- package/runtime/App.js +33 -85
- package/runtime/App.js.map +1 -1
|
@@ -454,7 +454,7 @@ export default class WmWizard extends BaseComponent {
|
|
|
454
454
|
flexDirection: props.actionsalignment === 'right' ? 'row-reverse' : 'row'
|
|
455
455
|
}]
|
|
456
456
|
}, this.state.currentStep === this.lastStepIndex() && activeStep.state.props.showdone && /*#__PURE__*/React.createElement(WmButton, {
|
|
457
|
-
iconclass:
|
|
457
|
+
iconclass: props.donebtniconclass,
|
|
458
458
|
styles: merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton),
|
|
459
459
|
id: this.getTestId('donebtn'),
|
|
460
460
|
caption: props.donebtnlabel,
|
|
@@ -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","createSkeleton","WmWizardState","constructor","args","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","updateDefaultStep","steps","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","isDone","_this$steps$this$stat2","_this$steps$nextStep","lastStep","nextStep","setInActive","show","i","length","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","stepTitleWrapper","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","stepConnectorWidth","isFirstOrLastConnector","stepIndex","lastStepIndex","firstStepIndex","stepConnectorHeight","getDotStyle","stepDot","activeStepDot","renderDot","getConnectorPosition","_this$styles","stepStyles","cssWidth","cssHeight","parseStyleValue","value","numValue","parseFloat","isNaN","result","top","left","renderWizardHeader","_this$state$props$cla","_this$state$props$cla2","_this$state$props$cla3","isLastStep","isFirstStep","isActiveStep","isNumberTextLayout","classname","isVertical","includes","isDotted","isStepperBasic","wizardStepCountVisibility","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","_showSkeleton","getTestPropsForAction","Fragment","stepIcon","icon","color","activeStepCounter","stepCounter","showskeleton","root","numberOfSteps","numberTextStepConnector","getTotalVisibleSteps","stepConnector","OS","isRTL","prev","skipdefaultprevious","invokePrevCB","next","eventName","skipdefaultnext","invokeSkipCB","invokeNextCB","done","$event","skipdefaultdone","cancel","skipdefaultcancel","skip","skipdefaultskip","getBackground","_background","firstStep","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","children","renderWidget","_this$state$props$cla4","isSkippable","enableskip","isProgressCircleHeader","onLayout","event","handleLayout","wizardHeader","wizardBody","wizardFooter","actionsalignment","showdone","donebtniconclass","wizardActions","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, DimensionValue } 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';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.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 }\n\n updateDefaultStep() {\n const steps = this.steps;\n const props = this.props;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps && 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 if (this.props.defaultstep && this.props.defaultstep != 'none') {\n this.updateDefaultStep();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<WmWizardProps>, prevState: Readonly<WmWizardState>, snapshot?: any): void {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n // * when a variable is bind to default step\n if (this.props.defaultstep && prevProps.defaultstep !== this.props.defaultstep) {\n this.updateDefaultStep();\n }\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 let nextStep = index\n this.steps[this.state.currentStep]?.setInActive();\n\n // check for next available step if next or prev steps show prop is false\n if(this.steps[nextStep]?.state && !this.steps[nextStep].state.props.show){\n if(lastStep < nextStep){\n for(let i = nextStep + 1; i < this.steps.length; i++){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }else if(lastStep > nextStep) {\n for(let i = nextStep - 1; i >= 0; i--){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }\n }\n\n this.updateState({\n currentStep: nextStep,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== nextStep) {\n this.invokeEventCallback('onChange', [null, this.proxy, nextStep + 1, lastStep + 1]);\n }\n });\n this.forceUpdate();\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 id={this.getTestId('icon')} 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 id={this.getTestId('progress')} 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={this.styles.stepTitleWrapper}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1)+ '_subtitle')}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n stepConnectorWidth(isFirstOrLastConnector: boolean, stepIndex: number): DimensionValue {\n if(stepIndex === this.lastStepIndex() || stepIndex === this.firstStepIndex()){\n return '50%';\n }\n return isFirstOrLastConnector ? '50%' : '100%';\n }\n\n stepConnectorHeight(isFirstOrLastConnector: boolean, stepIndex: number): DimensionValue {\n if (stepIndex === this.lastStepIndex() || stepIndex === this.firstStepIndex()) {\n return '50%';\n }\n return isFirstOrLastConnector ? '50%' : '100%';\n }\n\n getDotStyle(index: number) {\n const style = [this.styles.stepDot];\n if (this.state.currentStep === index) {\n style.push(this.styles.activeStepDot);\n }\n return style;\n }\n\n renderDot(index: number) {\n return (\n <View style={this.getDotStyle(index)}></View>\n );\n }\n\n getConnectorPosition(): { top?: number, left?: number } {\n const stepStyles = this.styles?.step;\n if (!stepStyles) return {};\n const cssWidth = stepStyles.width;\n const cssHeight = stepStyles.height;\n const parseStyleValue = (value: any): number | null => {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const numValue = parseFloat(value);\n return isNaN(numValue) ? null : numValue;\n }\n return null;\n };\n const width = parseStyleValue(cssWidth);\n const height = parseStyleValue(cssHeight);\n const result: { top?: number, left?: number } = {};\n // Calculate connector positions based on actual circle dimensions\n if (height !== null) {\n result.top = (height / 2) - 1;\n }\n if (width !== null) {\n result.left = (width / 2) - 1;\n }\n return result;\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.lastStepIndex();\n const isFirstStep = index === this.firstStepIndex();\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n const isVertical = this.state.props.classname?.includes('vertical');\n const isDotted = this.state.props.classname?.includes('dottedstepper');\n const isStepperBasic = this.state.props.classname?.includes('stepper-basic');\n const wizardStepCountVisibility = (index >= this.state.currentStep && !this.state.isDone) || !this.state.currentStep\n return item.state.props.show !== false ? (\n <View \n style={[\n this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}\n ]} \n key={index+1}\n >\n <TouchableOpacity \n style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep || !this.state.props.headernavigation}\n accessibilityRole='header'\n >\n {!this._showSkeleton ? isStepperBasic ? (\n <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}/>\n ) : <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n {(isDotted) ? (\n <>\n {(index < this.state.currentStep || this.state.isDone) ? (\n <WmIcon \n id={this.getTestId('status')} \n styles={isActiveStep ? merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}}) : this.styles.stepIcon}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}\n ></WmIcon>\n ) : (\n this.renderDot(index)\n )}\n </>\n ) : (\n <>\n { wizardStepCountVisibility &&\n <Text \n style={\n isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} \n {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')\n }\n >\n {index+1}\n </Text>\n }\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon \n id={this.getTestId('status')} \n styles={isActiveStep ? merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}}) : this.styles.stepIcon}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}\n ></WmIcon>\n }\n </>\n )}\n </View> : \n <WmLabel showskeleton={true} styles={{root: {...this.getStepStyle(index)[0]}}}/>\n }\n {(isActiveStep) &&\n <View style={this.styles.stepTitleWrapper}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.props.title || 'Step Title'}\n </Text> \n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_subtitle')}>\n {item.state.props.subtitle}\n </Text> \n </View>\n }\n {!isStepperBasic && this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {!isStepperBasic && this.getTotalVisibleSteps() > 1 &&\n item.state.props.show && !isVertical &&\n <View \n style={[\n this.styles.stepConnector, \n {\n width: this.stepConnectorWidth(isFirstStep || isLastStep, index),\n left: Platform.OS === \"web\" ?\n (!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? \n '50%': '0%': isFirstStep ? '50%': '0%'\n },\n this.getConnectorPosition().top ? {top: this.getConnectorPosition().top} : {}\n ]}\n ></View>\n }\n {!isStepperBasic && this.getTotalVisibleSteps() > 1 &&\n item.state.props.show && isVertical &&\n <View \n style={[\n this.styles.stepConnector, \n {\n height: this.stepConnectorHeight(isFirstStep || isLastStep, index),\n top: isFirstStep ? '50%' : '0%',\n },\n this.getConnectorPosition().left ? {left: this.getConnectorPosition().left} : {}\n ]}\n ></View>\n }\n </View>\n ) : null;\n }\n\n prev() {\n if(this.state.props.skipdefaultprevious) {\n this.invokeEventCallback('onPrev', ['prev',this.proxy]);\n return;\n }\n \n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n this.invokeEventCallback('onPrev', ['prev',this.proxy]);\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n if( eventName !== 'skip' && this.state.props.skipdefaultnext) {\n this.invokeEventCallback('onNext', ['next',this.proxy]);\n return;\n }\n\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 this.invokeEventCallback('onSkip', ['skip',this.proxy]);\n currentStep.invokeSkipCB(index);\n } else {\n this.invokeEventCallback('onNext', ['next',this.proxy]);\n if (currentStep.invokeNextCB(index) == false) {\n return;\n } \n } \n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if(this.state.props.skipdefaultdone) {\n this.invokeEventCallback('onDone', ['done', this.proxy]);\n return;\n }\n if (this.state.currentStep !== this.lastStepIndex()) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', ['done', this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', ['cancel', this.proxy]);\n if(this.state.props.skipdefaultcancel) {\n return;\n }\n }\n\n skip() {\n if(this.state.props.skipdefaultskip) {\n this.invokeEventCallback('onSkip', ['skip', this.proxy]);\n return;\n }\n this.next('skip');\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n lastStepIndex(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep = i;\n }\n }\n return lastStep;\n }\n\n firstStepIndex(): number {\n let firstStep = -1;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n if (firstStep === -1) {\n firstStep = i;\n }\n }\n }\n return firstStep;\n }\n\n getTotalVisibleSteps(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep++;\n }\n }\n return lastStep;\n }\n \n public renderSkeleton(props: WmWizardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\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 const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View \n style={styles}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.getBackground()}\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) === this.lastStepIndex() && activeStep.state.props.showdone &&\n <WmButton iconclass={this.props.donebtniconclass} 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) < this.lastStepIndex() && 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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","createSkeleton","WmWizardState","constructor","args","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","updateDefaultStep","steps","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","isDone","_this$steps$this$stat2","_this$steps$nextStep","lastStep","nextStep","setInActive","show","i","length","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","stepTitleWrapper","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","stepConnectorWidth","isFirstOrLastConnector","stepIndex","lastStepIndex","firstStepIndex","stepConnectorHeight","getDotStyle","stepDot","activeStepDot","renderDot","getConnectorPosition","_this$styles","stepStyles","cssWidth","cssHeight","parseStyleValue","value","numValue","parseFloat","isNaN","result","top","left","renderWizardHeader","_this$state$props$cla","_this$state$props$cla2","_this$state$props$cla3","isLastStep","isFirstStep","isActiveStep","isNumberTextLayout","classname","isVertical","includes","isDotted","isStepperBasic","wizardStepCountVisibility","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","_showSkeleton","getTestPropsForAction","Fragment","stepIcon","icon","color","activeStepCounter","stepCounter","showskeleton","root","numberOfSteps","numberTextStepConnector","getTotalVisibleSteps","stepConnector","OS","isRTL","prev","skipdefaultprevious","invokePrevCB","next","eventName","skipdefaultnext","invokeSkipCB","invokeNextCB","done","$event","skipdefaultdone","cancel","skipdefaultcancel","skip","skipdefaultskip","getBackground","_background","firstStep","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","children","renderWidget","_this$state$props$cla4","isSkippable","enableskip","isProgressCircleHeader","onLayout","event","handleLayout","wizardHeader","wizardBody","wizardFooter","actionsalignment","showdone","donebtniconclass","wizardActions","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, DimensionValue } 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';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.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 }\n\n updateDefaultStep() {\n const steps = this.steps;\n const props = this.props;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps && 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 if (this.props.defaultstep && this.props.defaultstep != 'none') {\n this.updateDefaultStep();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<WmWizardProps>, prevState: Readonly<WmWizardState>, snapshot?: any): void {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n // * when a variable is bind to default step\n if (this.props.defaultstep && prevProps.defaultstep !== this.props.defaultstep) {\n this.updateDefaultStep();\n }\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 let nextStep = index\n this.steps[this.state.currentStep]?.setInActive();\n\n // check for next available step if next or prev steps show prop is false\n if(this.steps[nextStep]?.state && !this.steps[nextStep].state.props.show){\n if(lastStep < nextStep){\n for(let i = nextStep + 1; i < this.steps.length; i++){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }else if(lastStep > nextStep) {\n for(let i = nextStep - 1; i >= 0; i--){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }\n }\n\n this.updateState({\n currentStep: nextStep,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== nextStep) {\n this.invokeEventCallback('onChange', [null, this.proxy, nextStep + 1, lastStep + 1]);\n }\n });\n this.forceUpdate();\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 id={this.getTestId('icon')} 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 id={this.getTestId('progress')} 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={this.styles.stepTitleWrapper}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1)+ '_subtitle')}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n stepConnectorWidth(isFirstOrLastConnector: boolean, stepIndex: number): DimensionValue {\n if(stepIndex === this.lastStepIndex() || stepIndex === this.firstStepIndex()){\n return '50%';\n }\n return isFirstOrLastConnector ? '50%' : '100%';\n }\n\n stepConnectorHeight(isFirstOrLastConnector: boolean, stepIndex: number): DimensionValue {\n if (stepIndex === this.lastStepIndex() || stepIndex === this.firstStepIndex()) {\n return '50%';\n }\n return isFirstOrLastConnector ? '50%' : '100%';\n }\n\n getDotStyle(index: number) {\n const style = [this.styles.stepDot];\n if (this.state.currentStep === index) {\n style.push(this.styles.activeStepDot);\n }\n return style;\n }\n\n renderDot(index: number) {\n return (\n <View style={this.getDotStyle(index)}></View>\n );\n }\n\n getConnectorPosition(): { top?: number, left?: number } {\n const stepStyles = this.styles?.step;\n if (!stepStyles) return {};\n const cssWidth = stepStyles.width;\n const cssHeight = stepStyles.height;\n const parseStyleValue = (value: any): number | null => {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const numValue = parseFloat(value);\n return isNaN(numValue) ? null : numValue;\n }\n return null;\n };\n const width = parseStyleValue(cssWidth);\n const height = parseStyleValue(cssHeight);\n const result: { top?: number, left?: number } = {};\n // Calculate connector positions based on actual circle dimensions\n if (height !== null) {\n result.top = (height / 2) - 1;\n }\n if (width !== null) {\n result.left = (width / 2) - 1;\n }\n return result;\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.lastStepIndex();\n const isFirstStep = index === this.firstStepIndex();\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n const isVertical = this.state.props.classname?.includes('vertical');\n const isDotted = this.state.props.classname?.includes('dottedstepper');\n const isStepperBasic = this.state.props.classname?.includes('stepper-basic');\n const wizardStepCountVisibility = (index >= this.state.currentStep && !this.state.isDone) || !this.state.currentStep\n return item.state.props.show !== false ? (\n <View \n style={[\n this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}\n ]} \n key={index+1}\n >\n <TouchableOpacity \n style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep || !this.state.props.headernavigation}\n accessibilityRole='header'\n >\n {!this._showSkeleton ? isStepperBasic ? (\n <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}/>\n ) : <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n {(isDotted) ? (\n <>\n {(index < this.state.currentStep || this.state.isDone) ? (\n <WmIcon \n id={this.getTestId('status')} \n styles={isActiveStep ? merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}}) : this.styles.stepIcon}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}\n ></WmIcon>\n ) : (\n this.renderDot(index)\n )}\n </>\n ) : (\n <>\n { wizardStepCountVisibility &&\n <Text \n style={\n isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} \n {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')\n }\n >\n {index+1}\n </Text>\n }\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon \n id={this.getTestId('status')} \n styles={isActiveStep ? merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}}) : this.styles.stepIcon}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}\n ></WmIcon>\n }\n </>\n )}\n </View> : \n <WmLabel showskeleton={true} styles={{root: {...this.getStepStyle(index)[0]}}}/>\n }\n {(isActiveStep) &&\n <View style={this.styles.stepTitleWrapper}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.props.title || 'Step Title'}\n </Text> \n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_subtitle')}>\n {item.state.props.subtitle}\n </Text> \n </View>\n }\n {!isStepperBasic && this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {!isStepperBasic && this.getTotalVisibleSteps() > 1 &&\n item.state.props.show && !isVertical &&\n <View \n style={[\n this.styles.stepConnector, \n {\n width: this.stepConnectorWidth(isFirstStep || isLastStep, index),\n left: Platform.OS === \"web\" ?\n (!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? \n '50%': '0%': isFirstStep ? '50%': '0%'\n },\n this.getConnectorPosition().top ? {top: this.getConnectorPosition().top} : {}\n ]}\n ></View>\n }\n {!isStepperBasic && this.getTotalVisibleSteps() > 1 &&\n item.state.props.show && isVertical &&\n <View \n style={[\n this.styles.stepConnector, \n {\n height: this.stepConnectorHeight(isFirstStep || isLastStep, index),\n top: isFirstStep ? '50%' : '0%',\n },\n this.getConnectorPosition().left ? {left: this.getConnectorPosition().left} : {}\n ]}\n ></View>\n }\n </View>\n ) : null;\n }\n\n prev() {\n if(this.state.props.skipdefaultprevious) {\n this.invokeEventCallback('onPrev', ['prev',this.proxy]);\n return;\n }\n \n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n this.invokeEventCallback('onPrev', ['prev',this.proxy]);\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n if( eventName !== 'skip' && this.state.props.skipdefaultnext) {\n this.invokeEventCallback('onNext', ['next',this.proxy]);\n return;\n }\n\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 this.invokeEventCallback('onSkip', ['skip',this.proxy]);\n currentStep.invokeSkipCB(index);\n } else {\n this.invokeEventCallback('onNext', ['next',this.proxy]);\n if (currentStep.invokeNextCB(index) == false) {\n return;\n } \n } \n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if(this.state.props.skipdefaultdone) {\n this.invokeEventCallback('onDone', ['done', this.proxy]);\n return;\n }\n if (this.state.currentStep !== this.lastStepIndex()) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', ['done', this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', ['cancel', this.proxy]);\n if(this.state.props.skipdefaultcancel) {\n return;\n }\n }\n\n skip() {\n if(this.state.props.skipdefaultskip) {\n this.invokeEventCallback('onSkip', ['skip', this.proxy]);\n return;\n }\n this.next('skip');\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n lastStepIndex(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep = i;\n }\n }\n return lastStep;\n }\n\n firstStepIndex(): number {\n let firstStep = -1;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n if (firstStep === -1) {\n firstStep = i;\n }\n }\n }\n return firstStep;\n }\n\n getTotalVisibleSteps(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep++;\n }\n }\n return lastStep;\n }\n \n public renderSkeleton(props: WmWizardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\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 const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View \n style={styles}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.getBackground()}\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) === this.lastStepIndex() && activeStep.state.props.showdone &&\n <WmButton iconclass={props.donebtniconclass} 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) < this.lastStepIndex() && 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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","ignoreList":[]}
|
|
@@ -24,8 +24,7 @@ export default class WmDialogcontent extends BaseComponent {
|
|
|
24
24
|
maxHeight: this.styles.root.maxHeight
|
|
25
25
|
}
|
|
26
26
|
}, this._background, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
27
|
-
activeOpacity: 1
|
|
28
|
-
accessible: false
|
|
27
|
+
activeOpacity: 1
|
|
29
28
|
}, /*#__PURE__*/React.createElement(React.Fragment, null, props.children)));
|
|
30
29
|
}
|
|
31
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","
|
|
1
|
+
{"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","Fragment","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n showsVerticalScrollIndicator={false}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n\n {/* *IMPORTANT: Pan responder in WmDialog interfering with scroll of ScrollView [https://github.com/facebook/react-native/issues/11206] */}\n <TouchableOpacity \n activeOpacity={1}\n >\n <>\n {props.children}\n </>\n </TouchableOpacity>\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQV,KAAA,CAAAY,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,4BAA4B,EAAE,KAAM;MACpCC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,eAGjB1B,KAAA,CAAAY,aAAA,CAACX,gBAAgB;MACf0B,aAAa,EAAE;IAAE,gBAEjB3B,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAA4B,QAAA,QACGlB,KAAK,CAACmB,QACP,CACc,CACV,CAAC;EACf;AACF","ignoreList":[]}
|
|
@@ -72,7 +72,7 @@ export default class WmCheckboxset extends BaseDatasetComponent {
|
|
|
72
72
|
disabled: props.readonly || props.disabled,
|
|
73
73
|
id: this.getTestId('item' + index),
|
|
74
74
|
accessible: false
|
|
75
|
-
}), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(
|
|
75
|
+
}), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel("label" + index), {
|
|
76
76
|
style: [this.styles.text, item.selected ? this.styles.selectedLabel : null],
|
|
77
77
|
importantForAccessibility: "no"
|
|
78
78
|
}), displayText));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","ScrollView","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","getNumberOfEmptyObjects","WmLabel","WmCheckboxsetState","constructor","args","_defineProperty","WmCheckboxset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","getTestPropsForAction","style","styles","checkedItem","width","bind","iconclass","checkicon","uncheckicon","id","getTestId","accessible","template","renderitempartial","dataObject","getTestPropsForLabel","text","selectedLabel","importantForAccessibility","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","noOfColumns","itemsperrow","xs","Math","round","flexWrap","flexDirection","CHECKBOXSET","renderSkeleton","_ref","numberofskeletonitems","_","root","renderWidget","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, DimensionValue, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\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 WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\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 if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\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,colWidth: DimensionValue) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'checkbox' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={[this.styles.item, item.selected ? this.styles.checkedItem : null, {width: colWidth}]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...accessibilityProps}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('item'+index)} accessible={false}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.text, item.selected ? this.styles.selectedLabel: null]} importantForAccessibility='no'>{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 setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\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 const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<View style = {noOfColumns === 1 ? {} : {flexWrap: 'wrap', flexDirection: 'row'}} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOXSET, props)}>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index, colWidth))\n : null}\n </View>)\n }\n\n public renderSkeleton(props: WmCheckboxsetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 3)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkicon}/>\n <WmLabel styles={{ root: this.styles.text }}/>\n </View>\n })\n }\n\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","ScrollView","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","getNumberOfEmptyObjects","WmLabel","WmCheckboxsetState","constructor","args","_defineProperty","WmCheckboxset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","getTestPropsForAction","style","styles","checkedItem","width","bind","iconclass","checkicon","uncheckicon","id","getTestId","accessible","template","renderitempartial","dataObject","getTestPropsForLabel","text","selectedLabel","importantForAccessibility","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","noOfColumns","itemsperrow","xs","Math","round","flexWrap","flexDirection","CHECKBOXSET","renderSkeleton","_ref","numberofskeletonitems","_","root","renderWidget","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, DimensionValue, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\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 WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\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 if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\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,colWidth: DimensionValue) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'checkbox' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={[this.styles.item, item.selected ? this.styles.checkedItem : null, {width: colWidth}]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...accessibilityProps}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('item'+index)} accessible={false}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(\"label\"+index)} style={[this.styles.text, item.selected ? this.styles.selectedLabel: null]} importantForAccessibility='no'>{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 setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\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 const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<View style = {noOfColumns === 1 ? {} : {flexWrap: 'wrap', flexDirection: 'row'}} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOXSET, props)}>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index, colWidth))\n : null}\n </View>)\n }\n\n public renderSkeleton(props: WmCheckboxsetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 3)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkicon}/>\n <WmLabel styles={{ root: this.styles.text }}/>\n </View>\n })\n }\n\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/core/AppConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n
|
|
1
|
+
{"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n preferences:any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n revertLayoutToExpo50: boolean,\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }, \n edgeToEdgeConfig:any;\n prefabs?: {\n partials?: any[]\n },\n screenCaptureProtection: {\n enabled: boolean\n }\n}"],"mappings":"","ignoreList":[]}
|
|
@@ -79,7 +79,8 @@ export class AdvancedPromiseRejectionTracker {
|
|
|
79
79
|
}
|
|
80
80
|
const handler = event => {
|
|
81
81
|
event.preventDefault(); // Prevent browser's default handling
|
|
82
|
-
|
|
82
|
+
const error = event.reason instanceof Error ? event.reason : new Error(String(event.reason));
|
|
83
|
+
this.onRejectionHandler(error);
|
|
83
84
|
};
|
|
84
85
|
window.addEventListener('unhandledrejection', handler);
|
|
85
86
|
this.cleanupFunctions.push(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","AdvancedPromiseRejectionTracker","constructor","onRejection","_defineProperty","onRejectionHandler","setup","OS","setupWebTracking","setupHermesTracking","setupReactNativeTracking","window","addEventListener","handler","event","preventDefault","reason","cleanupFunctions","push","removeEventListener","error","hermesInternal","global","HermesInternal","enablePromiseRejectionTracker","allRejections","onUnhandled","id","onHandled","tracking","require","enable","disable","cleanup","forEach","detectJavaScriptEngine","setupAdvancedPromiseRejectionTracking","tracker"],"sources":["advanced-promise-rejection-tracker.ts"],"sourcesContent":["/**\n * Advanced Promise Rejection Tracker\n *\n * Provides comprehensive promise rejection tracking across different JavaScript engines.\n * This module addresses the critical gap where API call failures and async function errors\n * are not caught by React Error Boundaries, ensuring all promise rejections are handled.\n *\n * Engine Support:\n * - Web: Uses browser's 'unhandledrejection' event\n * - Hermes: Uses HermesInternal.enablePromiseRejectionTracker\n * - JSC: Uses React Native's 'promise/setimmediate/rejection-tracking' module\n *\n * Coverage Includes:\n * - API call failures (fetch, axios, any HTTP library)\n * - Async function errors (unhandled throws in async/await)\n * - Manual Promise.reject() calls\n * - Third-party library promise rejections\n *\n * Research Notes:\n * This implementation was developed through extensive research into React Native's\n * promise handling across different engines. Each engine has its own optimal approach:\n * - Hermes provides a native tracking API that hooks into the engine's internals\n * - JSC can use React Native's internal promise tracking module\n * - Web browsers have standardized unhandledrejection events\n *\n * The approach automatically detects the best available method and falls back\n * gracefully when native tracking is unavailable.\n */\n\nimport { Platform } from 'react-native';\n\n// TypeScript declarations for global objects\ndeclare global {\n interface Global {\n HermesInternal?: {\n enablePromiseRejectionTracker?: (options: {\n allRejections: boolean;\n onUnhandled: (id: number, error: any) => void;\n onHandled: (id: number) => void;\n }) => void;\n };\n }\n}\n\nexport interface PromiseRejectionHandler {\n (error: any): void;\n}\n\n/**\n * Multi-engine promise rejection tracking implementation\n */\nexport class AdvancedPromiseRejectionTracker {\n private onRejectionHandler: PromiseRejectionHandler;\n private cleanupFunctions: (() => void)[] = [];\n\n constructor(onRejection: PromiseRejectionHandler) {\n this.onRejectionHandler = onRejection;\n }\n\n /**\n * Setup promise rejection tracking based on available APIs\n * Returns true if native tracking was enabled, false if fallback used\n */\n public setup(): boolean {\n // Automatically detect and setup the best available promise rejection tracking method\n\n if (Platform.OS === 'web') {\n return this.setupWebTracking();\n }\n\n // For mobile platforms, try native tracking methods in order of preference\n if (this.setupHermesTracking()) {\n return true;\n }\n\n // Fallback to React Native internal tracking for JSC\n if (this.setupReactNativeTracking()) {\n return true;\n }\n\n // No native tracking available - this should rarely happen in modern RN versions\n return false;\n }\n\n /**\n * Method 1: Web Environment - Use unhandledrejection event\n */\n private setupWebTracking(): boolean {\n try {\n if (typeof window === 'undefined' || !window.addEventListener) {\n return false;\n }\n\n const handler = (event: PromiseRejectionEvent) => {\n event.preventDefault(); // Prevent browser's default handling\n this.onRejectionHandler(event.reason);\n };\n\n window.addEventListener('unhandledrejection', handler);\n this.cleanupFunctions.push(() => {\n window.removeEventListener('unhandledrejection', handler);\n });\n\n return true;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Method 2: Hermes Engine - Use HermesInternal API\n */\n private setupHermesTracking(): boolean {\n try {\n // Check if Hermes engine is available\n const hermesInternal = (global as any).HermesInternal;\n if (\n hermesInternal &&\n typeof hermesInternal.enablePromiseRejectionTracker === 'function'\n ) {\n hermesInternal.enablePromiseRejectionTracker({\n allRejections: true, // Track both handled and unhandled rejections\n onUnhandled: (id: number, error: any) => {\n this.onRejectionHandler(error);\n },\n onHandled: (id: number) => {\n // Promise was handled later - could be used for analytics in the future\n },\n });\n\n // Cleanup function (if available)\n this.cleanupFunctions.push(() => {\n // Hermes doesn't provide a disable method, but we can set a no-op handler\n if (hermesInternal?.enablePromiseRejectionTracker) {\n hermesInternal.enablePromiseRejectionTracker({\n allRejections: false,\n onUnhandled: () => {},\n onHandled: () => {},\n });\n }\n });\n\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Method 3: React Native Internal - Use promise/setimmediate/rejection-tracking for JSC\n */\n private setupReactNativeTracking(): boolean {\n try {\n // Try to access React Native's internal promise tracking module\n const tracking = require('promise/setimmediate/rejection-tracking');\n\n if (tracking && typeof tracking.enable === 'function') {\n tracking.enable({\n allRejections: true,\n onUnhandled: (id: number, error: any) => {\n this.onRejectionHandler(error);\n },\n onHandled: (id: number) => {\n // Promise was handled later - tracking for potential analytics\n },\n });\n\n this.cleanupFunctions.push(() => {\n // Try to disable tracking if possible\n if (tracking.disable && typeof tracking.disable === 'function') {\n tracking.disable();\n }\n });\n\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Clean up all tracking mechanisms\n */\n public cleanup(): void {\n // Clean up all tracking mechanisms and restore original state\n this.cleanupFunctions.forEach((cleanup) => {\n try {\n cleanup();\n } catch (error) {\n // Silently handle cleanup errors to avoid disrupting app shutdown\n }\n });\n this.cleanupFunctions = [];\n }\n}\n\n/**\n * Helper function to detect JavaScript engine (simplified for Web/Hermes/JSC)\n */\nexport function detectJavaScriptEngine(): 'web' | 'hermes' | 'jsc' {\n if (Platform.OS === 'web') {\n return 'web';\n }\n\n if (typeof (global as any).HermesInternal !== 'undefined') {\n return 'hermes';\n }\n\n // For non-Hermes engines on mobile, assume JSC (most common)\n return 'jsc';\n}\n\n/**\n * Public API for easy integration\n */\n/**\n * Sets up advanced promise rejection tracking with automatic engine detection\n * @param onRejection Callback function to handle unhandled promise rejections\n * @returns AdvancedPromiseRejectionTracker instance for cleanup and testing\n */\nexport function setupAdvancedPromiseRejectionTracking(\n onRejection: PromiseRejectionHandler\n): AdvancedPromiseRejectionTracker {\n const tracker = new AdvancedPromiseRejectionTracker(onRejection);\n tracker.setup();\n return tracker;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","AdvancedPromiseRejectionTracker","constructor","onRejection","_defineProperty","onRejectionHandler","setup","OS","setupWebTracking","setupHermesTracking","setupReactNativeTracking","window","addEventListener","handler","event","preventDefault","error","reason","Error","String","cleanupFunctions","push","removeEventListener","hermesInternal","global","HermesInternal","enablePromiseRejectionTracker","allRejections","onUnhandled","id","onHandled","tracking","require","enable","disable","cleanup","forEach","detectJavaScriptEngine","setupAdvancedPromiseRejectionTracking","tracker"],"sources":["advanced-promise-rejection-tracker.ts"],"sourcesContent":["/**\n * Advanced Promise Rejection Tracker\n *\n * Provides comprehensive promise rejection tracking across different JavaScript engines.\n * This module addresses the critical gap where API call failures and async function errors\n * are not caught by React Error Boundaries, ensuring all promise rejections are handled.\n *\n * Engine Support:\n * - Web: Uses browser's 'unhandledrejection' event\n * - Hermes: Uses HermesInternal.enablePromiseRejectionTracker\n * - JSC: Uses React Native's 'promise/setimmediate/rejection-tracking' module\n *\n * Coverage Includes:\n * - API call failures (fetch, axios, any HTTP library)\n * - Async function errors (unhandled throws in async/await)\n * - Manual Promise.reject() calls\n * - Third-party library promise rejections\n *\n * Research Notes:\n * This implementation was developed through extensive research into React Native's\n * promise handling across different engines. Each engine has its own optimal approach:\n * - Hermes provides a native tracking API that hooks into the engine's internals\n * - JSC can use React Native's internal promise tracking module\n * - Web browsers have standardized unhandledrejection events\n *\n * The approach automatically detects the best available method and falls back\n * gracefully when native tracking is unavailable.\n */\n\nimport { Platform } from 'react-native';\n\n// TypeScript declarations for global objects\ndeclare global {\n interface Global {\n HermesInternal?: {\n enablePromiseRejectionTracker?: (options: {\n allRejections: boolean;\n onUnhandled: (id: number, error: any) => void;\n onHandled: (id: number) => void;\n }) => void;\n };\n }\n}\n\nexport interface PromiseRejectionHandler {\n (error: any): void;\n}\n\n/**\n * Multi-engine promise rejection tracking implementation\n */\nexport class AdvancedPromiseRejectionTracker {\n private onRejectionHandler: PromiseRejectionHandler;\n private cleanupFunctions: (() => void)[] = [];\n\n constructor(onRejection: PromiseRejectionHandler) {\n this.onRejectionHandler = onRejection;\n }\n\n /**\n * Setup promise rejection tracking based on available APIs\n * Returns true if native tracking was enabled, false if fallback used\n */\n public setup(): boolean {\n // Automatically detect and setup the best available promise rejection tracking method\n\n if (Platform.OS === 'web') {\n return this.setupWebTracking();\n }\n\n // For mobile platforms, try native tracking methods in order of preference\n if (this.setupHermesTracking()) {\n return true;\n }\n\n // Fallback to React Native internal tracking for JSC\n if (this.setupReactNativeTracking()) {\n return true;\n }\n\n // No native tracking available - this should rarely happen in modern RN versions\n return false;\n }\n\n /**\n * Method 1: Web Environment - Use unhandledrejection event\n */\n private setupWebTracking(): boolean {\n try {\n if (typeof window === 'undefined' || !window.addEventListener) {\n return false;\n }\n\n const handler = (event: PromiseRejectionEvent) => {\n event.preventDefault(); // Prevent browser's default handling\n const error =\n event.reason instanceof Error\n ? event.reason\n : new Error(String(event.reason));\n this.onRejectionHandler(error);\n };\n\n window.addEventListener('unhandledrejection', handler);\n this.cleanupFunctions.push(() => {\n window.removeEventListener('unhandledrejection', handler);\n });\n\n return true;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Method 2: Hermes Engine - Use HermesInternal API\n */\n private setupHermesTracking(): boolean {\n try {\n // Check if Hermes engine is available\n const hermesInternal = (global as any).HermesInternal;\n if (\n hermesInternal &&\n typeof hermesInternal.enablePromiseRejectionTracker === 'function'\n ) {\n hermesInternal.enablePromiseRejectionTracker({\n allRejections: true, // Track both handled and unhandled rejections\n onUnhandled: (id: number, error: any) => {\n this.onRejectionHandler(error);\n },\n onHandled: (id: number) => {\n // Promise was handled later - could be used for analytics in the future\n },\n });\n\n // Cleanup function (if available)\n this.cleanupFunctions.push(() => {\n // Hermes doesn't provide a disable method, but we can set a no-op handler\n if (hermesInternal?.enablePromiseRejectionTracker) {\n hermesInternal.enablePromiseRejectionTracker({\n allRejections: false,\n onUnhandled: () => {},\n onHandled: () => {},\n });\n }\n });\n\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Method 3: React Native Internal - Use promise/setimmediate/rejection-tracking for JSC\n */\n private setupReactNativeTracking(): boolean {\n try {\n // Try to access React Native's internal promise tracking module\n const tracking = require('promise/setimmediate/rejection-tracking');\n\n if (tracking && typeof tracking.enable === 'function') {\n tracking.enable({\n allRejections: true,\n onUnhandled: (id: number, error: any) => {\n this.onRejectionHandler(error);\n },\n onHandled: (id: number) => {\n // Promise was handled later - tracking for potential analytics\n },\n });\n\n this.cleanupFunctions.push(() => {\n // Try to disable tracking if possible\n if (tracking.disable && typeof tracking.disable === 'function') {\n tracking.disable();\n }\n });\n\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Clean up all tracking mechanisms\n */\n public cleanup(): void {\n // Clean up all tracking mechanisms and restore original state\n this.cleanupFunctions.forEach((cleanup) => {\n try {\n cleanup();\n } catch (error) {\n // Silently handle cleanup errors to avoid disrupting app shutdown\n }\n });\n this.cleanupFunctions = [];\n }\n}\n\n/**\n * Helper function to detect JavaScript engine (simplified for Web/Hermes/JSC)\n */\nexport function detectJavaScriptEngine(): 'web' | 'hermes' | 'jsc' {\n if (Platform.OS === 'web') {\n return 'web';\n }\n\n if (typeof (global as any).HermesInternal !== 'undefined') {\n return 'hermes';\n }\n\n // For non-Hermes engines on mobile, assume JSC (most common)\n return 'jsc';\n}\n\n/**\n * Public API for easy integration\n */\n/**\n * Sets up advanced promise rejection tracking with automatic engine detection\n * @param onRejection Callback function to handle unhandled promise rejections\n * @returns AdvancedPromiseRejectionTracker instance for cleanup and testing\n */\nexport function setupAdvancedPromiseRejectionTracking(\n onRejection: PromiseRejectionHandler\n): AdvancedPromiseRejectionTracker {\n const tracker = new AdvancedPromiseRejectionTracker(onRejection);\n tracker.setup();\n return tracker;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/core/base.component.js
CHANGED
|
@@ -304,7 +304,7 @@ export class BaseComponent extends React.Component {
|
|
|
304
304
|
} catch (e) {
|
|
305
305
|
var _appConfig$preference;
|
|
306
306
|
console.error(e);
|
|
307
|
-
if ((appConfig === null || appConfig === void 0 || (_appConfig$preference = appConfig.preferences) === null || _appConfig$preference === void 0 ? void 0 : _appConfig$preference.enableGlobalErrorHandler)
|
|
307
|
+
if ((appConfig === null || appConfig === void 0 || (_appConfig$preference = appConfig.preferences) === null || _appConfig$preference === void 0 ? void 0 : _appConfig$preference.enableGlobalErrorHandler) !== false) {
|
|
308
308
|
throw e; // Re-throwing error to let ErrorBoundary or Global Handler catch it
|
|
309
309
|
}
|
|
310
310
|
}
|