@wavemaker/app-rn-runtime 11.7.0-dev.1 → 11.7.0-dev.2

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 (43) hide show
  1. package/components/basic/anchor/anchor.component.js +3 -1
  2. package/components/basic/anchor/anchor.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.props.js +1 -0
  4. package/components/basic/anchor/anchor.props.js.map +1 -1
  5. package/components/container/container.component.js +1 -10
  6. package/components/container/container.component.js.map +1 -1
  7. package/components/container/container.props.js +0 -1
  8. package/components/container/container.props.js.map +1 -1
  9. package/components/container/tabs/tabpane/tabpane.component.js +6 -12
  10. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  11. package/components/container/tabs/tabpane/tabpane.props.js +0 -1
  12. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  13. package/components/data/form/form-field/form-field.component.js +9 -0
  14. package/components/data/form/form-field/form-field.component.js.map +1 -1
  15. package/components/data/form/form-field/form-field.props.js +1 -0
  16. package/components/data/form/form-field/form-field.props.js.map +1 -1
  17. package/components/data/form/form.component.js +26 -4
  18. package/components/data/form/form.component.js.map +1 -1
  19. package/components/data/form/form.props.js +3 -0
  20. package/components/data/form/form.props.js.map +1 -1
  21. package/components/data/list/list.component.js +16 -9
  22. package/components/data/list/list.component.js.map +1 -1
  23. package/components/data/list/list.props.js +2 -0
  24. package/components/data/list/list.props.js.map +1 -1
  25. package/components/input/checkboxset/checkboxset.component.js +5 -2
  26. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  27. package/components/input/slider/slider.component.js +3 -2
  28. package/components/input/slider/slider.component.js.map +1 -1
  29. package/components/input/toggle/toggle.component.js +3 -2
  30. package/components/input/toggle/toggle.component.js.map +1 -1
  31. package/core/base.component.js +12 -3
  32. package/core/base.component.js.map +1 -1
  33. package/core/event-notifier.js +12 -2
  34. package/core/event-notifier.js.map +1 -1
  35. package/core/formatters.js +14 -1
  36. package/core/formatters.js.map +1 -1
  37. package/package.json +2 -2
  38. package/runtime/App.js +5 -3
  39. package/runtime/App.js.map +1 -1
  40. package/runtime/base-fragment.component.js +5 -1
  41. package/runtime/base-fragment.component.js.map +1 -1
  42. package/styles/background.component.js +11 -6
  43. package/styles/background.component.js.map +1 -1
@@ -52,6 +52,7 @@ export class BaseProps extends StyleProps {
52
52
  _defineProperty(this, "listener", null);
53
53
  _defineProperty(this, "showindevice", null);
54
54
  _defineProperty(this, "showskeleton", false);
55
+ _defineProperty(this, "deferload", false);
55
56
  }
56
57
  }
57
58
  export class BaseComponent extends React.Component {
@@ -77,7 +78,9 @@ export class BaseComponent extends React.Component {
77
78
  _defineProperty(this, "loadAsset", null);
78
79
  _defineProperty(this, "i18nService", injector.I18nService.get());
79
80
  _defineProperty(this, "testIdPrefix", '');
81
+ _defineProperty(this, "_showView", true);
80
82
  this.state = defaultState || {};
83
+ this.notifier.name = this.props.name || '';
81
84
  this.propertyProvider = new PropsProvider(assign({
82
85
  show: true
83
86
  }, defaultProps), assign({}, markupProps), (name, $new, $old) => {
@@ -99,6 +102,8 @@ export class BaseComponent extends React.Component {
99
102
  });
100
103
  //@ts-ignore
101
104
  this.state.props = this.propertyProvider.get();
105
+ //@ts-ignore
106
+ this._showView = !this.props.deferload;
102
107
  this.propertyProvider.check();
103
108
  //@ts-ignore
104
109
  this.proxy = new Proxy(this, {
@@ -263,6 +268,9 @@ export class BaseComponent extends React.Component {
263
268
  }
264
269
  }
265
270
  }
271
+ showView() {
272
+ return this.isVisible();
273
+ }
266
274
  isVisible() {
267
275
  const show = this.state.props.show;
268
276
  return show !== false && show !== 'false' && show !== '0' && !isNil(show);
@@ -404,13 +412,14 @@ export class BaseComponent extends React.Component {
404
412
  }
405
413
  render() {
406
414
  const props = this.state.props;
407
- if (this.state.hide || !this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM) {
408
- return null;
409
- }
410
415
  this.isFixed = false;
411
416
  const selectedLocale = this.i18nService.getSelectedLocale();
412
417
  return this.getDependenciesFromContext(() => {
413
418
  WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);
419
+ this._showView = this._showView || this.showView();
420
+ if (this.state.hide || !this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM || !this._showView) {
421
+ return null;
422
+ }
414
423
  const classname = this.getStyleClassName();
415
424
  this.styles = this.theme.mergeStyle(this.getDefaultStyles(), {
416
425
  text: this.theme.getStyle('app-' + selectedLocale)
@@ -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","propertyProvider","show","name","$new","$old","debug","props","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","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","notifier","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","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","hideMode","DONOT_ADD_TO_DOM","selectedLocale","getSelectedLocale","info","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}\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\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\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 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 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 if (this.state.hide || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)) {\n return null;\n }\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 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","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,14 +1,18 @@
1
1
  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
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
+ let i = 1;
4
5
  export default class EventNotifier {
5
6
  constructor() {
7
+ _defineProperty(this, "name", '');
8
+ _defineProperty(this, "id", i++);
6
9
  _defineProperty(this, "listeners", {});
7
10
  _defineProperty(this, "parent", null);
8
11
  _defineProperty(this, "children", []);
9
12
  }
10
13
  setParent(parent) {
11
14
  if (parent !== this.parent) {
15
+ this.removeFromParent();
12
16
  this.parent = parent;
13
17
  this.parent.children.push(this);
14
18
  }
@@ -40,11 +44,17 @@ export default class EventNotifier {
40
44
  eventListeners.splice(i, 1);
41
45
  };
42
46
  }
43
- destroy() {
47
+ removeFromParent() {
44
48
  if (this.parent) {
45
49
  const i = this.parent.children.indexOf(this) || -1;
46
- this.parent.children.splice(i, 1);
50
+ if (i >= 0) {
51
+ this.parent.children.splice(i, 1);
52
+ }
53
+ this.parent = null;
47
54
  }
48
55
  }
56
+ destroy() {
57
+ this.removeFromParent();
58
+ }
49
59
  }
50
60
  //# sourceMappingURL=event-notifier.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EventNotifier","constructor","_defineProperty","setParent","parent","children","push","notify","event","args","propagate","listeners","find","l","apply","e","console","error","forEach","c","subscribe","fn","eventListeners","i","findIndex","fni","splice","destroy","indexOf"],"sources":["event-notifier.ts"],"sourcesContent":["export default class EventNotifier {\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.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 public destroy() {\n if (this.parent) {\n const i = this.parent.children.indexOf(this) || -1;\n this.parent.children.splice(i, 1);\n }\n }\n}"],"mappings":";;;AAAA,eAAe,MAAMA,aAAa,CAAC;EAAAC,YAAA;IAAAC,eAAA,oBACX,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,CAACA,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACA,MAAM,CAACC,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,MAAMe,CAAC,GAAGD,cAAc,CAACE,SAAS,CAAEC,GAAa,IAAKA,GAAG,KAAKJ,EAAE,CAAC;MACjEC,cAAc,CAACI,MAAM,CAACH,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;EACL;EAEOI,OAAOA,CAAA,EAAG;IACb,IAAI,IAAI,CAACvB,MAAM,EAAE;MACb,MAAMmB,CAAC,GAAG,IAAI,CAACnB,MAAM,CAACC,QAAQ,CAACuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAClD,IAAI,CAACxB,MAAM,CAACC,QAAQ,CAACqB,MAAM,CAACH,CAAC,EAAE,CAAC,CAAC;IACrC;EACJ;AACJ"}
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"}
@@ -57,5 +57,18 @@ export class StringToNumberFormatter {
57
57
  return parseInt(input);
58
58
  }
59
59
  }
60
- export default new Map([['numberToString', new NumberToStringFormatter()], ['prefix', new PrependFormatter()], ['suffix', new AppendFormatter()], ['stringToNumber', new StringToNumberFormatter()], ['timeFromNow', new TimeFromNowFormatter()], ['toDate', new DateToStringFormatter()], ['toCurrency', new CurrencyFormatter()]]);
60
+ const createFormatter = (key, defaultFormatter) => {
61
+ return {
62
+ format: function (input) {
63
+ for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
64
+ params[_key - 1] = arguments[_key];
65
+ }
66
+ const output = defaultFormatter.format(input, ...params);
67
+ const customFormatter = formatters.get(`custom.${key}`);
68
+ return customFormatter ? customFormatter.format(output, ...params) : output;
69
+ }
70
+ };
71
+ };
72
+ const formatters = new Map([['numberToString', createFormatter('numberToString', new NumberToStringFormatter())], ['prefix', createFormatter('prefix', new PrependFormatter())], ['suffix', createFormatter('suffix', new AppendFormatter())], ['stringToNumber', createFormatter('stringToNumber', new StringToNumberFormatter())], ['timeFromNow', createFormatter('timeFromNow', new TimeFromNowFormatter())], ['toDate', createFormatter('toDate', new DateToStringFormatter())], ['toCurrency', createFormatter('toCurrency', new CurrencyFormatter())]]);
73
+ export default formatters;
61
74
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","getTime","replace","_moment","isValid","toString","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","get","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n\n public format(input: Date, format: string): string {\n if (!input) {\n return '';\n }\n if (format === 'timestamp') {\n return input.getTime() + '';\n }\n format = format.replace(/d/g, 'D');\n const _moment = moment(input, [\n \"M/D/YYYY\", \"M-D-YYYY\", \"M.D.YYYY\",\n \"M/DD/YYYY\", \"M-DD-YYYY\", \"M.DD.YYYY\",\n \"YYYY/M/D\", \"YYYY-M-D\", \"YYYY.M.D\",\n \"MM/D/YYYY\", \"MM-D-YYYY\", \"MM.D.YYYY\",\n \"M/D/YY\", \"M-D-YY\", \"M.D.YY\", \"D MMM YYYY\",\n \"MM/DD/YYYY\", \"MM-DD-YYYY\", \"MM.DD.YYYY\",\n \"YYYY/MM/DD\", \"YYYY-MM-DD\", \"YYYY.MM.DD\",\n \"MM/DD/YY\", \"MM-DD-YY\", \"MM.DD.YY\", \"DD MMM YYYY\"\n ], true);\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nexport default new Map<string, Formatter>([\n ['numberToString', new NumberToStringFormatter()],\n ['prefix', new PrependFormatter()],\n ['suffix', new AppendFormatter()],\n ['stringToNumber', new StringToNumberFormatter()],\n ['timeFromNow', new TimeFromNowFormatter()],\n ['toDate', new DateToStringFormatter()],\n ['toCurrency', new CurrencyFormatter()]\n]);\n"],"mappings":"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"}
1
+ {"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","getTime","replace","_moment","isValid","toString","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","get","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","createFormatter","key","defaultFormatter","_len","arguments","length","params","Array","_key","output","customFormatter","formatters","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n\n public format(input: Date, format: string): string {\n if (!input) {\n return '';\n }\n if (format === 'timestamp') {\n return input.getTime() + '';\n }\n format = format.replace(/d/g, 'D');\n const _moment = moment(input, [\n \"M/D/YYYY\", \"M-D-YYYY\", \"M.D.YYYY\",\n \"M/DD/YYYY\", \"M-DD-YYYY\", \"M.DD.YYYY\",\n \"YYYY/M/D\", \"YYYY-M-D\", \"YYYY.M.D\",\n \"MM/D/YYYY\", \"MM-D-YYYY\", \"MM.D.YYYY\",\n \"M/D/YY\", \"M-D-YY\", \"M.D.YY\", \"D MMM YYYY\",\n \"MM/DD/YYYY\", \"MM-DD-YYYY\", \"MM.DD.YYYY\",\n \"YYYY/MM/DD\", \"YYYY-MM-DD\", \"YYYY.MM.DD\",\n \"MM/DD/YY\", \"MM-DD-YY\", \"MM.DD.YY\", \"DD MMM YYYY\"\n ], true);\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nconst createFormatter = (key: string, defaultFormatter: Formatter) => {\n return {\n format: (input: any, ...params: any) => {\n const output = defaultFormatter.format(input, ...params);\n const customFormatter = formatters.get(`custom.${key}`);\n return customFormatter ? customFormatter.format(output, ...params): output;\n }\n };\n};\n\nconst formatters = new Map<string, Formatter>([\n ['numberToString', createFormatter('numberToString' , new NumberToStringFormatter())],\n ['prefix', createFormatter('prefix', new PrependFormatter())],\n ['suffix', createFormatter('suffix', new AppendFormatter())],\n ['stringToNumber', createFormatter('stringToNumber',new StringToNumberFormatter())],\n ['timeFromNow', createFormatter('timeFromNow', new TimeFromNowFormatter())],\n ['toDate', createFormatter('toDate', new DateToStringFormatter())],\n ['toCurrency', createFormatter('toCurrency', new CurrencyFormatter())]\n]);\n\nexport default formatters;"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.7.0-dev.1",
3
+ "version": "11.7.0-dev.2",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.7.0-dev.1",
52
+ "@wavemaker/variables": "11.7.0-dev.2",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
package/runtime/App.js CHANGED
@@ -442,7 +442,9 @@ export default class BaseApp extends React.Component {
442
442
  style: {
443
443
  flex: 1
444
444
  }
445
- }, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
445
+ }, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(ThemeProvider, {
446
+ value: _this2.appConfig.theme
447
+ }, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
446
448
  behavior: Platform.OS === "ios" ? "padding" : undefined,
447
449
  style: {
448
450
  flex: 1
@@ -456,9 +458,9 @@ export default class BaseApp extends React.Component {
456
458
  hideDrawer: ((_this2$appConfig$draw = _this2.appConfig.drawer) === null || _this2$appConfig$draw === void 0 ? void 0 : _this2$appConfig$draw.getContent()) === null,
457
459
  drawerContent: () => _this2.appConfig.drawer ? _this2.getProviders(_this2.appConfig.drawer.getContent()) : null,
458
460
  drawerAnimation: (_this2$appConfig$draw2 = _this2.appConfig.drawer) === null || _this2$appConfig$draw2 === void 0 ? void 0 : _this2$appConfig$draw2.getAnimation()
459
- }), commonPartial, _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager())), /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
461
+ }), commonPartial, _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager())), _this2.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
460
462
  appLocale: _this2.appConfig.appLocale
461
- }))));
463
+ }) : null))));
462
464
  }))));
463
465
  }
464
466
  }