@wavemaker/app-rn-runtime 12.0.0-next.140495 → 12.0.0-next.140498
Sign up to get free protection for your applications and to get access to all the features.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +5 -3
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -3
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +1 -0
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.component.js +2 -1
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.styles.js +1 -0
- app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -4
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +0 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +14 -8
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +2 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +2 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +1 -1
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +6 -3
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +5 -5
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +10 -7
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +2 -2
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +2 -3
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/core/base.component.js +1 -0
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/textinput.component.js +3 -3
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/props.provider.js +4 -1
- app-rn-runtime/core/props.provider.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/base-fragment.component.js +15 -0
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","borderWidth","borderStyle","borderColor","accordionBorderColor","borderRadius","backgroundColor","transparent","text","color","accordionTitleColor","fontSize","firstHeader","borderTopLeftRadius","borderTopRightRadius","pane","header","borderBottomWidth","accordionHeaderBgColor","padding","flexDirection","justifyContent","lastHeader","borderBottomLeftRadius","borderBottomRightRadius","activeHeader","accordionActiveHeaderBgColor","activeHeaderTitle","accordionActiveHeaderTextColor","subheading","icon","alignSelf","height","accordionIconColor","fontWeight","leftToggleIcon","rightToggleIcon","activeIcon","activeBadge","badge","marginRight","alignContent","default","success","labelSuccessColor","danger","labelDangerColor","warning","labelWarningColor","info","labelInfoColor","primary","labelPrimaryColor","OS","textAlign","marginBottom"],"sources":["accordion.styles.ts"],"sourcesContent":["import BASE_THEME, {AllStyle} from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { TextStyle, ViewStyle, Platform } from 'react-native';\nimport Color from 'color';\n\nexport type WmAccordionStyles = BaseStyles & {\n icon: WmIconStyles,\n rightToggleIcon: WmIconStyles,\n leftToggleIcon: WmIconStyles,\n activeIcon: WmIconStyles,\n pane: AllStyle,\n badge: AllStyle,\n activeBadge: AllStyle,\n firstHeader: ViewStyle,\n lastHeader: ViewStyle,\n header: AllStyle,\n activeHeader: AllStyle,\n activeHeaderTitle: TextStyle,\n subheading: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-accordion';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmAccordionStyles = defineStyles({\n root: {\n width: '100%',\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: themeVariables.accordionBorderColor,\n borderRadius: 6,\n backgroundColor: themeVariables.transparent\n },\n text: {\n color: themeVariables.accordionTitleColor,\n fontSize: 18\n },\n firstHeader: {\n borderTopLeftRadius: 6,\n borderTopRightRadius: 6\n },\n pane : {},\n header: {\n borderBottomWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.accordionBorderColor,\n backgroundColor: themeVariables.accordionHeaderBgColor,\n padding: 8,\n flexDirection: 'row',\n justifyContent: 'center'\n },\n lastHeader: {\n borderBottomWidth: 0,\n borderBottomLeftRadius: 6,\n borderBottomRightRadius: 6\n },\n activeHeader: {\n borderColor: themeVariables.accordionActiveHeaderBgColor,\n backgroundColor: themeVariables.accordionActiveHeaderBgColor\n },\n activeHeaderTitle: {\n color: themeVariables.accordionActiveHeaderTextColor\n },\n subheading: {\n\n },\n icon: {\n root: {\n alignSelf: 'auto',\n width: 24,\n height: 24,\n borderRadius: 24,\n justifyContent: 'center'\n },\n icon: {\n color: themeVariables.accordionIconColor,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16,\n fontWeight: 'bold'\n }\n } as WmIconStyles,\n leftToggleIcon: {\n root: {}\n } as WmIconStyles,\n rightToggleIcon: {\n root: {}\n } as WmIconStyles,\n activeIcon : {\n root: {\n borderColor: themeVariables.accordionActiveHeaderTextColor,\n },\n icon: {\n color: themeVariables.accordionActiveHeaderTextColor\n }\n } as WmIconStyles,\n activeBadge: {\n borderColor: themeVariables.accordionActiveHeaderTextColor,\n color: themeVariables.accordionActiveHeaderTextColor\n },\n badge: {\n color: themeVariables.accordionIconColor,\n fontSize: 14,\n marginRight: 4,\n width: 24,\n height: 24,\n borderRadius: 12,\n alignContent: 'center',\n borderStyle: 'solid',\n borderWidth: 2,\n borderColor: themeVariables.accordionIconColor,\n backgroundColor: themeVariables.transparent\n },\n default: {},\n success: {\n backgroundColor: themeVariables.labelSuccessColor\n },\n danger: {\n backgroundColor: themeVariables.labelDangerColor\n },\n warning: {\n backgroundColor: themeVariables.labelWarningColor\n },\n info: {\n backgroundColor: themeVariables.labelInfoColor\n },\n primary: {\n backgroundColor: themeVariables.labelPrimaryColor\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n text:{\n textAlign:'right',\n } \n }:{\n text:{\n textAlign:'left',\n } \n });\n addStyle('app-accordion1', '', {\n pane: {\n marginBottom: 0\n },\n leftToggleIcon: {\n root: {\n width: 1\n }\n },\n icon: {\n root: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)'\n }\n }\n } as WmAccordionStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAkB,wCAAwC;AAC3E,SAAqBC,YAAY,QAAQ,+CAA+C;AAExF,SAA+BC,QAAQ,QAAQ,cAAc;
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","borderWidth","borderStyle","borderColor","accordionBorderColor","borderRadius","backgroundColor","transparent","text","color","accordionTitleColor","fontSize","firstHeader","borderTopLeftRadius","borderTopRightRadius","pane","header","borderBottomWidth","accordionHeaderBgColor","padding","flexDirection","justifyContent","lastHeader","borderBottomLeftRadius","borderBottomRightRadius","activeHeader","accordionActiveHeaderBgColor","activeHeaderTitle","accordionActiveHeaderTextColor","subheading","icon","alignSelf","height","accordionIconColor","fontWeight","leftToggleIcon","rightToggleIcon","activeIcon","activeBadge","badge","marginRight","alignContent","titleIcon","default","success","labelSuccessColor","danger","labelDangerColor","warning","labelWarningColor","info","labelInfoColor","primary","labelPrimaryColor","OS","textAlign","marginBottom"],"sources":["accordion.styles.ts"],"sourcesContent":["import BASE_THEME, {AllStyle} from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { TextStyle, ViewStyle, Platform } from 'react-native';\nimport Color from 'color';\n\nexport type WmAccordionStyles = BaseStyles & {\n icon: WmIconStyles,\n rightToggleIcon: WmIconStyles,\n leftToggleIcon: WmIconStyles,\n activeIcon: WmIconStyles,\n pane: AllStyle,\n badge: AllStyle,\n activeBadge: AllStyle,\n firstHeader: ViewStyle,\n lastHeader: ViewStyle,\n header: AllStyle,\n activeHeader: AllStyle,\n activeHeaderTitle: TextStyle,\n subheading: AllStyle,\n titleIcon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-accordion';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmAccordionStyles = defineStyles({\n root: {\n width: '100%',\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: themeVariables.accordionBorderColor,\n borderRadius: 6,\n backgroundColor: themeVariables.transparent\n },\n text: {\n color: themeVariables.accordionTitleColor,\n fontSize: 18\n },\n firstHeader: {\n borderTopLeftRadius: 6,\n borderTopRightRadius: 6\n },\n pane : {},\n header: {\n borderBottomWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.accordionBorderColor,\n backgroundColor: themeVariables.accordionHeaderBgColor,\n padding: 8,\n flexDirection: 'row',\n justifyContent: 'center'\n },\n lastHeader: {\n borderBottomWidth: 0,\n borderBottomLeftRadius: 6,\n borderBottomRightRadius: 6\n },\n activeHeader: {\n borderColor: themeVariables.accordionActiveHeaderBgColor,\n backgroundColor: themeVariables.accordionActiveHeaderBgColor\n },\n activeHeaderTitle: {\n color: themeVariables.accordionActiveHeaderTextColor\n },\n subheading: {\n\n },\n icon: {\n root: {\n alignSelf: 'auto',\n width: 24,\n height: 24,\n borderRadius: 24,\n justifyContent: 'center'\n },\n icon: {\n color: themeVariables.accordionIconColor,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16,\n fontWeight: 'bold'\n }\n } as WmIconStyles,\n leftToggleIcon: {\n root: {}\n } as WmIconStyles,\n rightToggleIcon: {\n root: {}\n } as WmIconStyles,\n activeIcon : {\n root: {\n borderColor: themeVariables.accordionActiveHeaderTextColor,\n },\n icon: {\n color: themeVariables.accordionActiveHeaderTextColor\n }\n } as WmIconStyles,\n activeBadge: {\n borderColor: themeVariables.accordionActiveHeaderTextColor,\n color: themeVariables.accordionActiveHeaderTextColor\n },\n badge: {\n color: themeVariables.accordionIconColor,\n fontSize: 14,\n marginRight: 4,\n width: 24,\n height: 24,\n borderRadius: 12,\n alignContent: 'center',\n borderStyle: 'solid',\n borderWidth: 2,\n borderColor: themeVariables.accordionIconColor,\n backgroundColor: themeVariables.transparent\n },\n titleIcon: {} as WmIconStyles,\n default: {},\n success: {\n backgroundColor: themeVariables.labelSuccessColor\n },\n danger: {\n backgroundColor: themeVariables.labelDangerColor\n },\n warning: {\n backgroundColor: themeVariables.labelWarningColor\n },\n info: {\n backgroundColor: themeVariables.labelInfoColor\n },\n primary: {\n backgroundColor: themeVariables.labelPrimaryColor\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n text:{\n textAlign:'right',\n } \n }:{\n text:{\n textAlign:'left',\n } \n });\n addStyle('app-accordion1', '', {\n pane: {\n marginBottom: 0\n },\n leftToggleIcon: {\n root: {\n width: 1\n }\n },\n icon: {\n root: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)'\n }\n }\n } as WmAccordionStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAkB,wCAAwC;AAC3E,SAAqBC,YAAY,QAAQ,+CAA+C;AAExF,SAA+BC,QAAQ,QAAQ,cAAc;AAoB7D,OAAO,MAAMC,aAAa,GAAG,eAAe;AAC5CH,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAAgC,GAAGN,YAAY,CAAC;IAClDO,IAAI,EAAE;MACJC,KAAK,EAAE,MAAM;MACbC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEP,cAAc,CAACQ,oBAAoB;MAChDC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAEV,cAAc,CAACW;IAClC,CAAC;IACDC,IAAI,EAAE;MACJC,KAAK,EAAEb,cAAc,CAACc,mBAAmB;MACzCC,QAAQ,EAAE;IACZ,CAAC;IACDC,WAAW,EAAE;MACXC,mBAAmB,EAAE,CAAC;MACtBC,oBAAoB,EAAE;IACxB,CAAC;IACDC,IAAI,EAAG,CAAC,CAAC;IACTC,MAAM,EAAE;MACNC,iBAAiB,EAAE,CAAC;MACpBf,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEP,cAAc,CAACQ,oBAAoB;MAChDE,eAAe,EAAEV,cAAc,CAACsB,sBAAsB;MACtDC,OAAO,EAAE,CAAC;MACVC,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE;IAClB,CAAC;IACDC,UAAU,EAAE;MACVL,iBAAiB,EAAE,CAAC;MACpBM,sBAAsB,EAAE,CAAC;MACzBC,uBAAuB,EAAE;IAC3B,CAAC;IACDC,YAAY,EAAE;MACZtB,WAAW,EAAEP,cAAc,CAAC8B,4BAA4B;MACxDpB,eAAe,EAAEV,cAAc,CAAC8B;IAClC,CAAC;IACDC,iBAAiB,EAAE;MACjBlB,KAAK,EAAEb,cAAc,CAACgC;IACxB,CAAC;IACDC,UAAU,EAAE,CAEZ,CAAC;IACDC,IAAI,EAAE;MACJ/B,IAAI,EAAE;QACJgC,SAAS,EAAE,MAAM;QACjB/B,KAAK,EAAE,EAAE;QACTgC,MAAM,EAAE,EAAE;QACV3B,YAAY,EAAE,EAAE;QAChBgB,cAAc,EAAE;MAClB,CAAC;MACDS,IAAI,EAAE;QACJrB,KAAK,EAAEb,cAAc,CAACqC,kBAAkB;QACxCF,SAAS,EAAE,QAAQ;QACnBV,cAAc,EAAE,QAAQ;QACxBV,QAAQ,EAAE,EAAE;QACZuB,UAAU,EAAE;MACd;IACF,CAAiB;IACjBC,cAAc,EAAE;MACdpC,IAAI,EAAE,CAAC;IACT,CAAiB;IACjBqC,eAAe,EAAE;MACfrC,IAAI,EAAE,CAAC;IACT,CAAiB;IACjBsC,UAAU,EAAG;MACXtC,IAAI,EAAE;QACJI,WAAW,EAAEP,cAAc,CAACgC;MAC9B,CAAC;MACDE,IAAI,EAAE;QACJrB,KAAK,EAAEb,cAAc,CAACgC;MACxB;IACF,CAAiB;IACjBU,WAAW,EAAE;MACXnC,WAAW,EAAEP,cAAc,CAACgC,8BAA8B;MAC1DnB,KAAK,EAAEb,cAAc,CAACgC;IACxB,CAAC;IACDW,KAAK,EAAE;MACH9B,KAAK,EAAEb,cAAc,CAACqC,kBAAkB;MACxCtB,QAAQ,EAAE,EAAE;MACZ6B,WAAW,EAAE,CAAC;MACdxC,KAAK,EAAE,EAAE;MACTgC,MAAM,EAAE,EAAE;MACV3B,YAAY,EAAE,EAAE;MAChBoC,YAAY,EAAE,QAAQ;MACtBvC,WAAW,EAAE,OAAO;MACpBD,WAAW,EAAE,CAAC;MACdE,WAAW,EAAEP,cAAc,CAACqC,kBAAkB;MAC9C3B,eAAe,EAAEV,cAAc,CAACW;IACpC,CAAC;IACDmC,SAAS,EAAE,CAAC,CAAiB;IAC7BC,OAAO,EAAE,CAAC,CAAC;IACXC,OAAO,EAAE;MACPtC,eAAe,EAAEV,cAAc,CAACiD;IAClC,CAAC;IACDC,MAAM,EAAE;MACNxC,eAAe,EAAEV,cAAc,CAACmD;IAClC,CAAC;IACDC,OAAO,EAAE;MACP1C,eAAe,EAAEV,cAAc,CAACqD;IAClC,CAAC;IACDC,IAAI,EAAE;MACJ5C,eAAe,EAAEV,cAAc,CAACuD;IAClC,CAAC;IACDC,OAAO,EAAE;MACP9C,eAAe,EAAEV,cAAc,CAACyD;IAClC;EACJ,CAAC,CAAC;EAEFxD,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAACH,aAAa,GAAG,MAAM,EAAE,EAAE,EAAED,QAAQ,CAAC6D,EAAE,IAAE,KAAK,GAAC;IACtD9C,IAAI,EAAC;MACD+C,SAAS,EAAC;IACd;EACF,CAAC,GAAC;IACA/C,IAAI,EAAC;MACH+C,SAAS,EAAC;IACZ;EACF,CAAC,CAAC;EACF1D,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE;IAC7BkB,IAAI,EAAE;MACJyC,YAAY,EAAE;IAChB,CAAC;IACDrB,cAAc,EAAE;MACdpC,IAAI,EAAE;QACJC,KAAK,EAAE;MACT;IACF,CAAC;IACD8B,IAAI,EAAE;MACJ/B,IAAI,EAAE;QACJO,eAAe,EAAE;MACnB;IACF;EACF,CAAsB,CAAC;AACzB,CAAC,CAAC","ignoreList":[]}
|
@@ -154,15 +154,13 @@ export default class WmTabheader extends BaseComponent {
|
|
154
154
|
flexGrow: this.styles.header.flexGrow
|
155
155
|
} : null
|
156
156
|
}), /*#__PURE__*/React.createElement(View, {
|
157
|
-
onLayout: this.setHeaderPositon.bind(this, i)
|
158
|
-
accessible: true,
|
159
|
-
accessibilityRole: "header"
|
157
|
+
onLayout: this.setHeaderPositon.bind(this, i)
|
160
158
|
}, /*#__PURE__*/React.createElement(View, {
|
161
159
|
style: [this.styles.header, {
|
162
160
|
flexGrow: undefined
|
163
161
|
}, isSelected ? this.styles.activeHeader : null]
|
164
162
|
}, /*#__PURE__*/React.createElement(WmIcon, {
|
165
|
-
id: this.getTestId('
|
163
|
+
id: this.getTestId(i + 'icon'),
|
166
164
|
styles: this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null),
|
167
165
|
iconclass: header.icon
|
168
166
|
}), /*#__PURE__*/React.createElement(Text, _extends({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","accessible","accessibilityRole","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} accessible={true} accessibilityRole='header'>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId('headericon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -190,9 +190,9 @@ export default class WmWizard extends BaseComponent {
|
|
190
190
|
onPress: this.updateCurrentStep.bind(this, index, false),
|
191
191
|
disabled: index >= this.state.currentStep || !this.state.props.headernavigation,
|
192
192
|
accessibilityRole: "header"
|
193
|
-
}, /*#__PURE__*/React.createElement(View, {
|
193
|
+
}, /*#__PURE__*/React.createElement(View, _extends({
|
194
194
|
style: this.getStepStyle(index)
|
195
|
-
}, index >= this.state.currentStep && !this.state.isDone && /*#__PURE__*/React.createElement(Text, _extends({
|
195
|
+
}, this.getTestPropsForAction('step' + index)), index >= this.state.currentStep && !this.state.isDone && /*#__PURE__*/React.createElement(Text, _extends({
|
196
196
|
style: isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter
|
197
197
|
}, this.getTestPropsForLabel('step' + (index + 1) + '_indicator')), index + 1), (index < this.state.currentStep || this.state.isDone) && /*#__PURE__*/React.createElement(WmIcon, {
|
198
198
|
id: this.getTestId('status'),
|
@@ -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","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","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","length","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","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","activeStepCounter","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","root","_background","wizardHeader","i","wizardBody","children","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 }\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) {\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 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 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={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\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 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.state.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 || !this.state.props.headernavigation}\n accessibilityRole='header'>\n <View style={this.getStepStyle(index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon id={this.getTestId('status')} styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {(isActiveStep) &&\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.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 this.next('skip');\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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","ignoreList":[]}
|
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","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","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","length","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","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","getTestPropsForAction","activeStepCounter","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","root","_background","wizardHeader","i","wizardBody","children","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 }\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) {\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 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 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={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\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 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.state.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 || !this.state.props.headernavigation}\n accessibilityRole='header'>\n <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon id={this.getTestId('status')} styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {(isActiveStep) &&\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.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 this.next('skip');\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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","ignoreList":[]}
|
@@ -226,7 +226,6 @@ export default class WmFormField extends BaseComponent {
|
|
226
226
|
isValid: this.state.isValid,
|
227
227
|
maskchar: props.maskchar,
|
228
228
|
displayformat: props.displayformat,
|
229
|
-
classname: props.classname,
|
230
229
|
invokeEvent: this.invokeEventCallback.bind(this),
|
231
230
|
triggerValidation: this.validateFormField.bind(this),
|
232
231
|
onFieldChange: this.onFieldChangeEvt.bind(this),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","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","classname","invokeEvent","triggerValidation","onFieldChange","formRef","placeholder","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, isNil, 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 if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\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 classname : props.classname,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\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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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","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","placeholder","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, isNil, 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 if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\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 ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\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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","ignoreList":[]}
|
@@ -66,21 +66,22 @@ export class BaseNumberComponent extends BaseComponent {
|
|
66
66
|
}
|
67
67
|
return isValidText;
|
68
68
|
}
|
69
|
-
onChangeText(value, type) {
|
70
|
-
const
|
69
|
+
onChangeText(value, type, shouldFormateToNumber) {
|
70
|
+
const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;
|
71
|
+
const isValidTextOnDevice = this.validateOnDevice(newValue, type);
|
71
72
|
if (!isValidTextOnDevice) {
|
72
73
|
return;
|
73
74
|
}
|
74
|
-
const decimalPlacesInNumber = countDecimalDigits(
|
75
|
+
const decimalPlacesInNumber = countDecimalDigits(newValue);
|
75
76
|
if (this.props.decimalPlaces < decimalPlacesInNumber) {
|
76
77
|
return;
|
77
78
|
}
|
78
79
|
this.updateState({
|
79
|
-
textValue:
|
80
|
+
textValue: newValue
|
80
81
|
}, () => {
|
81
82
|
if (this.state.props.updateon === 'default') {
|
82
|
-
this.validate(
|
83
|
-
this.updateDatavalue(
|
83
|
+
this.validate(newValue);
|
84
|
+
this.updateDatavalue(newValue, null);
|
84
85
|
}
|
85
86
|
});
|
86
87
|
}
|
@@ -173,8 +174,8 @@ export class BaseNumberComponent extends BaseComponent {
|
|
173
174
|
}
|
174
175
|
});
|
175
176
|
}
|
176
|
-
onBlur(event) {
|
177
|
-
let newVal = event.target.value || this.state.textValue;
|
177
|
+
onBlur(event, isDisplayValuePresent) {
|
178
|
+
let newVal = isDisplayValuePresent ? this.state.textValue : event.target.value || this.state.textValue;
|
178
179
|
this.validate(newVal);
|
179
180
|
if (newVal === '' || newVal == undefined) {
|
180
181
|
setTimeout(() => {
|
@@ -315,6 +316,11 @@ export class BaseNumberComponent extends BaseComponent {
|
|
315
316
|
} else {
|
316
317
|
this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);
|
317
318
|
}
|
319
|
+
break;
|
320
|
+
case 'displayValue':
|
321
|
+
this.updateState({
|
322
|
+
displayValue: $new
|
323
|
+
});
|
318
324
|
}
|
319
325
|
}
|
320
326
|
}
|