@wavemaker/app-rn-runtime 11.4.0-next.140423 → 11.4.0-next.140972

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.
@@ -53,6 +53,7 @@ export default class WmAnchor extends BaseComponent {
53
53
  justifyContent: 'center'
54
54
  }
55
55
  }, /*#__PURE__*/React.createElement(Tappable, {
56
+ target: this,
56
57
  styles: [this.styles.root, this.styles.root.width && this.styles.root.height ? {
57
58
  width: '100%',
58
59
  height: '100%'
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","Badge","BaseComponent","BaseComponentState","Tappable","WmIcon","encodeUrl","NavigationServiceConsumer","WmAnchorProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmAnchorState","WmAnchor","constructor","props","onTap","navigationService","e","state","hyperlink","link","encodeurl","openUrl","target","invokeEventCallback","proxy","renderSkeleton","theme","styles","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","icon","text","color","createElement","name","iconclass","badge","badgevalue","undefined","style","entryanimation","animation","justifyContent","flexDirection","iconposition","_background","caption"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TapEvent, Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmAnchorState extends BaseComponentState<WmAnchorProps> {\n\n}\n\nexport default class WmAnchor extends BaseComponent<WmAnchorProps, WmAnchorState, WmAnchorStyles> {\n\n constructor(props: WmAnchorProps) {\n super(props, DEFAULT_CLASS, new WmAnchorProps());\n }\n\n onTap(navigationService: NavigationService, e: TapEvent) {\n const props = this.state.props;\n if (props.hyperlink) {\n const link = props.encodeurl ? encodeUrl(props.hyperlink) : props.hyperlink;\n navigationService.openUrl(link, {\n target: this.state.props.target\n });\n }\n this.invokeEventCallback('onTap', [e, this.proxy]);\n }\n\n public renderSkeleton(props: WmAnchorProps){\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.styles.root.width,\n height: this.props.skeletonheight || this.styles.root.height\n });\n }\n\n renderWidget(props: WmAnchorProps) {\n if (this.styles.icon && this.styles.icon.text) {\n this.styles.icon.text.color = this.styles.text.color;\n }\n const icon = (<WmIcon\n styles={this.styles.icon} name={props.name + '_icon'} iconclass={props.iconclass}></WmIcon>);\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>): null;\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview entryanimation={props.animation} style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}>\n <Tappable styles={[this.styles.root, this.styles.root.width && this.styles.root.height ? { width: '100%', height: '100%'} : null, {flexDirection: props.iconposition === 'top' ? 'column': 'row'}]}\n onTap={props.hyperlink || props.onTap ? (e: TapEvent) => this.onTap(navigationService, e) : undefined}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.caption ? (<Text style={this.styles.text}>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {badge}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAAmBC,QAAQ,QAAQ,mDAAmD;AACtF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,SAAS,QAAQ,sCAAsC;AAChE,SAA4BC,yBAAyB,QAAQ,mDAAmD;AAEhH,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,YAAY,QAAQ,mEAAmE;AAChG,SAASC,cAAc,QAAQ,gCAAgC;AAE/D,OAAO,MAAMC,aAAa,SAAST,kBAAkB,CAAgB;AAIrE,eAAe,MAAMU,QAAQ,SAASX,aAAa,CAA+C;EAEhGY,WAAWA,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;EAClD;EAEAQ,KAAKA,CAACC,iBAAoC,EAAEC,CAAW,EAAE;IACvD,MAAMH,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIA,KAAK,CAACK,SAAS,EAAE;MACnB,MAAMC,IAAI,GAAGN,KAAK,CAACO,SAAS,GAAGhB,SAAS,CAACS,KAAK,CAACK,SAAS,CAAC,GAAGL,KAAK,CAACK,SAAS;MAC3EH,iBAAiB,CAACM,OAAO,CAACF,IAAI,EAAE;QAC9BG,MAAM,EAAE,IAAI,CAACL,KAAK,CAACJ,KAAK,CAACS;MAC3B,CAAC,CAAC;IACJ;IACA,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAE,CAACP,CAAC,EAAE,IAAI,CAACQ,KAAK,CAAC,CAAC;EACpD;EAEOC,cAAcA,CAACZ,KAAoB,EAAC;IACzC,OAAOJ,cAAc,CAAC,IAAI,CAACiB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,EAAE;MACtD,GAAG,IAAI,CAACD,MAAM,CAACE,IAAI;MACnBC,KAAK,EAAE,IAAI,CAACjB,KAAK,CAACkB,aAAa,IAAI,IAAI,CAACJ,MAAM,CAACE,IAAI,CAACC,KAAK;MACzDE,MAAM,EAAE,IAAI,CAACnB,KAAK,CAACoB,cAAc,IAAI,IAAI,CAACN,MAAM,CAACE,IAAI,CAACG;IACxD,CAAC,CAAC;EACJ;EAEAE,YAAYA,CAACrB,KAAoB,EAAE;IACjC,IAAI,IAAI,CAACc,MAAM,CAACQ,IAAI,IAAI,IAAI,CAACR,MAAM,CAACQ,IAAI,CAACC,IAAI,EAAE;MAC7C,IAAI,CAACT,MAAM,CAACQ,IAAI,CAACC,IAAI,CAACC,KAAK,GAAG,IAAI,CAACV,MAAM,CAACS,IAAI,CAACC,KAAK;IACtD;IACA,MAAMF,IAAI,gBAAItC,KAAA,CAAAyC,aAAA,CAACnC,MAAM;MACnBwB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACQ,IAAK;MAACI,IAAI,EAAE1B,KAAK,CAAC0B,IAAI,GAAG,OAAQ;MAACC,SAAS,EAAE3B,KAAK,CAAC2B;IAAU,CAAS,CAAE;IAC9F;IACA,MAAMC,KAAK,GAAG5B,KAAK,CAAC6B,UAAU,IAAIC,SAAS,gBAAI9C,KAAA,CAAAyC,aAAA,CAACvC,KAAK;MAAC6C,KAAK,EAAE,IAAI,CAACjB,MAAM,CAACc;IAAM,GAAE5B,KAAK,CAAC6B,UAAkB,CAAC,GAAG,IAAI;IACjH,oBACE7C,KAAA,CAAAyC,aAAA,CAACjC,yBAAyB,QACtBU,iBAAoC,iBACnClB,KAAA,CAAAyC,aAAA,CAAC9B,YAAY;MAACqC,cAAc,EAAEhC,KAAK,CAACiC,SAAU;MAACF,KAAK,EAAE;QAACd,KAAK,EAAE,IAAI,CAACH,MAAM,CAACE,IAAI,CAACC,KAAK;QAAEE,MAAM,EAAE,IAAI,CAACL,MAAM,CAACE,IAAI,CAACG,MAAM;QAAEe,cAAc,EAAE;MAAQ;IAAE,gBAChJlD,KAAA,CAAAyC,aAAA,CAACpC,QAAQ;MAACyB,MAAM,EAAE,CAAC,IAAI,CAACA,MAAM,CAACE,IAAI,EAAE,IAAI,CAACF,MAAM,CAACE,IAAI,CAACC,KAAK,IAAI,IAAI,CAACH,MAAM,CAACE,IAAI,CAACG,MAAM,GAAG;QAAEF,KAAK,EAAE,MAAM;QAAEE,MAAM,EAAE;MAAM,CAAC,GAAG,IAAI,EAAE;QAACgB,aAAa,EAAEnC,KAAK,CAACoC,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAE;MAAK,CAAC,CAAE;MACjMnC,KAAK,EAAED,KAAK,CAACK,SAAS,IAAIL,KAAK,CAACC,KAAK,GAAIE,CAAW,IAAK,IAAI,CAACF,KAAK,CAACC,iBAAiB,EAAEC,CAAC,CAAC,GAAG2B;IAAU,GACrG,IAAI,CAACO,WAAW,EAChBrC,KAAK,CAACoC,YAAY,KAAK,KAAK,IAAId,IAAI,EACpCtB,KAAK,CAACoC,YAAY,KAAK,MAAM,IAAId,IAAI,EACrCtB,KAAK,CAACsC,OAAO,gBAAItD,KAAA,CAAAyC,aAAA,CAACxC,IAAI;MAAC8C,KAAK,EAAE,IAAI,CAACjB,MAAM,CAACS;IAAK,GAAEvB,KAAK,CAACsC,OAAc,CAAC,GAAI,IAAI,EAC9EtC,KAAK,CAACoC,YAAY,KAAK,OAAO,IAAId,IAAI,EACtCM,KACO,CACE,CAES,CAAC;EAEhC;AACF"}
1
+ {"version":3,"names":["React","Text","Badge","BaseComponent","BaseComponentState","Tappable","WmIcon","encodeUrl","NavigationServiceConsumer","WmAnchorProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmAnchorState","WmAnchor","constructor","props","onTap","navigationService","e","state","hyperlink","link","encodeurl","openUrl","target","invokeEventCallback","proxy","renderSkeleton","theme","styles","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","icon","text","color","createElement","name","iconclass","badge","badgevalue","undefined","style","entryanimation","animation","justifyContent","flexDirection","iconposition","_background","caption"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TapEvent, Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmAnchorState extends BaseComponentState<WmAnchorProps> {\n\n}\n\nexport default class WmAnchor extends BaseComponent<WmAnchorProps, WmAnchorState, WmAnchorStyles> {\n\n constructor(props: WmAnchorProps) {\n super(props, DEFAULT_CLASS, new WmAnchorProps());\n }\n\n onTap(navigationService: NavigationService, e: TapEvent) {\n const props = this.state.props;\n if (props.hyperlink) {\n const link = props.encodeurl ? encodeUrl(props.hyperlink) : props.hyperlink;\n navigationService.openUrl(link, {\n target: this.state.props.target\n });\n }\n this.invokeEventCallback('onTap', [e, this.proxy]);\n }\n\n public renderSkeleton(props: WmAnchorProps){\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.styles.root.width,\n height: this.props.skeletonheight || this.styles.root.height\n });\n }\n\n renderWidget(props: WmAnchorProps) {\n if (this.styles.icon && this.styles.icon.text) {\n this.styles.icon.text.color = this.styles.text.color;\n }\n const icon = (<WmIcon\n styles={this.styles.icon} name={props.name + '_icon'} iconclass={props.iconclass}></WmIcon>);\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>): null;\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview entryanimation={props.animation} style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}>\n <Tappable target={this} styles={[this.styles.root, this.styles.root.width && this.styles.root.height ? { width: '100%', height: '100%'} : null, {flexDirection: props.iconposition === 'top' ? 'column': 'row'}]}\n onTap={props.hyperlink || props.onTap ? (e: TapEvent) => this.onTap(navigationService, e) : undefined}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.caption ? (<Text style={this.styles.text}>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {badge}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
4
  import React from 'react';
5
- import { Text, View } from 'react-native';
5
+ import { Text, TouchableOpacity, View } from 'react-native';
6
6
  import { Badge } from 'react-native-paper';
7
7
  import { isArray } from 'lodash';
8
8
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
@@ -64,10 +64,10 @@ export default class WmAccordion extends BaseComponent {
64
64
  return /*#__PURE__*/React.createElement(View, {
65
65
  style: this.styles.pane,
66
66
  key: item.props.name
67
- }, /*#__PURE__*/React.createElement(View, {
67
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
68
68
  key: 'accordionpane_' + (index + 1),
69
69
  style: [this.styles.header, index === 0 ? this.styles.firstHeader : null, index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader : null, isExpanded ? this.styles.activeHeader : {}],
70
- onTouchEnd: this.toggle.bind(this, index + 1)
70
+ onPress: this.toggle.bind(this, index + 1)
71
71
  }, this.expandCollapseIcon(item, false, showIconOnLeft, true, isExpanded), item.props.iconclass ? /*#__PURE__*/React.createElement(WmIcon, {
72
72
  styles: this.styles.icon,
73
73
  name: item.props.name + '_icon',
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","Badge","isArray","BaseComponent","BaseComponentState","WmAccordionProps","DEFAULT_CLASS","WmIcon","isDefined","WmAccordionState","constructor","arguments","_defineProperty","WmAccordion","props","addAccordionPane","accordionPane","i","accordionPanes","findIndex","t","name","newIndex","expandCollapseIcon","item","showBadge","length","undefined","showIcon","useChevron","isExpanded","widgetProps","badge","badgevalue","createElement","style","styles","activeBadge","badgetype","iconclass","flexDirection","theme","mergeStyle","icon","activeIcon","renderAccordionpane","index","accordionpanes","showIconOnLeft","leftToggleIcon","root","width","state","pane","key","header","firstHeader","lastHeader","activeHeader","onTouchEnd","toggle","bind","flex","justifyContent","text","heading","activeHeaderTitle","title","description","subheading","expandedId","collapseId","closeothers","lastExpandedIndex","collapsedPane","collapse","Promise","resolve","then","expandedPane","expand","setState","invokeEventCallback","proxy","componentDidMount","defaultpaneindex","renderWidget","children","_background","map"],"sources":["accordion.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { isArray } from 'lodash';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAccordionProps from './accordion.props';\nimport { DEFAULT_CLASS, WmAccordionStyles } from './accordion.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAccordionpane from './accordionpane/accordionpane.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAccordionState extends BaseComponentState<WmAccordionProps> {\n lastExpandedIndex = -1;\n isExpanded = [] as boolean[];\n}\n\nexport default class WmAccordion extends BaseComponent<WmAccordionProps, WmAccordionState, WmAccordionStyles> {\n public accordionPanes = [] as WmAccordionpane[];\n private newIndex = 0;\n\n constructor(props: WmAccordionProps) {\n super(props, DEFAULT_CLASS, new WmAccordionProps(), new WmAccordionState());\n }\n\n addAccordionPane(accordionPane: WmAccordionpane) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionPane.props.name);\n if (i >= 0) {\n this.accordionPanes[i] = accordionPane;\n } else {\n this.accordionPanes[this.newIndex++] = accordionPane;\n }\n }\n\n expandCollapseIcon(item: any, showBadge = true, showIcon = true, useChevron = true, isExpanded = false) {\n const widgetProps = item.props;\n //@ts-ignore\n const badge = showBadge && widgetProps.badgevalue != undefined ? (\n <Badge style={[\n this.styles.badge,\n isExpanded ? this.styles.activeBadge: null,\n this.styles[widgetProps.badgetype || 'default']]}>\n {widgetProps.badgevalue}\n </Badge>): null;\n let iconclass = null;\n if (useChevron) {\n iconclass = isExpanded ? 'wi wi-chevron-down' : 'wi wi-chevron-up';\n } else {\n iconclass = isExpanded ? 'wi wi-minus' : 'wi wi-plus';\n }\n return (<View style={{flexDirection: 'row'}}>\n {badge}\n {showIcon ? (\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.icon, isExpanded ? this.styles.activeIcon : null)}\n name={'expand_collapse_icon'}\n iconclass={iconclass}></WmIcon>): null}\n </View>);\n }\n\n renderAccordionpane(item: any, index: any, accordionpanes: any[] = []) {\n const showIconOnLeft = this.styles.leftToggleIcon.root.width !== undefined;\n const isExpanded = this.state.isExpanded[index];\n return (\n <View style={this.styles.pane} key={item.props.name}>\n <View key={'accordionpane_' + (index + 1)}\n style={[this.styles.header,\n index === 0 ? this.styles.firstHeader: null,\n index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader: null,\n isExpanded ? this.styles.activeHeader : {}]}\n onTouchEnd={this.toggle.bind(this, index + 1)}>\n {this.expandCollapseIcon(item, false, showIconOnLeft, true, isExpanded)}\n {item.props.iconclass ? <WmIcon styles={this.styles.icon} name={item.props.name + '_icon'} iconclass={item.props.iconclass}></WmIcon>: null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading,\n isExpanded ? this.styles.activeHeaderTitle : {}]}>\n {isDefined(item.props.title) ? item.props.title : 'Title'}\n </Text>\n {item.props.description ? \n (<Text style={this.styles.subheading}>{item.props.description}</Text>) : null }\n </View>\n {this.expandCollapseIcon(item, true, !showIconOnLeft, true, isExpanded)}\n </View>\n {item}\n </View>\n );\n }\n\n toggle(expandedId: number) {\n let collapseId = this.state.isExpanded[expandedId - 1] ? expandedId: -1;\n expandedId = this.state.isExpanded[expandedId - 1] ? -1 : expandedId;\n if (collapseId < 0 && this.state.props.closeothers) {\n collapseId = this.state.lastExpandedIndex;\n }\n const collapsedPane = this.accordionPanes[collapseId -1];\n collapsedPane?.collapse();\n Promise.resolve().then(() => {\n const expandedPane = expandedId ? this.accordionPanes[expandedId - 1]: null;\n expandedPane?.expand();\n this.setState((state) => {\n if (collapseId > 0 && collapsedPane) {\n state.isExpanded[collapseId - 1] = false;\n }\n if (expandedId > 0 && expandedPane) {\n state.isExpanded[expandedId - 1] = true;\n }\n return {\n lastExpandedIndex: expandedId,\n isExpanded: [...state.isExpanded]\n };\n }, () => {\n this.invokeEventCallback('onChange', [{},\n this.proxy,\n expandedId - 1,\n collapseId ? collapseId - 1 : null,\n expandedPane && expandedPane.props.name,\n collapsedPane && collapsedPane.props.name]);\n });\n }, () => {});\n }\n\n public componentDidMount(): void {\n super.componentDidMount();\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n\n renderWidget(props: WmAccordionProps) {\n const accordionpanes = props.children;\n const expandedId = this.state.lastExpandedIndex || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n {accordionpanes\n ? isArray(accordionpanes) && accordionpanes.length\n ? accordionpanes.map((item: any, index: any) => this.renderAccordionpane(item, index, accordionpanes))\n : this.renderAccordionpane(accordionpanes, 0)\n : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","TouchableOpacity","View","Badge","isArray","BaseComponent","BaseComponentState","WmAccordionProps","DEFAULT_CLASS","WmIcon","isDefined","WmAccordionState","constructor","arguments","_defineProperty","WmAccordion","props","addAccordionPane","accordionPane","i","accordionPanes","findIndex","t","name","newIndex","expandCollapseIcon","item","showBadge","length","undefined","showIcon","useChevron","isExpanded","widgetProps","badge","badgevalue","createElement","style","styles","activeBadge","badgetype","iconclass","flexDirection","theme","mergeStyle","icon","activeIcon","renderAccordionpane","index","accordionpanes","showIconOnLeft","leftToggleIcon","root","width","state","pane","key","header","firstHeader","lastHeader","activeHeader","onPress","toggle","bind","flex","justifyContent","text","heading","activeHeaderTitle","title","description","subheading","expandedId","collapseId","closeothers","lastExpandedIndex","collapsedPane","collapse","Promise","resolve","then","expandedPane","expand","setState","invokeEventCallback","proxy","componentDidMount","defaultpaneindex","renderWidget","children","_background","map"],"sources":["accordion.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity, View } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { isArray } from 'lodash';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAccordionProps from './accordion.props';\nimport { DEFAULT_CLASS, WmAccordionStyles } from './accordion.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAccordionpane from './accordionpane/accordionpane.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAccordionState extends BaseComponentState<WmAccordionProps> {\n lastExpandedIndex = -1;\n isExpanded = [] as boolean[];\n}\n\nexport default class WmAccordion extends BaseComponent<WmAccordionProps, WmAccordionState, WmAccordionStyles> {\n public accordionPanes = [] as WmAccordionpane[];\n private newIndex = 0;\n\n constructor(props: WmAccordionProps) {\n super(props, DEFAULT_CLASS, new WmAccordionProps(), new WmAccordionState());\n }\n\n addAccordionPane(accordionPane: WmAccordionpane) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionPane.props.name);\n if (i >= 0) {\n this.accordionPanes[i] = accordionPane;\n } else {\n this.accordionPanes[this.newIndex++] = accordionPane;\n }\n }\n\n expandCollapseIcon(item: any, showBadge = true, showIcon = true, useChevron = true, isExpanded = false) {\n const widgetProps = item.props;\n //@ts-ignore\n const badge = showBadge && widgetProps.badgevalue != undefined ? (\n <Badge style={[\n this.styles.badge,\n isExpanded ? this.styles.activeBadge: null,\n this.styles[widgetProps.badgetype || 'default']]}>\n {widgetProps.badgevalue}\n </Badge>): null;\n let iconclass = null;\n if (useChevron) {\n iconclass = isExpanded ? 'wi wi-chevron-down' : 'wi wi-chevron-up';\n } else {\n iconclass = isExpanded ? 'wi wi-minus' : 'wi wi-plus';\n }\n return (<View style={{flexDirection: 'row'}}>\n {badge}\n {showIcon ? (\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.icon, isExpanded ? this.styles.activeIcon : null)}\n name={'expand_collapse_icon'}\n iconclass={iconclass}></WmIcon>): null}\n </View>);\n }\n\n renderAccordionpane(item: any, index: any, accordionpanes: any[] = []) {\n const showIconOnLeft = this.styles.leftToggleIcon.root.width !== undefined;\n const isExpanded = this.state.isExpanded[index];\n return (\n <View style={this.styles.pane} key={item.props.name}>\n <TouchableOpacity key={'accordionpane_' + (index + 1)}\n style={[this.styles.header,\n index === 0 ? this.styles.firstHeader: null,\n index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader: null,\n isExpanded ? this.styles.activeHeader : {}]}\n onPress={this.toggle.bind(this, index + 1)}>\n {this.expandCollapseIcon(item, false, showIconOnLeft, true, isExpanded)}\n {item.props.iconclass ? <WmIcon styles={this.styles.icon} name={item.props.name + '_icon'} iconclass={item.props.iconclass}></WmIcon>: null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading,\n isExpanded ? this.styles.activeHeaderTitle : {}]}>\n {isDefined(item.props.title) ? item.props.title : 'Title'}\n </Text>\n {item.props.description ? \n (<Text style={this.styles.subheading}>{item.props.description}</Text>) : null }\n </View>\n {this.expandCollapseIcon(item, true, !showIconOnLeft, true, isExpanded)}\n </TouchableOpacity>\n {item}\n </View>\n );\n }\n\n toggle(expandedId: number) {\n let collapseId = this.state.isExpanded[expandedId - 1] ? expandedId: -1;\n expandedId = this.state.isExpanded[expandedId - 1] ? -1 : expandedId;\n if (collapseId < 0 && this.state.props.closeothers) {\n collapseId = this.state.lastExpandedIndex;\n }\n const collapsedPane = this.accordionPanes[collapseId -1];\n collapsedPane?.collapse();\n Promise.resolve().then(() => {\n const expandedPane = expandedId ? this.accordionPanes[expandedId - 1]: null;\n expandedPane?.expand();\n this.setState((state) => {\n if (collapseId > 0 && collapsedPane) {\n state.isExpanded[collapseId - 1] = false;\n }\n if (expandedId > 0 && expandedPane) {\n state.isExpanded[expandedId - 1] = true;\n }\n return {\n lastExpandedIndex: expandedId,\n isExpanded: [...state.isExpanded]\n };\n }, () => {\n this.invokeEventCallback('onChange', [{},\n this.proxy,\n expandedId - 1,\n collapseId ? collapseId - 1 : null,\n expandedPane && expandedPane.props.name,\n collapsedPane && collapsedPane.props.name]);\n });\n }, () => {});\n }\n\n public componentDidMount(): void {\n super.componentDidMount();\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n\n renderWidget(props: WmAccordionProps) {\n const accordionpanes = props.children;\n const expandedId = this.state.lastExpandedIndex || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n {accordionpanes\n ? isArray(accordionpanes) && accordionpanes.length\n ? accordionpanes.map((item: any, index: any) => this.renderAccordionpane(item, index, accordionpanes))\n : this.renderAccordionpane(accordionpanes, 0)\n : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -2,11 +2,12 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
4
  import React from 'react';
5
- import { SectionList, Text, View, TouchableWithoutFeedback } from 'react-native';
5
+ import { SectionList, Text, View } from 'react-native';
6
6
  import { FlatList } from 'react-native-gesture-handler';
7
7
  import { isArray } from 'lodash-es';
8
8
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
9
9
  import { getGroupedData, isDefined } from "@wavemaker/app-rn-runtime/core/utils";
10
+ import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
10
11
  import WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';
11
12
  import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
12
13
  import WmListProps from './list.props';
@@ -52,6 +53,7 @@ export default class WmList extends BaseComponent {
52
53
  return selectedItem === $item;
53
54
  }
54
55
  onSelect($item, $index) {
56
+ let triggerTapEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
55
57
  const props = this.state.props;
56
58
  let selectedItem = null;
57
59
  if (!props.disableitem($item, $index)) {
@@ -82,6 +84,7 @@ export default class WmList extends BaseComponent {
82
84
  selectedindex: $index
83
85
  }, () => {
84
86
  this.invokeEventCallback('onSelect', [this.proxy, $item]);
87
+ triggerTapEvent && this.invokeEventCallback('onTap', [null, this.proxy]);
85
88
  });
86
89
  }
87
90
  }
@@ -186,8 +189,10 @@ export default class WmList extends BaseComponent {
186
189
  return 'list_item_' + this.keyExtractor.getKey(item, true);
187
190
  }
188
191
  renderItem(item, index, props) {
189
- return /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
190
- onPress: () => this.onSelect(item, index)
192
+ return /*#__PURE__*/React.createElement(Tappable, {
193
+ onTap: () => this.onSelect(item, index, true),
194
+ onLongTap: () => this.invokeEventCallback('onLongtap', [null, this.proxy]),
195
+ onDoubleTap: () => this.invokeEventCallback('onDoubletap', [null, this.proxy])
191
196
  }, /*#__PURE__*/React.createElement(View, {
192
197
  style: [this.styles.item, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
193
198
  }, props.renderItem(item, index, this), this.isSelected(item) ? /*#__PURE__*/React.createElement(WmIcon, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","SectionList","Text","View","TouchableWithoutFeedback","FlatList","isArray","BaseComponent","BaseComponentState","getGroupedData","isDefined","WmLabel","WmIcon","WmListProps","DEFAULT_CLASS","WmListState","constructor","arguments","_defineProperty","DefaultKeyExtractor","Map","getKey","o","create","length","undefined","k","store","get","Date","now","nextKey","set","clear","WmList","props","isSelected","$item","selectedItem","state","selecteditem","indexOf","onSelect","$index","disableitem","multiselect","index","selectionlimit","push","invokeEventCallback","splice","selectedItemWidgets","itemWidgets","updateState","selectedindex","proxy","selectFirstItem","initialized","dataset","groupby","deselectAll","setGroupData","items","dataItems","groupedData","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","data","direction","key","_this$keyExtractor2","selectfirstitem","pop","componentDidMount","_props$dataset","setTimeout","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","item","generateItemKey","itemkey","_showSkeleton","renderItem","createElement","onPress","style","styles","itemclass","iconclass","selectedIcon","renderHeader","title","groupHeading","subheading","heading","flex","flexDirection","listIcon","caption","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingIcon","loadingicon","loadingdatamsg","renderWithFlatList","root","map","v","i","marginBottom","horizontal","ListEmptyComponent","itemInfo","getSectionListData","renderWithSectionList","onEndReached","_ref","distanceFromEnd","setState","currentPage","contentContainerStyle","onEndReachedThreshold","sections","renderSectionHeader","_ref2","section","renderSectionFooter","loadingdata","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { SectionList, Text, View, TouchableWithoutFeedback } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport { isArray } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage: number = 1;\n}\n\nclass DefaultKeyExtractor {\n store = new Map<any, string>();\n nextKey = 1;\n\n getKey(o : any, create = false) {\n let k = this.store.get(o);\n if (!k && create) {\n k = `key:${Date.now()}:${this.nextKey++}`;\n this.store.set(o, k)\n }\n return k;\n }\n\n clear() {\n this.store = new Map();\n }\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private onSelect($item: any, $index: number | string) {\n const props = this.state.props;\n let selectedItem = null as any;\n if (!props.disableitem($item, $index)) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n }\n } else {\n if (props.selecteditem === $item) {\n selectedItem = null;\n } else {\n selectedItem = $item;\n }\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback('onSelect', [this.proxy, $item]);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n const data = isArray($new) ? $new : (isDefined($new) ? [$new] : []);\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: '',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ? \n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n return (\n <TouchableWithoutFeedback onPress={() => this.onSelect(item, index)}>\n <View style={[\n this.styles.item,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n { props.renderItem(item, index, this)}\n { this.isSelected(item) ? (\n <WmIcon iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </View>\n </TouchableWithoutFeedback>\n );\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading}>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return (<WmIcon\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root}>\n {this.state.groupedData ? this.state.groupedData.map((v: any, i) => ((\n <View style={{marginBottom: 16}} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n data={v.data || []}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </FlatList>\n </View>\n ))) : null\n }\n </View>);\n }\n\n private getSectionListData() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\n }];\n } else if (this.state.groupedData[0] && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n onEndReached={({distanceFromEnd}) => {\n this.setState({ currentPage: this.state.currentPage + 1 } as WmListState);\n this.invokeEventCallback('onEndReached', [null, this]);\n }}\n contentContainerStyle={this.styles.root}\n onEndReachedThreshold={0.3}\n sections={this.getSectionListData()}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View>\n {this._background}\n {(isHorizontal) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","SectionList","Text","View","FlatList","isArray","BaseComponent","BaseComponentState","getGroupedData","isDefined","Tappable","WmLabel","WmIcon","WmListProps","DEFAULT_CLASS","WmListState","constructor","arguments","_defineProperty","DefaultKeyExtractor","Map","getKey","o","create","length","undefined","k","store","get","Date","now","nextKey","set","clear","WmList","props","isSelected","$item","selectedItem","state","selecteditem","indexOf","onSelect","$index","triggerTapEvent","disableitem","multiselect","index","selectionlimit","push","invokeEventCallback","splice","selectedItemWidgets","itemWidgets","updateState","selectedindex","proxy","selectFirstItem","initialized","dataset","groupby","deselectAll","setGroupData","items","dataItems","groupedData","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","data","direction","key","_this$keyExtractor2","selectfirstitem","pop","componentDidMount","_props$dataset","setTimeout","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","item","generateItemKey","itemkey","_showSkeleton","renderItem","createElement","onTap","onLongTap","onDoubleTap","style","styles","itemclass","iconclass","selectedIcon","renderHeader","title","groupHeading","subheading","heading","flex","flexDirection","listIcon","caption","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingIcon","loadingicon","loadingdatamsg","renderWithFlatList","root","map","v","i","marginBottom","horizontal","ListEmptyComponent","itemInfo","getSectionListData","renderWithSectionList","onEndReached","_ref","distanceFromEnd","setState","currentPage","contentContainerStyle","onEndReachedThreshold","sections","renderSectionHeader","_ref2","section","renderSectionFooter","loadingdata","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { SectionList, Text, View, TouchableWithoutFeedback } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport { isArray } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage: number = 1;\n}\n\nclass DefaultKeyExtractor {\n store = new Map<any, string>();\n nextKey = 1;\n\n getKey(o : any, create = false) {\n let k = this.store.get(o);\n if (!k && create) {\n k = `key:${Date.now()}:${this.nextKey++}`;\n this.store.set(o, k)\n }\n return k;\n }\n\n clear() {\n this.store = new Map();\n }\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private onSelect($item: any, $index: number | string, triggerTapEvent = false) {\n const props = this.state.props;\n let selectedItem = null as any;\n if (!props.disableitem($item, $index)) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n }\n } else {\n if (props.selecteditem === $item) {\n selectedItem = null;\n } else {\n selectedItem = $item;\n }\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback('onSelect', [this.proxy, $item]);\n triggerTapEvent && this.invokeEventCallback('onTap', [null, this.proxy]);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n const data = isArray($new) ? $new : (isDefined($new) ? [$new] : []);\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: '',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ? \n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n return (\n <Tappable\n onTap={() => this.onSelect(item, index, true)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}>\n <View style={[\n this.styles.item,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n { props.renderItem(item, index, this)}\n { this.isSelected(item) ? (\n <WmIcon iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </View>\n </Tappable>\n );\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading}>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return (<WmIcon\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root}>\n {this.state.groupedData ? this.state.groupedData.map((v: any, i) => ((\n <View style={{marginBottom: 16}} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n data={v.data || []}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </FlatList>\n </View>\n ))) : null\n }\n </View>);\n }\n\n private getSectionListData() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\n }];\n } else if (this.state.groupedData[0] && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n onEndReached={({distanceFromEnd}) => {\n this.setState({ currentPage: this.state.currentPage + 1 } as WmListState);\n this.invokeEventCallback('onEndReached', [null, this]);\n }}\n contentContainerStyle={this.styles.root}\n onEndReachedThreshold={0.3}\n sections={this.getSectionListData()}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View>\n {this._background}\n {(isHorizontal) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
4
4
  import React from 'react';
5
5
  import { View } from 'react-native';
6
6
  import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
7
+ import { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';
7
8
  import { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';
8
9
  import { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';
9
10
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
@@ -64,7 +65,9 @@ export default class WmDialog extends BaseComponent {
64
65
  }
65
66
  renderWidget(props) {
66
67
  return /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
67
- modalService.showModal(this.prepareModalOptions( /*#__PURE__*/React.createElement(ThemeProvider, {
68
+ modalService.showModal(this.prepareModalOptions( /*#__PURE__*/React.createElement(AssetProvider, {
69
+ value: this.loadAsset
70
+ }, /*#__PURE__*/React.createElement(ThemeProvider, {
68
71
  value: this.theme
69
72
  }, /*#__PURE__*/React.createElement(View, {
70
73
  style: this.styles.root
@@ -81,7 +84,7 @@ export default class WmDialog extends BaseComponent {
81
84
  iconclass: "wm-sl-l sl-close",
82
85
  onTap: () => this.close(),
83
86
  styles: this.styles.closeBtn
84
- })) : null, props.children)), modalService));
87
+ })) : null, props.children))), modalService));
85
88
  return null;
86
89
  });
87
90
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","ModalConsumer","HideMode","ThemeProvider","BaseComponent","BaseComponentState","WmIcon","WmButton","WmDialogProps","DEFAULT_CLASS","WmDialogState","constructor","arguments","_defineProperty","WmDialog","props","hideMode","DONOT_ADD_TO_DOM","state","modalOptions","onClose","Promise","res","updateState","show","invokeEventCallback","onOpen","open","close","_close","prepareModalOptions","content","modalService","o","name","modalStyle","styles","modal","contentStyle","isModal","centered","animation","hideModal","renderWidget","createElement","showModal","value","theme","style","root","_background","showheader","header","headerLabel","caption","title","iconclass","icon","closable","onTap","closeBtn","children"],"sources":["dialog.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\n\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nimport WmDialogProps from './dialog.props';\nimport { DEFAULT_CLASS, WmDialogStyles } from './dialog.styles';\n\nexport class WmDialogState extends BaseComponentState<WmDialogProps> {\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmDialog extends BaseComponent<WmDialogProps, WmDialogState, WmDialogStyles> {\n\n private _close: Function = () => {};\n\n constructor(props: WmDialogProps) {\n super(props, DEFAULT_CLASS, new WmDialogProps(), new WmDialogState());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.state.modalOptions.onClose = () => {\n return new Promise<void>((res) => {\n this.updateState({\n props: {show: false}\n } as WmDialogState, () => {\n this.invokeEventCallback('onClose', [null, this]);\n res();\n });\n });\n };\n this.state.modalOptions.onOpen = () => {\n this.invokeEventCallback('onOpened', [null, this]);\n };\n }\n\n open() {\n if (!this.state.props.show) {\n this.updateState({\n props:{show: true}\n } as WmDialogState);\n }\n }\n\n close() {\n this._close();\n }\n\n prepareModalOptions(content: React.ReactNode, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.name = this.state.props.name;\n o.modalStyle = this.styles.modal;\n o.content = content;\n o.contentStyle = this.styles.content;\n o.isModal = !!this.state.props.modal;\n o.centered = true;\n o.animation = this.state.props.animation;\n this._close = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmDialogProps) {\n return (<ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme}>\n <View style={this.styles.root}>\n {this._background}\n {props.showheader ? (<View style={this.styles.header}>\n <View style={this.styles.headerLabel}>\n <WmIcon caption={props.title} iconclass={props.iconclass} styles={this.styles.icon}></WmIcon>\n </View>\n {props.closable && <WmButton show={props.closable} iconclass=\"wm-sl-l sl-close\" onTap={() => this.close()} styles={this.styles.closeBtn}></WmButton>}\n </View>) : null}\n {props.children}\n </View>\n </ThemeProvider>\n ), modalService));\n return null;\n }}\n </ModalConsumer>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","ModalConsumer","AssetProvider","HideMode","ThemeProvider","BaseComponent","BaseComponentState","WmIcon","WmButton","WmDialogProps","DEFAULT_CLASS","WmDialogState","constructor","arguments","_defineProperty","WmDialog","props","hideMode","DONOT_ADD_TO_DOM","state","modalOptions","onClose","Promise","res","updateState","show","invokeEventCallback","onOpen","open","close","_close","prepareModalOptions","content","modalService","o","name","modalStyle","styles","modal","contentStyle","isModal","centered","animation","hideModal","renderWidget","createElement","showModal","value","loadAsset","theme","style","root","_background","showheader","header","headerLabel","caption","title","iconclass","icon","closable","onTap","closeBtn","children"],"sources":["dialog.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\n\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nimport WmDialogProps from './dialog.props';\nimport { DEFAULT_CLASS, WmDialogStyles } from './dialog.styles';\n\nexport class WmDialogState extends BaseComponentState<WmDialogProps> {\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmDialog extends BaseComponent<WmDialogProps, WmDialogState, WmDialogStyles> {\n\n private _close: Function = () => {};\n\n constructor(props: WmDialogProps) {\n super(props, DEFAULT_CLASS, new WmDialogProps(), new WmDialogState());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.state.modalOptions.onClose = () => {\n return new Promise<void>((res) => {\n this.updateState({\n props: {show: false}\n } as WmDialogState, () => {\n this.invokeEventCallback('onClose', [null, this]);\n res();\n });\n });\n };\n this.state.modalOptions.onOpen = () => {\n this.invokeEventCallback('onOpened', [null, this]);\n };\n }\n\n open() {\n if (!this.state.props.show) {\n this.updateState({\n props:{show: true}\n } as WmDialogState);\n }\n }\n\n close() {\n this._close();\n }\n\n prepareModalOptions(content: React.ReactNode, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.name = this.state.props.name;\n o.modalStyle = this.styles.modal;\n o.content = content;\n o.contentStyle = this.styles.content;\n o.isModal = !!this.state.props.modal;\n o.centered = true;\n o.animation = this.state.props.animation;\n this._close = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmDialogProps) {\n return (<ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <AssetProvider value={this.loadAsset}>\n <ThemeProvider value={this.theme}>\n <View style={this.styles.root}>\n {this._background}\n {props.showheader ? (<View style={this.styles.header}>\n <View style={this.styles.headerLabel}>\n <WmIcon caption={props.title} iconclass={props.iconclass} styles={this.styles.icon}></WmIcon>\n </View>\n {props.closable && <WmButton show={props.closable} iconclass=\"wm-sl-l sl-close\" onTap={() => this.close()} styles={this.styles.closeBtn}></WmButton>}\n </View>) : null}\n {props.children}\n </View>\n </ThemeProvider>\n </AssetProvider>\n ), modalService));\n return null;\n }}\n </ModalConsumer>);\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.4.0-next.140423",
3
+ "version": "11.4.0-next.140972",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "^6.0.16",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.4.0-next.140423",
52
+ "@wavemaker/variables": "11.4.0-next.140972",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -127,7 +127,7 @@
127
127
  "typescript": "^4.9.3",
128
128
  "victory-native": "^36.6.11",
129
129
  "yargs": "^16.2.0",
130
- "@wavemaker/variables": "11.4.0-next.140423"
130
+ "@wavemaker/variables": "11.4.0-next.140972"
131
131
  },
132
132
  "jest": {
133
133
  "preset": "react-native",
@@ -96,6 +96,8 @@ export default class BasePage extends BaseFragment {
96
96
  } else {
97
97
  this.props.destroyMe();
98
98
  }
99
+ } else {
100
+ this.props.navigation.closeDrawer();
99
101
  }
100
102
  return Promise.resolve();
101
103
  }
@@ -1 +1 @@
1
- {"version":3,"names":["clone","isEqual","React","WmPage","NavigationServiceProvider","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","onComponentInit","w","targetWidget","cache","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","arguments","length","undefined","drawerContent","drawerType","hasDrawer","setTimeout","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","then","onContentReady","onPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","_params","navigate","onDetach","destroyMe","Promise","resolve","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","map","p","forEach","openBrowser","isCurrentPage","link","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.onPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide(); \n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params, this.pageParams)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n }\n return Promise.resolve();\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isCurrentPage(link: string) {\n const pageName = this.pageName;\n return [pageName, '#' + pageName, '#/' + pageName].includes(link)\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["clone","isEqual","React","WmPage","NavigationServiceProvider","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","onComponentInit","w","targetWidget","cache","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","arguments","length","undefined","drawerContent","drawerType","hasDrawer","setTimeout","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","then","onContentReady","onPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","_params","navigate","onDetach","destroyMe","closeDrawer","Promise","resolve","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","map","p","forEach","openBrowser","isCurrentPage","link","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.onPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide(); \n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params, this.pageParams)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isCurrentPage(link: string) {\n const pageName = this.pageName;\n return [pageName, '#' + pageName, '#/' + pageName].includes(link)\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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"}
@@ -27,15 +27,20 @@ export class ServiceVariable extends _ServiceVariable {
27
27
  serviceInfo: config.getServiceInfo(),
28
28
  httpClientService: httpService,
29
29
  onSuccess: (context, args) => {
30
+ this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);
31
+ this.notify(VariableEvents.SUCCESS, [args.variable, args.data, args.options]);
30
32
  return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);
31
33
  },
32
34
  onError: (context, args) => {
35
+ this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);
36
+ this.notify(VariableEvents.ERROR, [args.variable, args.data, args.options]);
33
37
  return config.onError && config.onError(args.variable, args.data, args.options);
34
38
  },
35
39
  onCanUpdate: (context, args) => {
36
40
  return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);
37
41
  },
38
42
  onBeforeUpdate: (context, args) => {
43
+ this.notify(VariableEvents.BEFORE_INVOKE, [args.variable, args.inputData, args.options]);
39
44
  return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);
40
45
  },
41
46
  onResult: (context, args) => {
@@ -1 +1 @@
1
- {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","variable","data","options","onError","onCanUpdate","onBeforeUpdate","inputData","onResult","onBeforeDatasetReady","_defineProperty","get","subscribe","AFTER_INVOKE","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","notify","AFTER_INVOKE","variable","data","options","SUCCESS","onError","ERROR","onCanUpdate","onBeforeUpdate","BEFORE_INVOKE","inputData","onResult","onBeforeDatasetReady","_defineProperty","get","subscribe","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);\n this.notify(VariableEvents.SUCCESS, [args.variable, args.data, args.options]);\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);\n this.notify(VariableEvents.ERROR, [args.variable, args.data, args.options]);\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n this.notify(VariableEvents.BEFORE_INVOKE, [args.variable, args.inputData, args.options]);\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":";;;AAAA,SAAyBA,cAAc,QAAQ,iBAAiB;AAChE,SAASC,OAAO,QAAkB,QAAQ;AAE1C,SAASC,QAAQ,QAAQ,sCAAsC;AAC/D,SAASC,eAAe,IAAIC,gBAAgB,QAAQ,0DAA0D;AAC9G,OAAOC,WAAW,MAAM,kDAAkD;AAC1E,OAAOC,QAAQ,MAAM,yCAAyC;AAAC,IAe1DC,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA,EAAtBA,sBAAsB;AAK3B,OAAO,MAAMJ,eAAe,SAASC,gBAAgB,CAAC;EAKpDI,WAAWA,CAAQC,MAA6B,EAAE;IAChD,MAAMC,cAAc,GAAG;MACrBC,IAAI,EAAEF,MAAM,CAACE,IAAI;MACjBC,OAAO,EAAEH,MAAM,CAACI,aAAa,CAAC,CAAC;MAC/BC,WAAW,EAAE,CAAC,CAAC;MACfC,MAAM,EAAEN,MAAM,CAACM,MAAM;MACrBC,OAAO,EAAEP,MAAM,CAACO,OAAO;MACvBC,WAAW,EAAER,MAAM,CAACQ,WAAW;MAC/BC,UAAU,EAAET,MAAM,CAACS,UAAU;MAC7BC,QAAQ,EAAEV,MAAM,CAACU,QAAQ;MACzBC,SAAS,EAAEX,MAAM,CAACW,SAAS;MAC3BC,WAAW,EAAEZ,MAAM,CAACY,WAAW;MAC/BC,WAAW,EAAEb,MAAM,CAACc,cAAc,CAAC,CAAC;MACpCC,iBAAiB,EAAEnB,WAAW;MAC9BoB,SAAS,EAAEA,CAACC,OAAY,EAAEC,IAAS,KAAK;QACtC,IAAI,CAACC,MAAM,CAAC5B,cAAc,CAAC6B,YAAY,EAAE,CAACF,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC,CAAC;QAClF,IAAI,CAACJ,MAAM,CAAC5B,cAAc,CAACiC,OAAO,EAAE,CAACN,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC,CAAC;QAC7E,OAAOvB,MAAM,CAACgB,SAAS,IAAIhB,MAAM,CAACgB,SAAS,CAACE,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC;MACrF,CAAC;MACDE,OAAO,EAAEA,CAACR,OAAY,EAAEC,IAAS,KAAK;QACpC,IAAI,CAACC,MAAM,CAAC5B,cAAc,CAAC6B,YAAY,EAAE,CAACF,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC,CAAC;QAClF,IAAI,CAACJ,MAAM,CAAC5B,cAAc,CAACmC,KAAK,EAAE,CAACR,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC,CAAC;QAC3E,OAAOvB,MAAM,CAACyB,OAAO,IAAIzB,MAAM,CAACyB,OAAO,CAACP,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC;MACjF,CAAC;MACDI,WAAW,EAAEA,CAACV,OAAY,EAAEC,IAAS,KAAK;QACxC,OAAOlB,MAAM,CAAC2B,WAAW,IAAI3B,MAAM,CAAC2B,WAAW,CAACT,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC;MACzF,CAAC;MACDK,cAAc,EAAEA,CAACX,OAAY,EAAEC,IAAS,KAAK;QAC3C,IAAI,CAACC,MAAM,CAAC5B,cAAc,CAACsC,aAAa,EAAE,CAACX,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACY,SAAS,EAAEZ,IAAI,CAACK,OAAO,CAAC,CAAC;QACxF,OAAOvB,MAAM,CAAC4B,cAAc,IAAI5B,MAAM,CAAC4B,cAAc,CAACV,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACY,SAAS,EAAEZ,IAAI,CAACK,OAAO,CAAC;MACpG,CAAC;MACDQ,QAAQ,EAAEA,CAACd,OAAY,EAAEC,IAAS,KAAK;QACrC,OAAOlB,MAAM,CAAC+B,QAAQ,IAAI/B,MAAM,CAAC+B,QAAQ,CAACb,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC;MACnF,CAAC;MACDS,oBAAoB,EAAEA,CAACf,OAAY,EAAEC,IAAS,KAAK;QACjD,OAAOlB,MAAM,CAACgC,oBAAoB,IAAIhC,MAAM,CAACgC,oBAAoB,CAACd,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACI,IAAI,EAAEJ,IAAI,CAACK,OAAO,CAAC;MAC3G;IACF,CAAC;IACD,KAAK,CAACtB,cAAc,CAAC;IAAC,KAtCLD,MAA6B,GAA7BA,MAA6B;IAAAiC,eAAA;IAAAA,eAAA,iBAHlC,CAAC,CAAC;IAAAA,eAAA,oBACGpC,QAAQ,CAACqC,GAAG,CAAY,YAAY,CAAC;IAyCtD,IAAI,CAACC,SAAS,CAAC5C,cAAc,CAAC6B,YAAY,EAAE,MAAM;MAC9C,IAAI,CAACf,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;EACJ;EAEA+B,mBAAmBA,CAAA,EAAG;IACpB,MAAMC,IAAI,GAAG,IAAI,CAACC,MAAM;IACxB,MAAMC,MAAM,GAAG,IAAI,CAACvC,MAAM,CAACI,aAAa,CAAC,CAAC;IAC1C,IAAI,CAACZ,OAAO,CAAC6C,IAAI,EAAEE,MAAM,CAAC,EAAE;MAC1B,IAAI,CAACC,MAAM,CAACD,MAAM,CAAC;IACrB;IACA,OAAOE,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAC9B;EAEOC,MAAMA,CAACC,WAAmB,EAAE;IACjC;IACA;IACA;IACA,OAAOH,OAAO,CAACI,MAAM,CAAC,IAAI,CAAC;EAC7B;EAEAC,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,SAAS,CAACC,OAAO,CAAC,KAAK,CAAC;EAC/B;EAEAR,MAAMA,CAACjB,OAAc,EAAEP,SAAoB,EAAES,OAAkB,EAAE;IAC/D,IAAI,CAACa,MAAM,GAAG,IAAI,CAACtC,MAAM,CAACI,aAAa,CAAC,CAAC;IACzC,IAAI,CAACkC,MAAM,GAAG7C,QAAQ,CAAC,CAAC,CAAC,EAAS,IAAI,CAAC6C,MAAM,EAAE,IAAI,CAACjC,WAAW,CAAC;IAChE,IAAIkB,OAAO,EAAE;MACX,IAAI,CAACe,MAAM,GAAG7C,QAAQ,CAAC,CAAC,CAAC,EAAS,IAAI,CAAC6C,MAAM,EAAEf,OAAO,CAAC0B,WAAW,GAAG1B,OAAO,CAAC0B,WAAW,GAAG1B,OAAO,CAAC;IACrG;IACAA,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;IACvBA,OAAO,CAAC0B,WAAW,GAAG,IAAI,CAACX,MAAM;IAC/B;IACF;IACA,IAAI,CAACzB,WAAW,GAAG,IAAI,CAACb,MAAM,CAACc,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrBqC,OAAO,CAACC,KAAK,CAAE,gCAA+B,IAAI,CAACjD,IAAK,aAAY,CAAC;IACvE;IACA,OAAO,KAAK,CAACsC,MAAM,CAACjB,OAAO,EAAEP,SAAS,EAAES,OAAO,CAAC;EAClD;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;AACF"}