@wavemaker/app-rn-runtime 11.7.0-rc.5562 → 11.7.0-rc.5570

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.
Files changed (25) hide show
  1. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  2. app-rn-runtime/components/container/container.component.js +3 -1
  3. app-rn-runtime/components/container/container.component.js.map +1 -1
  4. app-rn-runtime/components/container/panel/panel.component.js +1 -1
  5. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  6. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  7. app-rn-runtime/components/data/list/list.component.js +25 -18
  8. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  9. app-rn-runtime/components/data/list/list.styles.js +0 -2
  10. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  11. app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -0
  12. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  13. app-rn-runtime/components/navigation/navbar/navbar.props.js.map +1 -1
  14. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  15. app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
  16. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  17. app-rn-runtime/core/base.component.js +21 -15
  18. app-rn-runtime/core/base.component.js.map +1 -1
  19. app-rn-runtime/core/event-notifier.js +13 -4
  20. app-rn-runtime/core/event-notifier.js.map +1 -1
  21. app-rn-runtime/core/tappable.component.js +75 -39
  22. app-rn-runtime/core/tappable.component.js.map +1 -1
  23. app-rn-runtime/package.json +3 -3
  24. app-rn-runtime/runtime/base-partial.component.js +10 -5
  25. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmNavItemState","constructor","arguments","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","_extends","id","getTestId","NAV","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","root","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { TapEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: TapEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = (\n <WmAnchor\n id={this.getTestId('navlink')}\n {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}\n styles={this.styles.navAnchorItem}\n caption={getDisplayLabel(props.item.label)}\n hyperlink={props.item.link}\n badgevalue={props.item.badge}\n iconclass={props.item.icon}\n onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}\n ></WmAnchor>\n );\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n id={this.getTestId('navlink')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)} {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'}></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmNavItemState","constructor","arguments","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","_extends","id","getTestId","NAV","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","root","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { SyntheticEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: SyntheticEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = (\n <WmAnchor\n id={this.getTestId('navlink')}\n {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}\n styles={this.styles.navAnchorItem}\n caption={getDisplayLabel(props.item.label)}\n hyperlink={props.item.link}\n badgevalue={props.item.badge}\n iconclass={props.item.icon}\n onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}\n ></WmAnchor>\n );\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n id={this.getTestId('navlink')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)} {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'}></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmNavItemProps","constructor","arguments","_defineProperty","$event","target","$item","label","undefined"],"sources":["navitem.props.ts"],"sourcesContent":["import {BaseComponent, BaseProps} from '@wavemaker/app-rn-runtime/core/base.component';\nimport {NavigationDataItem} from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport {TapEvent} from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmNavItemProps extends BaseProps {\n children?: any;\n caption?: string;\n item: any = [];\n view: 'default' | 'dropdown' | 'anchor' = 'default';\n onSelect? = ($event: TapEvent, target: any, $item: NavigationDataItem) => {};\n getDisplayExpression? = (label: string) => null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"link\";\n}\n"],"mappings":";;;AAAA,SAAuBA,SAAS,QAAO,+CAA+C;AAKtF,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,eAGxC,EAAE;IAAAA,eAAA,eAC4B,SAAS;IAAAA,eAAA,mBACvC,CAACC,MAAgB,EAAEC,MAAW,EAAEC,KAAyB,KAAK,CAAC,CAAC;IAAAH,eAAA,+BACnDI,KAAa,IAAK,IAAW;IAAAJ,eAAA,6BACxBK,SAAS;IAAAL,eAAA,eACvBK,SAAS;IAAAL,eAAA,4BACe,MAAM;EAAA;AAChD"}
1
+ {"version":3,"names":["BaseProps","WmNavItemProps","constructor","arguments","_defineProperty","$event","target","$item","label","undefined"],"sources":["navitem.props.ts"],"sourcesContent":["import {BaseComponent, BaseProps} from '@wavemaker/app-rn-runtime/core/base.component';\nimport {NavigationDataItem} from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport {SyntheticEvent} from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmNavItemProps extends BaseProps {\n children?: any;\n caption?: string;\n item: any = [];\n view: 'default' | 'dropdown' | 'anchor' = 'default';\n onSelect? = ($event: SyntheticEvent, target: any, $item: NavigationDataItem) => {};\n getDisplayExpression? = (label: string) => null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"link\";\n}\n"],"mappings":";;;AAAA,SAAuBA,SAAS,QAAO,+CAA+C;AAKtF,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,eAGxC,EAAE;IAAAA,eAAA,eAC4B,SAAS;IAAAA,eAAA,mBACvC,CAACC,MAAsB,EAAEC,MAAW,EAAEC,KAAyB,KAAK,CAAC,CAAC;IAAAH,eAAA,+BACzDI,KAAa,IAAK,IAAW;IAAAJ,eAAA,6BACxBK,SAAS;IAAAL,eAAA,eACvBK,SAAS;IAAAL,eAAA,4BACe,MAAM;EAAA;AAChD"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","_extends","style","root","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showPopover","showModal","popover","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","_extends","style","root","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showPopover","showModal","popover","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: SyntheticEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -21,6 +21,7 @@ import { AssetConsumer } from './asset.provider';
21
21
  import { FixedView } from './fixed-view.component';
22
22
  import { TextIdPrefixConsumer } from './testid.provider';
23
23
  import { isScreenReaderEnabled } from './accessibility';
24
+ import { TappableContext } from './tappable.component';
24
25
  export const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');
25
26
  export const ParentContext = /*#__PURE__*/React.createContext(null);
26
27
  export class BaseComponentState {
@@ -79,6 +80,7 @@ export class BaseComponent extends React.Component {
79
80
  _defineProperty(this, "i18nService", injector.I18nService.get());
80
81
  _defineProperty(this, "testIdPrefix", '');
81
82
  _defineProperty(this, "_showView", true);
83
+ _defineProperty(this, "closestTappable", void 0);
82
84
  this.state = defaultState || {};
83
85
  this.notifier.name = this.props.name || '';
84
86
  this.propertyProvider = new PropsProvider(assign({
@@ -149,7 +151,8 @@ export class BaseComponent extends React.Component {
149
151
  return this.notifier.subscribe(event, fn);
150
152
  }
151
153
  notify(event, args) {
152
- return this.notifier.notify(event, args);
154
+ let emitToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
155
+ return this.notifier.notify(event, args, emitToParent);
153
156
  }
154
157
  get isRTL() {
155
158
  return this.i18nService.isRTLLocale();
@@ -392,20 +395,23 @@ export class BaseComponent extends React.Component {
392
395
  return this.getTestProps(suffix || 'l');
393
396
  }
394
397
  getDependenciesFromContext(fn) {
395
- return /*#__PURE__*/React.createElement(TextIdPrefixConsumer, null, testIdPrefix => {
396
- this.testIdPrefix = testIdPrefix || '';
397
- return /*#__PURE__*/React.createElement(AssetConsumer, null, loadAsset => {
398
- this.loadAsset = loadAsset;
399
- return /*#__PURE__*/React.createElement(ParentContext.Consumer, null, parent => {
400
- var _this$parent;
401
- this.setParent(parent);
402
- this._showSkeleton = ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent._showSkeleton) || !!this.state.props.showskeleton;
403
- return /*#__PURE__*/React.createElement(ParentContext.Provider, {
404
- value: this
405
- }, /*#__PURE__*/React.createElement(ThemeConsumer, null, theme => {
406
- this.theme = theme || BASE_THEME;
407
- return fn();
408
- }));
398
+ return /*#__PURE__*/React.createElement(TappableContext.Consumer, null, tappable => {
399
+ this.closestTappable = tappable;
400
+ return /*#__PURE__*/React.createElement(TextIdPrefixConsumer, null, testIdPrefix => {
401
+ this.testIdPrefix = testIdPrefix || '';
402
+ return /*#__PURE__*/React.createElement(AssetConsumer, null, loadAsset => {
403
+ this.loadAsset = loadAsset;
404
+ return /*#__PURE__*/React.createElement(ParentContext.Consumer, null, parent => {
405
+ var _this$parent;
406
+ this.setParent(parent);
407
+ this._showSkeleton = ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent._showSkeleton) || !!this.state.props.showskeleton;
408
+ return /*#__PURE__*/React.createElement(ParentContext.Provider, {
409
+ value: this
410
+ }, /*#__PURE__*/React.createElement(ThemeConsumer, null, theme => {
411
+ this.theme = theme || BASE_THEME;
412
+ return fn();
413
+ }));
414
+ });
409
415
  });
410
416
  });
411
417
  });
@@ -1 +1 @@
1
- {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","arguments","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","args","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","loadAsset","Consumer","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProperties } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProperties<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n deferload?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[]) {\n return this.notifier.notify(event, args);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProperties<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show);\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.props.styles,\n {\n root: this.styleOverrides,\n text: this.styleOverrides\n });\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","arguments","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","args","emitToParent","length","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProperties } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProperties<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n deferload?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProperties<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show);\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.props.styles,\n {\n root: this.styleOverrides,\n text: this.styleOverrides\n });\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ var _class;
1
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
@@ -7,7 +8,7 @@ export default class EventNotifier {
7
8
  _defineProperty(this, "name", '');
8
9
  _defineProperty(this, "id", i++);
9
10
  _defineProperty(this, "listeners", {});
10
- _defineProperty(this, "parent", null);
11
+ _defineProperty(this, "parent", EventNotifier.ROOT);
11
12
  _defineProperty(this, "children", []);
12
13
  }
13
14
  setParent(parent) {
@@ -18,6 +19,7 @@ export default class EventNotifier {
18
19
  }
19
20
  }
20
21
  notify(event, args) {
22
+ let emitToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
21
23
  let propagate = true;
22
24
  if (this.listeners[event]) {
23
25
  propagate = !this.listeners[event].find(l => {
@@ -30,9 +32,14 @@ export default class EventNotifier {
30
32
  });
31
33
  }
32
34
  if (propagate) {
33
- this.children.forEach(c => {
34
- c.notify(event, args);
35
- });
35
+ if (emitToParent) {
36
+ var _this$parent;
37
+ (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.notify(event, args, true);
38
+ } else {
39
+ this.children.forEach(c => {
40
+ c.notify(event, args);
41
+ });
42
+ }
36
43
  }
37
44
  }
38
45
  subscribe(event, fn) {
@@ -57,4 +64,6 @@ export default class EventNotifier {
57
64
  this.removeFromParent();
58
65
  }
59
66
  }
67
+ _class = EventNotifier;
68
+ _defineProperty(EventNotifier, "ROOT", new _class());
60
69
  //# sourceMappingURL=event-notifier.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["i","EventNotifier","constructor","_defineProperty","setParent","parent","removeFromParent","children","push","notify","event","args","propagate","listeners","find","l","apply","e","console","error","forEach","c","subscribe","fn","eventListeners","findIndex","fni","splice","indexOf","destroy"],"sources":["event-notifier.ts"],"sourcesContent":["let i = 1;\nexport default class EventNotifier {\n public name = '';\n public id = i++;\n private listeners = {} as any;\n private parent: EventNotifier = null as any;\n private children: EventNotifier[] = [];\n\n setParent(parent: EventNotifier) {\n if (parent !== this.parent) {\n this.removeFromParent();\n this.parent = parent;\n this.parent.children.push(this);\n }\n }\n\n public notify(event: string, args: any[]) {\n let propagate = true;\n if (this.listeners[event]) {\n propagate = !this.listeners[event].find((l: Function) => {\n try {\n return (l && l.apply(null, args)) === false;\n } catch(e) {\n console.error(e);\n }\n return true;\n });\n }\n if (propagate) {\n this.children.forEach((c) => {\n c.notify(event, args);\n });\n }\n }\n\n public subscribe(event: string, fn: Function) {\n this.listeners[event] = this.listeners[event] || [];\n this.listeners[event].push(fn);\n return () => {\n const eventListeners = this.listeners[event];\n const i = eventListeners.findIndex((fni: Function) => fni === fn);\n eventListeners.splice(i, 1);\n };\n }\n\n private removeFromParent() {\n if (this.parent) {\n const i = this.parent.children.indexOf(this) || -1;\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n this.parent = null as any;\n }\n }\n\n public destroy() {\n this.removeFromParent();\n }\n}"],"mappings":";;;AAAA,IAAIA,CAAC,GAAG,CAAC;AACT,eAAe,MAAMC,aAAa,CAAC;EAAAC,YAAA;IAAAC,eAAA,eACjB,EAAE;IAAAA,eAAA,aACJH,CAAC,EAAE;IAAAG,eAAA,oBACK,CAAC,CAAC;IAAAA,eAAA,iBACU,IAAI;IAAAA,eAAA,mBACA,EAAE;EAAA;EAEtCC,SAASA,CAACC,MAAqB,EAAE;IAC7B,IAAIA,MAAM,KAAK,IAAI,CAACA,MAAM,EAAE;MACxB,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACD,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACA,MAAM,CAACE,QAAQ,CAACC,IAAI,CAAC,IAAI,CAAC;IACnC;EACJ;EAEOC,MAAMA,CAACC,KAAa,EAAEC,IAAW,EAAE;IACtC,IAAIC,SAAS,GAAG,IAAI;IACpB,IAAI,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC,EAAE;MACvBE,SAAS,GAAG,CAAC,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC,CAACI,IAAI,CAAEC,CAAW,IAAK;QACrD,IAAI;UACA,OAAO,CAACA,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,IAAI,EAAEL,IAAI,CAAC,MAAM,KAAK;QAC/C,CAAC,CAAC,OAAMM,CAAC,EAAE;UACPC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;QACpB;QACA,OAAO,IAAI;MACf,CAAC,CAAC;IACN;IACA,IAAIL,SAAS,EAAE;MACX,IAAI,CAACL,QAAQ,CAACa,OAAO,CAAEC,CAAC,IAAK;QACzBA,CAAC,CAACZ,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC;MACzB,CAAC,CAAC;IACN;EACJ;EAEOW,SAASA,CAACZ,KAAa,EAAEa,EAAY,EAAE;IAC1C,IAAI,CAACV,SAAS,CAACH,KAAK,CAAC,GAAG,IAAI,CAACG,SAAS,CAACH,KAAK,CAAC,IAAI,EAAE;IACnD,IAAI,CAACG,SAAS,CAACH,KAAK,CAAC,CAACF,IAAI,CAACe,EAAE,CAAC;IAC9B,OAAO,MAAM;MACT,MAAMC,cAAc,GAAG,IAAI,CAACX,SAAS,CAACH,KAAK,CAAC;MAC5C,MAAMV,CAAC,GAAGwB,cAAc,CAACC,SAAS,CAAEC,GAAa,IAAKA,GAAG,KAAKH,EAAE,CAAC;MACjEC,cAAc,CAACG,MAAM,CAAC3B,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;EACL;EAEQM,gBAAgBA,CAAA,EAAG;IACvB,IAAI,IAAI,CAACD,MAAM,EAAE;MACb,MAAML,CAAC,GAAG,IAAI,CAACK,MAAM,CAACE,QAAQ,CAACqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAClD,IAAI5B,CAAC,IAAI,CAAC,EAAE;QACR,IAAI,CAACK,MAAM,CAACE,QAAQ,CAACoB,MAAM,CAAC3B,CAAC,EAAE,CAAC,CAAC;MACrC;MACA,IAAI,CAACK,MAAM,GAAG,IAAW;IAC7B;EACJ;EAEOwB,OAAOA,CAAA,EAAG;IACb,IAAI,CAACvB,gBAAgB,CAAC,CAAC;EAC3B;AACJ"}
1
+ {"version":3,"names":["i","EventNotifier","constructor","_defineProperty","ROOT","setParent","parent","removeFromParent","children","push","notify","event","args","emitToParent","arguments","length","undefined","propagate","listeners","find","l","apply","e","console","error","_this$parent","forEach","c","subscribe","fn","eventListeners","findIndex","fni","splice","indexOf","destroy","_class"],"sources":["event-notifier.ts"],"sourcesContent":["let i = 1;\nexport default class EventNotifier {\n public static ROOT = new EventNotifier();\n public name = '';\n public id = i++;\n private listeners = {} as any;\n private parent: EventNotifier = EventNotifier.ROOT;\n private children: EventNotifier[] = [];\n\n setParent(parent: EventNotifier) {\n if (parent !== this.parent) {\n this.removeFromParent();\n this.parent = parent;\n this.parent.children.push(this);\n }\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n let propagate = true;\n if (this.listeners[event]) {\n propagate = !this.listeners[event].find((l: Function) => {\n try {\n return (l && l.apply(null, args)) === false;\n } catch(e) {\n console.error(e);\n }\n return true;\n });\n }\n if (propagate) {\n if (emitToParent) {\n this.parent?.notify(event, args, true);\n } else {\n this.children.forEach((c) => {\n c.notify(event, args);\n });\n }\n }\n }\n\n public subscribe(event: string, fn: Function) {\n this.listeners[event] = this.listeners[event] || [];\n this.listeners[event].push(fn);\n return () => {\n const eventListeners = this.listeners[event];\n const i = eventListeners.findIndex((fni: Function) => fni === fn);\n eventListeners.splice(i, 1);\n };\n }\n\n private removeFromParent() {\n if (this.parent) {\n const i = this.parent.children.indexOf(this) || -1;\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n this.parent = null as any;\n }\n }\n\n public destroy() {\n this.removeFromParent();\n }\n}"],"mappings":"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"}