@wavemaker/app-rn-runtime 12.0.0-next.45191 → 12.0.0-next.45196

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 (162) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +61 -46
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel.props.js +1 -1
  4. app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel.styles.js +7 -9
  6. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  7. app-rn-runtime/components/basic/audio/audio.component.js +9 -2
  8. app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
  9. app-rn-runtime/components/basic/audio/audio.styles.js +7 -0
  10. app-rn-runtime/components/basic/audio/audio.styles.js.map +1 -1
  11. app-rn-runtime/components/basic/custom/custom.component.js +1 -1
  12. app-rn-runtime/components/basic/custom/custom.component.js.map +1 -1
  13. app-rn-runtime/components/basic/lottie/lottie.component.js +3 -1
  14. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -1
  15. app-rn-runtime/components/basic/picture/picture.component.js +10 -4
  16. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  17. app-rn-runtime/components/basic/picture/picture.props.js +1 -0
  18. app-rn-runtime/components/basic/picture/picture.props.js.map +1 -1
  19. app-rn-runtime/components/basic/search/search.component.js +3 -3
  20. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  21. app-rn-runtime/components/basic/search/search.props.js +1 -0
  22. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  23. app-rn-runtime/components/basic/skeleton/skeleton.component.js +2 -0
  24. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  25. app-rn-runtime/components/basic/video/video.component.js +6 -0
  26. app-rn-runtime/components/basic/video/video.component.js.map +1 -1
  27. app-rn-runtime/components/basic/video/video.styles.js +7 -1
  28. app-rn-runtime/components/basic/video/video.styles.js.map +1 -1
  29. app-rn-runtime/components/container/container.component.js +8 -1
  30. app-rn-runtime/components/container/container.component.js.map +1 -1
  31. app-rn-runtime/components/container/container.props.js +1 -0
  32. app-rn-runtime/components/container/container.props.js.map +1 -1
  33. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +29 -15
  34. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  35. app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js +1 -0
  36. app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  37. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js +1 -0
  38. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  39. app-rn-runtime/components/container/tabs/tabs.component.js +5 -2
  40. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  41. app-rn-runtime/components/container/tabs/tabs.props.js +1 -0
  42. app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
  43. app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
  44. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  45. app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
  46. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  47. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -0
  48. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  49. app-rn-runtime/components/data/form/form-field/form-field.component.js +2 -1
  50. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  51. app-rn-runtime/components/data/list/list.component.js +11 -1
  52. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  53. app-rn-runtime/components/input/baseinput/baseinput.component.js +46 -10
  54. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  55. app-rn-runtime/components/input/basenumber/basenumber.component.js +26 -7
  56. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  57. app-rn-runtime/components/input/calendar/calendar.component.js +25 -0
  58. app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
  59. app-rn-runtime/components/input/calendar/calendar.styles.js +19 -0
  60. app-rn-runtime/components/input/calendar/calendar.styles.js.map +1 -1
  61. app-rn-runtime/components/input/checkbox/checkbox.component.js +23 -3
  62. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  63. app-rn-runtime/components/input/checkbox/checkbox.styles.js +19 -2
  64. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  65. app-rn-runtime/components/input/chips/chips.component.js +47 -5
  66. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  67. app-rn-runtime/components/input/chips/chips.styles.js +8 -0
  68. app-rn-runtime/components/input/chips/chips.styles.js.map +1 -1
  69. app-rn-runtime/components/input/currency/currency.component.js +14 -4
  70. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  71. app-rn-runtime/components/input/currency/currency.styles.js +43 -1
  72. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  73. app-rn-runtime/components/input/epoch/base-datetime.component.js +26 -5
  74. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  75. app-rn-runtime/components/input/epoch/datetime/datetime.props.js +6 -0
  76. app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
  77. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +13 -0
  78. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  79. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +7 -4
  80. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  81. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js +3 -0
  82. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js.map +1 -1
  83. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +7 -4
  84. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  85. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.props.js +3 -0
  86. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.props.js.map +1 -1
  87. app-rn-runtime/components/input/number/number.component.js +17 -3
  88. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  89. app-rn-runtime/components/input/number/number.styles.js +24 -1
  90. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  91. app-rn-runtime/components/input/radioset/radioset.component.js +12 -7
  92. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  93. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  94. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  95. app-rn-runtime/components/input/radioset/radioset.styles.js +6 -0
  96. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  97. app-rn-runtime/components/input/select/select.component.js +11 -3
  98. app-rn-runtime/components/input/select/select.component.js.map +1 -1
  99. app-rn-runtime/components/input/select/select.styles.js +24 -0
  100. app-rn-runtime/components/input/select/select.styles.js.map +1 -1
  101. app-rn-runtime/components/input/slider/slider.component.js +2 -2
  102. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  103. app-rn-runtime/components/input/switch/switch.component.js +13 -3
  104. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  105. app-rn-runtime/components/input/switch/switch.styles.js +15 -0
  106. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  107. app-rn-runtime/components/input/text/text.component.js +5 -2
  108. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  109. app-rn-runtime/components/input/text/text.props.js +1 -0
  110. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  111. app-rn-runtime/components/input/text/text.styles.js +3 -0
  112. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  113. app-rn-runtime/components/input/textarea/textarea.component.js +3 -1
  114. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  115. app-rn-runtime/components/input/textarea/textarea.styles.js +3 -0
  116. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  117. app-rn-runtime/components/input/toggle/toggle.component.js +6 -0
  118. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  119. app-rn-runtime/components/input/toggle/toggle.props.js +2 -0
  120. app-rn-runtime/components/input/toggle/toggle.props.js.map +1 -1
  121. app-rn-runtime/components/input/toggle/toggle.styles.js +7 -0
  122. app-rn-runtime/components/input/toggle/toggle.styles.js.map +1 -1
  123. app-rn-runtime/components/page/content/content.component.js +4 -19
  124. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  125. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -1
  126. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  127. app-rn-runtime/components/page/page-content/page-content.component.js +43 -12
  128. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  129. app-rn-runtime/core/AppConfig.js.map +1 -1
  130. app-rn-runtime/core/base.component.js +31 -5
  131. app-rn-runtime/core/base.component.js.map +1 -1
  132. app-rn-runtime/core/components/textinput.component.js +9 -7
  133. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  134. app-rn-runtime/core/storage.service.js +15 -0
  135. app-rn-runtime/core/storage.service.js.map +1 -1
  136. app-rn-runtime/core/wm-component-tree.js +58 -0
  137. app-rn-runtime/core/wm-component-tree.js.map +1 -0
  138. app-rn-runtime/package.json +13 -6
  139. app-rn-runtime/runtime/App.js +31 -4
  140. app-rn-runtime/runtime/App.js.map +1 -1
  141. app-rn-runtime/runtime/App.navigator.js +1 -0
  142. app-rn-runtime/runtime/App.navigator.js.map +1 -1
  143. app-rn-runtime/runtime/base-fragment.component.js +23 -1
  144. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  145. app-rn-runtime/runtime/base-page.component.js +38 -2
  146. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  147. app-rn-runtime/runtime/base-partial.component.js +3 -0
  148. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  149. app-rn-runtime/runtime/navigator/drawer.navigator.js +19 -10
  150. app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
  151. app-rn-runtime/runtime/services/app-i18n.service.js +1 -0
  152. app-rn-runtime/runtime/services/app-i18n.service.js.map +1 -1
  153. app-rn-runtime/runtime/services/app-modal.service.js +4 -4
  154. app-rn-runtime/runtime/services/app-modal.service.js.map +1 -1
  155. app-rn-runtime/styles/theme.js +5 -0
  156. app-rn-runtime/styles/theme.js.map +1 -1
  157. app-rn-runtime/styles/theme.variables.js +2 -2
  158. app-rn-runtime/styles/theme.variables.js.map +1 -1
  159. app-rn-runtime/variables/http.service.js +5 -1
  160. app-rn-runtime/variables/http.service.js.map +1 -1
  161. app-rn-runtime/variables/live-variable.js +14 -0
  162. app-rn-runtime/variables/live-variable.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","ParentContext","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","SkeletonAnimationProps","constructor","args","_defineProperty","FragmentProps","BaseFragment","props","defaultProps","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","App","appConfig","app","formatters","Actions","Object","assign","Variables","cleanup","push","subscribe","ORIENTATION_CHANGE","$new","$old","isDetached","targetWidget","invokeEventCallback","proxy","screenWidth","width","screenHeight","height","SIZE_CHANGE","_this$theme","theme","destroy","baseUrl","url","resourceBaseUrl","onDestroy","onContentReady","onReady","refresh","onComponentChange","w","onComponentInit","id","name","formWidgets","formFields","formActions","Widgets","buttonArray","parentFormRef","pid","forEach","ff","formKey","registerFormFields","registerFormActions","formfield","formRef","fragments","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","trim","length","mergeStyle","getFormFieldStyles","formField","type","_formField$classname","suffix","classname","split","map","s","join","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","e","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","BEFORE_INVOKE","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","cleanUpVariablesandActions","fragmentVariables","fragmentActions","startUpActions","a","invoke","Promise","all","startUpVariables","catch","error","console","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","forceUpdate","generateTestIdPrefix","testId","getTestId","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","Consumer","parent","_this$parent","setParent","_showSkeleton","state","showskeleton","Provider","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { get, filter, isNil } from 'lodash';\n\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { Formatter } from '@wavemaker/app-rn-runtime/core/formatters';\nimport { TestIdPrefixProvider, TextIdPrefixConsumer } from '@wavemaker/app-rn-runtime/core/testid.provider';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { toBoolean, toNumber, isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState, BaseStyles, BaseProps, LifecycleListener, ParentContext } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BASE_THEME, { Theme, ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseVariable, VariableEvents } from '@wavemaker/app-rn-runtime/variables/base-variable';\nimport { default as _viewPort, EVENTS as viewportEvents } from '@wavemaker/app-rn-runtime/core/viewport';\nimport App from './App';\nimport WmFormField from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport spinnerService from '@wavemaker/app-rn-runtime/runtime/services/app-spinner.service';\n\nimport AppI18nService from './services/app-i18n.service';\nimport { Watcher } from './watcher';\nimport WmFormAction from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { WmSkeletonStyles } from '../components/basic/skeleton/skeleton.styles';\n\nexport class SkeletonAnimationProps extends BaseProps {\n skeletonanimationresource = \"\";\n skeletonanimationspeed = 1;\n}\n\nexport class FragmentProps extends SkeletonAnimationProps {}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {\n skeleton?: WmSkeletonStyles\n};\nexport default abstract class BaseFragment<P extends FragmentProps, S extends FragmentState<P>> extends BaseComponent<P, S, FragmentStyles> implements LifecycleListener {\n public App: App;\n public onReady: Function = () => {};\n public baseUrl = '';\n public resourceBaseUrl = '';\n public targetWidget = null as unknown as BaseComponent<any, any, any>;\n public Widgets: any = {};\n public Variables: any = {};\n public theme: Theme = BASE_THEME;\n public appLocale: any = {};\n private startUpVariables: string[] = [];\n protected startUpVariablesLoaded = false;\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private cleanUpVariablesandActions: BaseVariable<any>[] = [];\n public fragmentVariables: any = {};\n public fragmentActions: any = {};\n public Actions: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n public cache = false;\n public refreshdataonattach= true;\n public isReactNativeApp = true;\n public fragments: any = {};\n public isDetached = false;\n public _memoize = {} as any;\n public toaster: any;\n public formatters: Map<string, Formatter>;\n public serviceDefinitions = {} as any;\n public Viewport = _viewPort;\n public loadingMessage = React.createElement(Text, [] as any, ['loading...']);\n public showContent = false;\n public notification = {\n text: '',\n title: '',\n okButtonText: '',\n cancelButtonText: '',\n onOk: () => {},\n onCancel: () => {},\n onClose: () => {}\n };\n public watcher: Watcher = null as any;\n constructor(props: P, defaultProps?: P) {\n super(props, null as any, defaultProps);\n this.App = this.appConfig.app;\n this.formatters = this.App.formatters;\n this.Actions = Object.assign({}, this.App.Actions);\n this.Variables = Object.assign({}, this.App.Variables);\n this.cleanup.push(_viewPort.subscribe(viewportEvents.ORIENTATION_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onOrientationchange', [null, this.proxy,\n {screenWidth: _viewPort.width,\n screenHeight: _viewPort.height}]);\n }));\n this.cleanup.push(_viewPort.subscribe(viewportEvents.SIZE_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onResize', [null, this.proxy,\n {screenWidth: $new.width,\n screenHeight: $new.height}]);\n }));\n this.cleanup.push(() => this.theme?.destroy());\n this.baseUrl = this.appConfig.url;\n this.resourceBaseUrl = this.appConfig.url;\n this.cleanup.push(() => this.onDestroy());\n }\n\n onContentReady() {\n this.onReady();\n this.appConfig.refresh();\n this.targetWidget && this.targetWidget.invokeEventCallback('onLoad', [null, this.proxy]);\n this.onContentReady = () => {};\n }\n\n onComponentChange(w: BaseComponent<any, any, any>) {\n this.refresh();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n let formWidgets: any, formFields: any, formActions: any;\n\n if (w instanceof WmForm) {\n if (!this.Widgets[id]) {\n this.Widgets[id] = w;\n }\n if (w.props.id) {\n const name: any = w.props.name;\n formWidgets = this.Widgets[name].formWidgets;\n formFields = this.Widgets[name].formFields;\n formActions = this.Widgets[name].buttonArray;\n this.Widgets[name].formFields = [];\n this.Widgets[name].buttonArray = [];\n this.Widgets[name].formWidgets = {};\n } else {\n formWidgets = this.Widgets[id].formWidgets;\n formFields = this.Widgets[id].formFields;\n formActions = this.Widgets[id].buttonArray;\n }\n this.Widgets[id] = w;\n if (w.parentFormRef) {\n let pid = w.parentFormRef.props.id || w.parentFormRef.props.name;\n formFields.forEach((ff: any) => {\n const formKey = ff.props.formKey || ff.props.name;\n this.Widgets[pid].formFields.push(ff);\n this.Widgets[pid].formWidgets[formKey] = formWidgets[ff.props.name];\n });\n }\n w.registerFormFields(formFields, formWidgets);\n w.registerFormActions(formActions);\n return;\n }\n if (w.props.formfield) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {formFields: [], formWidgets: {}};\n } else if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n if (!this.Widgets[w.props.formRef].formWidgets) {\n this.Widgets[w.props.formRef].formWidgets = {}\n }\n this.Widgets[w.props.formRef].formWidgets[w.props.name] = w;\n return;\n }\n if (w instanceof WmFormAction) {\n if (!this.Widgets[w.props.formKey]) {\n this.Widgets[w.props.formKey] = {};\n }\n if (!this.Widgets[w.props.formKey].buttonArray) {\n this.Widgets[w.props.formKey].buttonArray = [];\n }\n this.Widgets[w.props.formKey].buttonArray.push(w);\n return;\n }\n\n if (w instanceof WmFormField) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {};\n }\n if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets = this.Widgets[w.props.formRef].formWidgets || {};\n this.Widgets[w.props.formRef].formFields.push(w);\n return;\n }\n this.Widgets[id] = w;\n if (w instanceof BaseFragment && w !== this) {\n this.fragments[id] = w;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n delete this.Widgets[id];\n if (w instanceof BaseFragment) {\n delete this.fragments[id];\n }\n if (w instanceof WmForm) {\n w.formWidgets = {};\n w.formFields = [];\n w.formfields = {};\n }\n }\n\n handleUrl(url: string) {\n if (isFullPathUrl(url)) {\n return url;\n }\n return this.appConfig.url + (url.startsWith('/') ? '' : '/') + url;\n }\n\n getDateFormat(fmt?: string) {\n // getting formats from appLocale when app locale is loaded locally.\n return (fmt || AppI18nService.dateFormat || get(this.appConfig, 'appLocale.formats.date')).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getTimeFormat(fmt?: string) {\n return fmt || AppI18nService.timeFormat || get(this.appConfig, 'appLocale.formats.time');\n }\n\n getDateTimeFormat(fmt?: string) {\n return (fmt || AppI18nService.dateTimeFormat || (get(this.appConfig, 'appLocale.formats.date') + ' ' + get(this.appConfig, 'appLocale.formats.time'))).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getCurrencySymbol(fmt?: string) {\n return (fmt || AppI18nService.currencyCode || 'USD');\n }\n\n getStyle(classes: string, inlineStyles:any = {}) {\n if (classes && classes.trim().length > 0) {\n return this.theme.mergeStyle({}, this.theme.getStyle(classes), inlineStyles);\n }\n return inlineStyles;\n }\n\n getFormFieldStyles(formField: any, type: string){\n let suffix = ''\n switch(type){\n case 'label' :\n suffix = '_formLabel'\n break\n case 'commonField' :\n suffix = '-input'\n break\n default :\n ''\n }\n return formField?.classname?.trim()?.split(' ')?.map((s:string) => s.trim() + suffix).join(' ');\n }\n\n resetAppLocale() {\n this.appLocale = this.appConfig.appLocale.messages;\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).resetAppLocale());\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n toBoolean(val: any) {\n if (isNil(val)) {\n return false;\n }\n return toBoolean(val);\n }\n\n toNumber(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toNumber(val);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.targetWidget && this.targetWidget.invokeEventCallback('onDestroy', [null, this.proxy]);\n }\n\n componentDidMount(): void {\n this.resetAppLocale();\n super.componentDidMount();\n }\n\n memoize(key: string, o: any) {\n if (!this._memoize[key]) {\n this._memoize[key] = o;\n }\n return this._memoize[key];\n }\n\n initVariableSpinner() {\n let variables = filter(this.Variables, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n const actions = filter(this.Actions, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n variables = variables.concat(actions);\n if (!variables.length) {\n return;\n }\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.BEFORE_INVOKE, () => {\n spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n spinnerService.hide();\n }));\n }));\n }\n\n onFragmentReady() {\n this.cleanup.push(...Object.values({...this.Variables, ...this.Actions}).map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => this.App.refresh()));\n }));\n this.initVariableSpinner();\n this.cleanUpVariablesandActions.push(...Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch((error) => {\n // catch errors and show content\n console.error(error);\n })\n .then(() => {\n this.startUpVariablesLoaded = true;\n this.showContent = true;\n this.appConfig.refresh();\n });\n }\n\n onAttach() {\n this.isDetached = false;\n this.watcher.isActive = true;\n this.resetAppLocale();\n Object.values(this.fragments).forEach((f: any) => f.onAttach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.unmute && v.unmute());\n this.targetWidget?.invokeEventCallback('onAttach', [null, this.proxy]);\n if (this.refreshdataonattach) {\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()));\n }\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillAttach && w.componentWillAttach();\n });\n }\n\n onDetach() {\n this.isDetached = true;\n this.watcher.isActive = false;\n Object.values(this.fragments).forEach((f: any) => f.onDetach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.mute && v.mute());\n this.targetWidget?.invokeEventCallback('onDetach', [null, this.proxy]);\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillDetach && w.componentWillDetach();\n });\n }\n\n onDestroy() {\n this.cleanUpVariablesandActions.forEach((v: any) => v.destroy());\n this.watcher.destroy();\n }\n\n refresh() {\n (injector.get('AppConfig') as AppConfig).refresh();\n }\n\n forceUpdate() {\n super.forceUpdate();\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).forceUpdate());\n }\n\n generateTestIdPrefix() {\n const testId = this.getTestId();\n return testId && (testId.split('')\n .reduce((a, v, i) => a + (v.charCodeAt(0) * (i + 1)), 0) + '');\n }\n\n render() {\n if (this.startUpVariablesLoaded) {\n this.autoUpdateVariables\n .forEach(value => this.Variables[value]?.invokeOnParamChange());\n }\n return this.isVisible() ? (\n <ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true);\n let theme = this.theme;\n return (\n <ParentContext.Provider value={this}>\n <ThemeProvider value={theme}>\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (\n <TestIdPrefixProvider value={this.generateTestIdPrefix() || ''}>\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return this.renderWidget(this.props);\n }}\n </ToastConsumer>\n </TestIdPrefixProvider>);\n }}\n </TextIdPrefixConsumer>\n </ThemeProvider>\n </ParentContext.Provider>);\n }}\n </ParentContext.Consumer>) : null;\n }\n\n\n}\n\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","ParentContext","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","WmLeftPanel","SkeletonAnimationProps","constructor","args","_defineProperty","FragmentProps","BaseFragment","props","defaultProps","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","App","appConfig","app","formatters","Actions","Object","assign","Variables","cleanup","push","subscribe","ORIENTATION_CHANGE","$new","$old","isDetached","targetWidget","invokeEventCallback","proxy","screenWidth","width","screenHeight","height","SIZE_CHANGE","_this$theme","theme","destroy","baseUrl","url","resourceBaseUrl","onDestroy","onContentReady","onReady","e","console","error","refresh","onComponentChange","w","onComponentInit","id","name","formWidgets","formFields","formActions","Widgets","buttonArray","parentFormRef","pid","forEach","ff","formKey","registerFormFields","registerFormActions","formfield","formRef","fragments","_w$_INSTANCE$styles","leftNavWidth","_INSTANCE","styles","root","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","trim","length","mergeStyle","getFormFieldStyles","formField","type","_formField$classname","suffix","classname","split","map","s","join","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","BEFORE_INVOKE","notify","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","fragmentVariables","fragmentActions","cleanUpVariablesandActions","startUpActions","a","invoke","Promise","all","startUpVariables","catch","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","forceUpdate","generateTestIdPrefix","testId","getTestId","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","Consumer","parent","_this$parent","setParent","_showSkeleton","state","showskeleton","Provider","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { get, filter, isNil } from 'lodash';\n\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { Formatter } from '@wavemaker/app-rn-runtime/core/formatters';\nimport { TestIdPrefixProvider, TextIdPrefixConsumer } from '@wavemaker/app-rn-runtime/core/testid.provider';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { toBoolean, toNumber, isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState, BaseStyles, BaseProps, LifecycleListener, ParentContext } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BASE_THEME, { Theme, ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseVariable, VariableEvents } from '@wavemaker/app-rn-runtime/variables/base-variable';\nimport { default as _viewPort, EVENTS as viewportEvents } from '@wavemaker/app-rn-runtime/core/viewport';\nimport App from './App';\nimport WmFormField from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport spinnerService from '@wavemaker/app-rn-runtime/runtime/services/app-spinner.service';\n\nimport AppI18nService from './services/app-i18n.service';\nimport { Watcher } from './watcher';\nimport WmFormAction from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport WmLeftPanel from '@wavemaker/app-rn-runtime/components/page/left-panel/left-panel.component';\n\nexport class SkeletonAnimationProps extends BaseProps {\n skeletonanimationresource = \"\";\n skeletonanimationspeed = 1;\n}\n\nexport class FragmentProps extends SkeletonAnimationProps {}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {\n skeleton?: WmSkeletonStyles\n};\nexport default abstract class BaseFragment<P extends FragmentProps, S extends FragmentState<P>> extends BaseComponent<P, S, FragmentStyles> implements LifecycleListener {\n public App: App;\n public onReady: Function = () => {};\n public baseUrl = '';\n public resourceBaseUrl = '';\n public targetWidget = null as unknown as BaseComponent<any, any, any>;\n public Widgets: any = {};\n public Variables: any = {};\n public theme: Theme = BASE_THEME;\n public appLocale: any = {};\n private startUpVariables: string[] = [];\n protected startUpVariablesLoaded = false;\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private cleanUpVariablesandActions: BaseVariable<any>[] = [];\n public fragmentVariables: any = {};\n public fragmentActions: any = {};\n public Actions: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n public cache = false;\n public refreshdataonattach= true;\n public isReactNativeApp = true;\n public fragments: any = {};\n public isDetached = false;\n public _memoize = {} as any;\n public toaster: any;\n public formatters: Map<string, Formatter>;\n public serviceDefinitions = {} as any;\n public Viewport = _viewPort;\n public loadingMessage = React.createElement(Text, [] as any, ['loading...']);\n public showContent = false;\n public notification = {\n text: '',\n title: '',\n okButtonText: '',\n cancelButtonText: '',\n onOk: () => {},\n onCancel: () => {},\n onClose: () => {}\n };\n public watcher: Watcher = null as any;\n constructor(props: P, defaultProps?: P) {\n super(props, null as any, defaultProps);\n this.App = this.appConfig.app;\n this.formatters = this.App.formatters;\n this.Actions = Object.assign({}, this.App.Actions);\n this.Variables = Object.assign({}, this.App.Variables);\n this.cleanup.push(_viewPort.subscribe(viewportEvents.ORIENTATION_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onOrientationchange', [null, this.proxy,\n {screenWidth: _viewPort.width,\n screenHeight: _viewPort.height}]);\n }));\n this.cleanup.push(_viewPort.subscribe(viewportEvents.SIZE_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onResize', [null, this.proxy,\n {screenWidth: $new.width,\n screenHeight: $new.height}]);\n }));\n this.cleanup.push(() => this.theme?.destroy());\n this.baseUrl = this.appConfig.url;\n this.resourceBaseUrl = this.appConfig.url;\n this.cleanup.push(() => this.onDestroy());\n }\n\n onContentReady() {\n try {\n this.onReady();\n } catch(e) {\n console.error(e);\n }\n this.appConfig.refresh();\n this.targetWidget && this.targetWidget.invokeEventCallback('onLoad', [null, this.proxy]);\n this.onContentReady = () => {};\n }\n\n onComponentChange(w: BaseComponent<any, any, any>) {\n this.refresh();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n let formWidgets: any, formFields: any, formActions: any;\n\n if (w instanceof WmForm) {\n if (!this.Widgets[id]) {\n this.Widgets[id] = w;\n }\n if (w.props.id) {\n const name: any = w.props.name;\n formWidgets = this.Widgets[name].formWidgets;\n formFields = this.Widgets[name].formFields;\n formActions = this.Widgets[name].buttonArray;\n this.Widgets[name].formFields = [];\n this.Widgets[name].buttonArray = [];\n this.Widgets[name].formWidgets = {};\n } else {\n formWidgets = this.Widgets[id].formWidgets;\n formFields = this.Widgets[id].formFields;\n formActions = this.Widgets[id].buttonArray;\n }\n this.Widgets[id] = w;\n if (w.parentFormRef) {\n let pid = w.parentFormRef.props.id || w.parentFormRef.props.name;\n formFields.forEach((ff: any) => {\n const formKey = ff.props.formKey || ff.props.name;\n this.Widgets[pid].formFields.push(ff);\n this.Widgets[pid].formWidgets[formKey] = formWidgets[ff.props.name];\n });\n }\n w.registerFormFields(formFields, formWidgets);\n w.registerFormActions(formActions);\n return;\n }\n if (w.props.formfield) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {formFields: [], formWidgets: {}};\n } else if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n if (!this.Widgets[w.props.formRef].formWidgets) {\n this.Widgets[w.props.formRef].formWidgets = {}\n }\n this.Widgets[w.props.formRef].formWidgets[w.props.name] = w;\n return;\n }\n if (w instanceof WmFormAction) {\n if (!this.Widgets[w.props.formKey]) {\n this.Widgets[w.props.formKey] = {};\n }\n if (!this.Widgets[w.props.formKey].buttonArray) {\n this.Widgets[w.props.formKey].buttonArray = [];\n }\n this.Widgets[w.props.formKey].buttonArray.push(w);\n return;\n }\n\n if (w instanceof WmFormField) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {};\n }\n if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets = this.Widgets[w.props.formRef].formWidgets || {};\n this.Widgets[w.props.formRef].formFields.push(w);\n return;\n }\n this.Widgets[id] = w;\n if (w instanceof BaseFragment && w !== this) {\n this.fragments[id] = w;\n }\n if (w instanceof WmLeftPanel) {\n this.appConfig.leftNavWidth = w._INSTANCE.styles?.root?.width;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n delete this.Widgets[id];\n if (w instanceof BaseFragment) {\n delete this.fragments[id];\n }\n if (w instanceof WmForm) {\n w.formWidgets = {};\n w.formFields = [];\n w.formfields = {};\n }\n }\n\n handleUrl(url: string) {\n if (isFullPathUrl(url)) {\n return url;\n }\n return this.appConfig.url + (url.startsWith('/') ? '' : '/') + url;\n }\n\n getDateFormat(fmt?: string) {\n // getting formats from appLocale when app locale is loaded locally.\n return (fmt || AppI18nService.dateFormat || get(this.appConfig, 'appLocale.formats.date')).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getTimeFormat(fmt?: string) {\n return fmt || AppI18nService.timeFormat || get(this.appConfig, 'appLocale.formats.time');\n }\n\n getDateTimeFormat(fmt?: string) {\n return (fmt || AppI18nService.dateTimeFormat || (get(this.appConfig, 'appLocale.formats.date') + ' ' + get(this.appConfig, 'appLocale.formats.time'))).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getCurrencySymbol(fmt?: string) {\n return (fmt || AppI18nService.currencyCode || 'USD');\n }\n\n getStyle(classes: string, inlineStyles:any = {}) {\n if (classes && classes.trim().length > 0) {\n return this.theme.mergeStyle({}, this.theme.getStyle(classes), inlineStyles);\n }\n return inlineStyles;\n }\n\n getFormFieldStyles(formField: any, type: string){\n let suffix = ''\n switch(type){\n case 'label' :\n suffix = '_formLabel'\n break\n case 'commonField' :\n suffix = '-input'\n break\n default :\n ''\n }\n return formField?.classname?.trim()?.split(' ')?.map((s:string) => s.trim() + suffix).join(' ');\n }\n\n resetAppLocale() {\n this.appLocale = this.appConfig.appLocale.messages;\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).resetAppLocale());\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n toBoolean(val: any) {\n if (isNil(val)) {\n return false;\n }\n return toBoolean(val);\n }\n\n toNumber(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toNumber(val);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.targetWidget && this.targetWidget.invokeEventCallback('onDestroy', [null, this.proxy]);\n }\n\n componentDidMount(): void {\n this.resetAppLocale();\n super.componentDidMount();\n }\n\n memoize(key: string, o: any) {\n if (!this._memoize[key]) {\n this._memoize[key] = o;\n }\n return this._memoize[key];\n }\n\n initVariableSpinner() {\n let variables = filter(this.Variables, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n const actions = filter(this.Actions, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n variables = variables.concat(actions);\n if (!variables.length) {\n return;\n }\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.App.notify(VariableEvents.BEFORE_INVOKE, v);\n spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.App.notify(VariableEvents.AFTER_INVOKE, v);\n spinnerService.hide();\n }));\n }));\n }\n\n onFragmentReady() {\n this.cleanup.push(...Object.values({...this.Variables, ...this.Actions}).map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => this.App.refresh()));\n }));\n (Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>))\n .map(v => {\n (v as BaseVariable<any>).subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.App.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n (v as BaseVariable<any>).subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.App.notify(VariableEvents.AFTER_INVOKE, v);\n });\n });\n this.initVariableSpinner();\n this.cleanUpVariablesandActions.push(...Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch((error) => {\n // catch errors and show content\n console.error(error);\n })\n .then(() => {\n this.startUpVariablesLoaded = true;\n this.showContent = true;\n this.appConfig.refresh();\n });\n }\n\n onAttach() {\n this.isDetached = false;\n this.watcher.isActive = true;\n this.resetAppLocale();\n Object.values(this.fragments).forEach((f: any) => f.onAttach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.unmute && v.unmute());\n this.targetWidget?.invokeEventCallback('onAttach', [null, this.proxy]);\n if (this.refreshdataonattach) {\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()));\n }\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillAttach && w.componentWillAttach();\n });\n }\n\n onDetach() {\n this.isDetached = true;\n this.watcher.isActive = false;\n Object.values(this.fragments).forEach((f: any) => f.onDetach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.mute && v.mute());\n this.targetWidget?.invokeEventCallback('onDetach', [null, this.proxy]);\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillDetach && w.componentWillDetach();\n });\n }\n\n onDestroy() {\n this.cleanUpVariablesandActions.forEach((v: any) => v.destroy());\n this.watcher.destroy();\n }\n\n refresh() {\n (injector.get('AppConfig') as AppConfig).refresh();\n }\n\n forceUpdate() {\n super.forceUpdate();\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).forceUpdate());\n }\n\n generateTestIdPrefix() {\n const testId = this.getTestId();\n return testId && (testId.split('')\n .reduce((a, v, i) => a + (v.charCodeAt(0) * (i + 1)), 0) + '');\n }\n\n render() {\n if (this.startUpVariablesLoaded) {\n this.autoUpdateVariables\n .forEach(value => this.Variables[value]?.invokeOnParamChange());\n }\n return this.isVisible() ? (\n <ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true);\n let theme = this.theme;\n return (\n <ParentContext.Provider value={this}>\n <ThemeProvider value={theme}>\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (\n <TestIdPrefixProvider value={this.generateTestIdPrefix() || ''}>\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return this.renderWidget(this.props);\n }}\n </ToastConsumer>\n </TestIdPrefixProvider>);\n }}\n </TextIdPrefixConsumer>\n </ThemeProvider>\n </ParentContext.Provider>);\n }}\n </ParentContext.Consumer>) : null;\n }\n\n\n}\n\n\n"],"mappings":"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","ignoreList":[]}
@@ -36,6 +36,9 @@ export default class BasePage extends BaseFragment {
36
36
  AppSecurityService.redirectToLogin(this.toHashURL());
37
37
  }
38
38
  });
39
+ if (this.App.appConfig.diagnostics.pageStartTime < 0) {
40
+ this.App.appConfig.diagnostics.pageStartTime = Date.now();
41
+ }
39
42
  }
40
43
  onComponentInit(w) {
41
44
  super.onComponentInit(w);
@@ -73,11 +76,15 @@ export default class BasePage extends BaseFragment {
73
76
  onAttach() {
74
77
  super.onAttach();
75
78
  this.setDrawerContent();
79
+ this.App.appConfig.diagnostics.pageReadyTime = Date.now();
80
+ this.App.notify('pageAttached', this);
76
81
  }
77
82
  onFragmentReady() {
78
83
  return super.onFragmentReady().then(() => {
79
84
  this.onContentReady();
80
85
  this.App.triggerPageReady(this.pageName, this.proxy);
86
+ this.App.appConfig.diagnostics.pageReadyTime = Date.now();
87
+ this.App.notify('pageReady', this);
81
88
  AppSpinnerService.hide();
82
89
  this.cleanup.push(this.props.navigation.addListener('focus', () => {
83
90
  if (this.appConfig.currentPage !== this) {
@@ -90,11 +97,30 @@ export default class BasePage extends BaseFragment {
90
97
  }
91
98
  componentWillUnmount() {
92
99
  super.componentWillUnmount();
100
+ this.App.notify('pageDestroyed', this);
101
+ }
102
+ async canNavigate(currentPage, nextPage) {
103
+ let navigate = true;
104
+ navigate = await this.onBeforePageLeave(currentPage, nextPage);
105
+ if (navigate !== false) {
106
+ navigate = await this.App.onBeforePageLeave(currentPage, nextPage);
107
+ }
108
+ if (navigate !== false) navigate = true;
109
+ return navigate;
110
+ }
111
+ async onBeforePageLeave(currentPage, nextPage) {
112
+ //method can be override by the user from studio;
113
+ return true;
93
114
  }
94
- goToPage(pageName, params, clearCahe = false) {
115
+ async goToPage(pageName, params, clearCahe = false) {
116
+ const isNavigable = await this.canNavigate(this.pageName, pageName);
117
+ if (!isNavigable) {
118
+ return Promise.resolve();
119
+ }
95
120
  const navigation = this.props.navigation;
96
121
  const _params = clone(params);
97
122
  _params && delete _params['pageName'];
123
+ this.App.appConfig.diagnostics.pageStartTime = Date.now();
98
124
  if (pageName !== this.pageName || !isEqual(_params || null, this.pageParams || null)) {
99
125
  if (pageName === this.pageName) {
100
126
  navigation.push(pageName, _params);
@@ -127,8 +153,18 @@ export default class BasePage extends BaseFragment {
127
153
  const paramStr = Object.keys(this.pageParams || []).map(k => k && `${k}=${this.pageParams[k]}`).join('&');
128
154
  return hash + (paramStr ? `?${paramStr}` : '');
129
155
  }
130
- goBack() {
156
+ async goBack() {
157
+ var _navigation$getState;
131
158
  const navigation = this.props.navigation;
159
+ const routes = (_navigation$getState = navigation.getState()) === null || _navigation$getState === void 0 ? void 0 : _navigation$getState.routes;
160
+ let isNavigable = true;
161
+ if (navigation.canGoBack()) {
162
+ isNavigable = await this.canNavigate(this.pageName, routes[routes.length - 2].name);
163
+ }
164
+ if (!isNavigable) {
165
+ return Promise.resolve();
166
+ }
167
+ this.App.appConfig.diagnostics.pageStartTime = Date.now();
132
168
  if (navigation.canGoBack()) {
133
169
  navigation.goBack();
134
170
  } else if (window && window.history) {
@@ -1 +1 @@
1
- {"version":3,"names":["clone","isEqual","React","CommonActions","SplashScreen","WmPage","NavigationServiceProvider","AppSecurityService","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","setTimeout","hideAsync","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","canUserAccessPage","then","flag","cache","redirectToLogin","toHashURL","onComponentInit","w","targetWidget","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","drawerContent","drawerType","hasDrawer","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","onContentReady","triggerPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","clearCahe","_params","dispatch","reset","index","routes","navigate","onDetach","destroyMe","closeDrawer","Promise","resolve","navigateToLandingPage","hash","paramStr","Object","keys","map","k","join","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","length","p","forEach","openBrowser","isActiveTabbarItem","label","link","links","possibleLinks","find","l","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { CommonActions } from '@react-navigation/native';\nimport * as SplashScreen from 'expo-splash-screen';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSecurityService from './services/app-security.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n setTimeout(() => {\n SplashScreen.hideAsync();\n }, 300);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n AppSecurityService.canUserAccessPage(this.pageName)\n .then(flag => {\n if (!flag) {\n this.cache = false;\n AppSecurityService.redirectToLogin(this.toHashURL());\n }\n });\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.triggerPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide();\n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any, clearCahe = false) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params || null, this.pageParams || null)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else if (clearCahe) {\n navigation.dispatch(CommonActions.reset({\n index: 0,\n routes: [\n { name: pageName, params: params }\n ]}));\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n public navigateToLandingPage() {\n AppSecurityService.navigateToLandingPage();\n }\n\n public toHashURL() {\n const hash = `#/${this.pageName}`;\n const paramStr = Object.keys(this.pageParams || [])\n .map(k => k && `${k}=${this.pageParams[k]}`)\n .join('&');\n return hash + (paramStr ? `?${paramStr}` : '');\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isActiveTabbarItem({label, link, links}: {label: string, link: string, links: string[]}) {\n const pageName = this.pageName;\n const possibleLinks = [pageName, '#' + pageName, '#/' + pageName];\n return links && links.find(l => possibleLinks.includes(l));\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clone","isEqual","React","CommonActions","SplashScreen","WmPage","NavigationServiceProvider","AppSecurityService","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","setTimeout","hideAsync","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","canUserAccessPage","then","flag","cache","redirectToLogin","toHashURL","diagnostics","pageStartTime","Date","now","onComponentInit","w","targetWidget","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","drawerContent","drawerType","hasDrawer","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","pageReadyTime","notify","onFragmentReady","onContentReady","triggerPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","canNavigate","nextPage","navigate","onBeforePageLeave","goToPage","clearCahe","isNavigable","Promise","resolve","_params","dispatch","reset","index","routes","onDetach","destroyMe","closeDrawer","navigateToLandingPage","hash","paramStr","Object","keys","map","k","join","goBack","_navigation$getState","getState","canGoBack","length","window","history","back","openUrl","url","startsWith","substring","splits","split","p","forEach","openBrowser","isActiveTabbarItem","label","link","links","possibleLinks","find","l","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { CommonActions } from '@react-navigation/native';\nimport * as SplashScreen from 'expo-splash-screen';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSecurityService from './services/app-security.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n setTimeout(() => {\n SplashScreen.hideAsync();\n }, 300);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n AppSecurityService.canUserAccessPage(this.pageName)\n .then(flag => {\n if (!flag) {\n this.cache = false;\n AppSecurityService.redirectToLogin(this.toHashURL());\n }\n });\n if (this.App.appConfig.diagnostics.pageStartTime < 0) {\n this.App.appConfig.diagnostics.pageStartTime = Date.now();\n }\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n this.App.appConfig.diagnostics.pageReadyTime = Date.now();\n this.App.notify('pageAttached', this);\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.triggerPageReady(this.pageName, this.proxy as BasePage);\n this.App.appConfig.diagnostics.pageReadyTime = Date.now(); \n this.App.notify('pageReady', this);\n AppSpinnerService.hide();\n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.App.notify('pageDestroyed', this);\n }\n\n async canNavigate (currentPage: string, nextPage: string) {\n let navigate = true;\n navigate = await this.onBeforePageLeave(currentPage, nextPage);\n if(navigate !== false){\n navigate = await this.App.onBeforePageLeave(currentPage, nextPage);\n }\n\n if(navigate !== false) navigate = true;\n\n return navigate; \n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n async goToPage(pageName: string, params: any, clearCahe = false) {\n const isNavigable = await this.canNavigate(this.pageName, pageName)\n if(!isNavigable){\n return Promise.resolve();\n }\n\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n this.App.appConfig.diagnostics.pageStartTime = Date.now();\n if (pageName !== this.pageName || !isEqual(_params || null, this.pageParams || null)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else if (clearCahe) {\n navigation.dispatch(CommonActions.reset({\n index: 0,\n routes: [\n { name: pageName, params: params }\n ]}));\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n public navigateToLandingPage() {\n AppSecurityService.navigateToLandingPage();\n }\n\n public toHashURL() {\n const hash = `#/${this.pageName}`;\n const paramStr = Object.keys(this.pageParams || [])\n .map(k => k && `${k}=${this.pageParams[k]}`)\n .join('&');\n return hash + (paramStr ? `?${paramStr}` : '');\n }\n\n async goBack() {\n const navigation = (this.props as PageProps).navigation;\n const routes = navigation.getState()?.routes;\n let isNavigable = true;\n\n if(navigation.canGoBack()){\n isNavigable = await this.canNavigate(this.pageName, routes[routes.length - 2].name)\n }\n if(!isNavigable){\n return Promise.resolve();\n }\n\n this.App.appConfig.diagnostics.pageStartTime = Date.now();\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isActiveTabbarItem({label, link, links}: {label: string, link: string, links: string[]}) {\n const pageName = this.pageName;\n const possibleLinks = [pageName, '#' + pageName, '#/' + pageName];\n return links && links.find(l => possibleLinks.includes(l));\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,9 @@ export default class BasePartial extends BaseFragment {
20
20
  this.watcher = props.parentWatcher.create();
21
21
  }
22
22
  onFragmentReady() {
23
+ if (this.props.invokeVariables === false) {
24
+ return Promise.resolve();
25
+ }
23
26
  return super.onFragmentReady().then(() => {
24
27
  this.onContentReady();
25
28
  this.invokeEventCallback('onLoad', [this]);
@@ -1 +1 @@
1
- {"version":3,"names":["WmPartial","BaseFragment","BasePartial","constructor","props","_defineProperty","isPartOfPrefab","prefab","App","appConfig","app","Actions","Object","assign","Variables","serviceDefinitions","Prefab","baseUrl","watcher","parentWatcher","create","onFragmentReady","then","onContentReady","invokeEventCallback","prefabname","_this$Prefab","onComponentInit","w","targetWidget","onComponentDestroy","parent","Widgets","componentDidUpdate","prevProps","prevState","snapshot","pageParams","partialParams","fragmentVariables","renderWidget","renderPartial"],"sources":["base-partial.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmPartial from '@wavemaker/app-rn-runtime/components/page/partial/partial.component';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { ReactNode } from 'react';\nimport BasePrefab from './base-prefab.component';\nimport { Watcher } from './watcher';\nimport { View } from 'react-native';\nimport WmLottie from '../components/basic/lottie/lottie.component';\n\nexport interface PartialProps extends FragmentProps {\n serviceDefinitions: any;\n prefab: any;\n parent: any;\n onLoad?: Function;\n parentWatcher: Watcher;\n}\n\nexport interface PartialState extends FragmentState<PartialProps> {}\n\nexport default abstract class BasePartial extends BaseFragment<PartialProps, PartialState> {\n private partialParams: any = {};\n Prefab: BasePrefab = null as any;\n\n constructor(props: PartialProps) {\n super(props);\n const isPartOfPrefab = !!this.props.prefab;\n this.App = this.appConfig.app;\n this.Actions = Object.assign({}, isPartOfPrefab ? {} : this.App.Actions);\n this.Variables = Object.assign({}, isPartOfPrefab ? {} : this.App.Variables);\n this.serviceDefinitions = this.props.serviceDefinitions;\n if (isPartOfPrefab) {\n this.Prefab = this.props.prefab;\n this.baseUrl =this.Prefab.baseUrl;\n }\n this.watcher = props.parentWatcher.create();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.invokeEventCallback('onLoad', [this]);\n });\n }\n\n get prefabname() {\n return this.Prefab?.props.prefabname;\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPartial) {\n this.targetWidget = w;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>): void {\n super.onComponentDestroy(w);\n const parent: any = this.props.parent;\n if (parent) {\n delete (parent as any).Widgets;\n delete (parent as any).Variables;\n }\n }\n\n componentDidUpdate(prevProps: Readonly<PartialProps>, prevState: Readonly<PartialState>, snapshot?: any): void {\n super.componentDidUpdate(prevProps, prevState, snapshot);\n const parent: any = this.props.parent;\n if (parent) {\n parent.pageParams = (this as any).pageParams;\n parent.partialParams = (this as any).pageParams;\n parent.Widgets = this.Widgets;\n parent.Variables = this.fragmentVariables;\n }\n }\n \n abstract renderPartial(): ReactNode;\n\n renderWidget(props: PartialProps) {\n return this.renderPartial();\n }\n}\n"],"mappings":";;;AAEA,OAAOA,SAAS,MAAM,qEAAqE;AAC3F,OAAOC,YAAY,MAAwC,2BAA2B;AAiBtF,eAAe,MAAeC,WAAW,SAASD,YAAY,CAA6B;EAIvFE,WAAWA,CAACC,KAAmB,EAAE;IAC7B,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,wBAJY,CAAC,CAAC;IAAAA,eAAA,iBACV,IAAI;IAIrB,MAAMC,cAAc,GAAG,CAAC,CAAC,IAAI,CAACF,KAAK,CAACG,MAAM;IAC1C,IAAI,CAACC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG;IAC7B,IAAI,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEP,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAACE,GAAG,CAACG,OAAO,CAAC;IACxE,IAAI,CAACG,SAAS,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEP,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAACE,GAAG,CAACM,SAAS,CAAC;IAC5E,IAAI,CAACC,kBAAkB,GAAG,IAAI,CAACX,KAAK,CAACW,kBAAkB;IACvD,IAAIT,cAAc,EAAE;MAClB,IAAI,CAACU,MAAM,GAAG,IAAI,CAACZ,KAAK,CAACG,MAAM;MAC/B,IAAI,CAACU,OAAO,GAAE,IAAI,CAACD,MAAM,CAACC,OAAO;IACnC;IACA,IAAI,CAACC,OAAO,GAAGd,KAAK,CAACe,aAAa,CAACC,MAAM,CAAC,CAAC;EAC/C;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,KAAK,CAACA,eAAe,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;MACxC,IAAI,CAACC,cAAc,CAAC,CAAC;MACrB,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;EACJ;EAEA,IAAIC,UAAUA,CAAA,EAAG;IAAA,IAAAC,YAAA;IACf,QAAAA,YAAA,GAAO,IAAI,CAACV,MAAM,cAAAU,YAAA,uBAAXA,YAAA,CAAatB,KAAK,CAACqB,UAAU;EACtC;EAEAE,eAAeA,CAACC,CAA+B,EAAE;IAC/C,KAAK,CAACD,eAAe,CAACC,CAAC,CAAC;IACxB,IAAIA,CAAC,YAAY5B,SAAS,EAAE;MAC1B,IAAI,CAAC6B,YAAY,GAAGD,CAAC;IACvB;EACF;EAEAE,kBAAkBA,CAACF,CAA+B,EAAQ;IACxD,KAAK,CAACE,kBAAkB,CAACF,CAAC,CAAC;IAC3B,MAAMG,MAAW,GAAG,IAAI,CAAC3B,KAAK,CAAC2B,MAAM;IACrC,IAAIA,MAAM,EAAE;MACV,OAAQA,MAAM,CAASC,OAAO;MAC9B,OAAQD,MAAM,CAASjB,SAAS;IAClC;EACF;EAEAmB,kBAAkBA,CAACC,SAAiC,EAAEC,SAAiC,EAAEC,QAAc,EAAQ;IAC7G,KAAK,CAACH,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACxD,MAAML,MAAW,GAAG,IAAI,CAAC3B,KAAK,CAAC2B,MAAM;IACrC,IAAIA,MAAM,EAAE;MACVA,MAAM,CAACM,UAAU,GAAI,IAAI,CAASA,UAAU;MAC5CN,MAAM,CAACO,aAAa,GAAK,IAAI,CAASD,UAAU;MAChDN,MAAM,CAACC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC7BD,MAAM,CAACjB,SAAS,GAAG,IAAI,CAACyB,iBAAiB;IAC3C;EACF;EAIAC,YAAYA,CAACpC,KAAmB,EAAE;IAChC,OAAO,IAAI,CAACqC,aAAa,CAAC,CAAC;EAC7B;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["WmPartial","BaseFragment","BasePartial","constructor","props","_defineProperty","isPartOfPrefab","prefab","App","appConfig","app","Actions","Object","assign","Variables","serviceDefinitions","Prefab","baseUrl","watcher","parentWatcher","create","onFragmentReady","invokeVariables","Promise","resolve","then","onContentReady","invokeEventCallback","prefabname","_this$Prefab","onComponentInit","w","targetWidget","onComponentDestroy","parent","Widgets","componentDidUpdate","prevProps","prevState","snapshot","pageParams","partialParams","fragmentVariables","renderWidget","renderPartial"],"sources":["base-partial.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmPartial from '@wavemaker/app-rn-runtime/components/page/partial/partial.component';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { ReactNode } from 'react';\nimport BasePrefab from './base-prefab.component';\nimport { Watcher } from './watcher';\nimport { View } from 'react-native';\nimport WmLottie from '../components/basic/lottie/lottie.component';\n\nexport interface PartialProps extends FragmentProps {\n serviceDefinitions: any;\n prefab: any;\n parent: any;\n onLoad?: Function;\n parentWatcher: Watcher;\n invokeVariables: boolean;\n}\n\nexport interface PartialState extends FragmentState<PartialProps> {}\n\nexport default abstract class BasePartial extends BaseFragment<PartialProps, PartialState> {\n private partialParams: any = {};\n Prefab: BasePrefab = null as any;\n\n constructor(props: PartialProps) {\n super(props);\n const isPartOfPrefab = !!this.props.prefab;\n this.App = this.appConfig.app;\n this.Actions = Object.assign({}, isPartOfPrefab ? {} : this.App.Actions);\n this.Variables = Object.assign({}, isPartOfPrefab ? {} : this.App.Variables);\n this.serviceDefinitions = this.props.serviceDefinitions;\n if (isPartOfPrefab) {\n this.Prefab = this.props.prefab;\n this.baseUrl =this.Prefab.baseUrl;\n }\n this.watcher = props.parentWatcher.create();\n }\n\n onFragmentReady() {\n if(this.props.invokeVariables === false) {\n return Promise.resolve();\n }\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.invokeEventCallback('onLoad', [this]);\n });\n }\n\n get prefabname() {\n return this.Prefab?.props.prefabname;\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPartial) {\n this.targetWidget = w;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>): void {\n super.onComponentDestroy(w);\n const parent: any = this.props.parent;\n if (parent) {\n delete (parent as any).Widgets;\n delete (parent as any).Variables;\n }\n }\n\n componentDidUpdate(prevProps: Readonly<PartialProps>, prevState: Readonly<PartialState>, snapshot?: any): void {\n super.componentDidUpdate(prevProps, prevState, snapshot);\n const parent: any = this.props.parent;\n if (parent) {\n parent.pageParams = (this as any).pageParams;\n parent.partialParams = (this as any).pageParams;\n parent.Widgets = this.Widgets;\n parent.Variables = this.fragmentVariables;\n }\n }\n \n abstract renderPartial(): ReactNode;\n\n renderWidget(props: PartialProps) {\n return this.renderPartial();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { createDrawerNavigator } from '@react-navigation/drawer';
2
+ import { createDrawerNavigator, getDrawerStatusFromState } from '@react-navigation/drawer';
3
3
  import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
4
4
  const Drawer = createDrawerNavigator();
5
5
  class AppDrawerNavigator extends React.Component {
@@ -11,15 +11,24 @@ class AppDrawerNavigator extends React.Component {
11
11
  initialRouteName: "pages",
12
12
  drawerContent: this.props.content,
13
13
  useLegacyImplementation: false,
14
- screenOptions: {
15
- drawerType: this.props.type,
16
- headerShown: false,
17
- gestureHandlerProps: {
18
- enabled: !this.props.hide
19
- },
20
- drawerStyle: {
21
- backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor
22
- }
14
+ screenOptions: ({
15
+ navigation
16
+ }) => {
17
+ const widthStyle = this.props.drawerWidth && getDrawerStatusFromState(navigation.getState()) === 'open' ? {
18
+ width: this.props.drawerWidth,
19
+ maxWidth: null
20
+ } : {};
21
+ return {
22
+ drawerType: this.props.type,
23
+ headerShown: false,
24
+ gestureHandlerProps: {
25
+ enabled: !this.props.hide
26
+ },
27
+ drawerStyle: {
28
+ backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor,
29
+ ...widthStyle
30
+ }
31
+ };
23
32
  }
24
33
  }, /*#__PURE__*/React.createElement(Drawer.Screen, {
25
34
  name: "pages"
@@ -1 +1 @@
1
- {"version":3,"names":["React","createDrawerNavigator","ThemeVariables","Drawer","AppDrawerNavigator","Component","constructor","props","render","createElement","Navigator","initialRouteName","drawerContent","content","useLegacyImplementation","screenOptions","drawerType","type","headerShown","gestureHandlerProps","enabled","hide","drawerStyle","backgroundColor","INSTANCE","pageContentBgColor","Screen","name","_props","rootComponent"],"sources":["drawer.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { createDrawerNavigator } from '@react-navigation/drawer';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nconst Drawer = createDrawerNavigator();\n\ninterface AppDrawerNavigatorProps {\n content: (props: any) => ReactNode;\n hide: boolean,\n type: any;\n rootComponent: React.ReactNode;\n}\n\nclass AppDrawerNavigator extends React.Component<AppDrawerNavigatorProps, any, any> {\n\n constructor(props: AppDrawerNavigatorProps) {\n super(props);\n }\n\n render(){\n return (<Drawer.Navigator\n initialRouteName=\"pages\"\n drawerContent={this.props.content}\n useLegacyImplementation={false}\n screenOptions={{\n drawerType: this.props.type,\n headerShown: false,\n gestureHandlerProps: { enabled: !this.props.hide },\n drawerStyle: { backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor }\n }}>\n <Drawer.Screen name=\"pages\">\n {(_props) => this.props.rootComponent}\n </Drawer.Screen>\n </Drawer.Navigator>);\n }\n}\n\nexport default AppDrawerNavigator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,qBAAqB,QAAQ,0BAA0B;AAChE,OAAOC,cAAc,MAAM,kDAAkD;AAC7E,MAAMC,MAAM,GAAGF,qBAAqB,CAAC,CAAC;AAStC,MAAMG,kBAAkB,SAASJ,KAAK,CAACK,SAAS,CAAoC;EAElFC,WAAWA,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;EACd;EAEAC,MAAMA,CAAA,EAAE;IACN,oBAAQR,KAAA,CAAAS,aAAA,CAACN,MAAM,CAACO,SAAS;MACvBC,gBAAgB,EAAC,OAAO;MACxBC,aAAa,EAAE,IAAI,CAACL,KAAK,CAACM,OAAQ;MAClCC,uBAAuB,EAAE,KAAM;MAC/BC,aAAa,EAAE;QACXC,UAAU,EAAE,IAAI,CAACT,KAAK,CAACU,IAAI;QAC3BC,WAAW,EAAE,KAAK;QAClBC,mBAAmB,EAAE;UAAEC,OAAO,EAAE,CAAC,IAAI,CAACb,KAAK,CAACc;QAAK,CAAC;QAClDC,WAAW,EAAE;UAAEC,eAAe,EAAGrB,cAAc,CAACsB,QAAQ,CAACC;QAAmB;MAChF;IAAE,gBACFzB,KAAA,CAAAS,aAAA,CAACN,MAAM,CAACuB,MAAM;MAACC,IAAI,EAAC;IAAO,GACvBC,MAAM,IAAK,IAAI,CAACrB,KAAK,CAACsB,aACX,CACC,CAAC;EACrB;AACF;AAEA,eAAezB,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["React","createDrawerNavigator","getDrawerStatusFromState","ThemeVariables","Drawer","AppDrawerNavigator","Component","constructor","props","render","createElement","Navigator","initialRouteName","drawerContent","content","useLegacyImplementation","screenOptions","navigation","widthStyle","drawerWidth","getState","width","maxWidth","drawerType","type","headerShown","gestureHandlerProps","enabled","hide","drawerStyle","backgroundColor","INSTANCE","pageContentBgColor","Screen","name","_props","rootComponent"],"sources":["drawer.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { createDrawerNavigator, getDrawerStatusFromState } from '@react-navigation/drawer';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nconst Drawer = createDrawerNavigator();\n\ninterface AppDrawerNavigatorProps {\n content: (props: any) => ReactNode;\n hide: boolean,\n drawerWidth: any;\n type: any;\n rootComponent: React.ReactNode;\n}\n\nclass AppDrawerNavigator extends React.Component<AppDrawerNavigatorProps, any, any> {\n\n constructor(props: AppDrawerNavigatorProps) {\n super(props);\n }\n\n render(){\n return (<Drawer.Navigator\n initialRouteName=\"pages\"\n drawerContent={this.props.content}\n useLegacyImplementation={false}\n screenOptions={({navigation})=> {\n const widthStyle = (this.props.drawerWidth && getDrawerStatusFromState(navigation.getState()) === 'open' ? {width: this.props.drawerWidth, maxWidth: null} : {})\n return {\n drawerType: this.props.type,\n headerShown: false,\n gestureHandlerProps: { enabled: !this.props.hide },\n drawerStyle: { backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor, ...widthStyle}}\n }}>\n <Drawer.Screen name=\"pages\">\n {(_props) => this.props.rootComponent}\n </Drawer.Screen>\n </Drawer.Navigator>);\n }\n}\n\nexport default AppDrawerNavigator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,qBAAqB,EAAEC,wBAAwB,QAAQ,0BAA0B;AAC1F,OAAOC,cAAc,MAAM,kDAAkD;AAC7E,MAAMC,MAAM,GAAGH,qBAAqB,CAAC,CAAC;AAUtC,MAAMI,kBAAkB,SAASL,KAAK,CAACM,SAAS,CAAoC;EAElFC,WAAWA,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;EACd;EAEAC,MAAMA,CAAA,EAAE;IACN,oBAAQT,KAAA,CAAAU,aAAA,CAACN,MAAM,CAACO,SAAS;MACvBC,gBAAgB,EAAC,OAAO;MACxBC,aAAa,EAAE,IAAI,CAACL,KAAK,CAACM,OAAQ;MAClCC,uBAAuB,EAAE,KAAM;MAC/BC,aAAa,EAAEA,CAAC;QAACC;MAAU,CAAC,KAAI;QAC9B,MAAMC,UAAU,GAAI,IAAI,CAACV,KAAK,CAACW,WAAW,IAAIjB,wBAAwB,CAACe,UAAU,CAACG,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG;UAACC,KAAK,EAAE,IAAI,CAACb,KAAK,CAACW,WAAW;UAAEG,QAAQ,EAAE;QAAI,CAAC,GAAG,CAAC,CAAE;QAChK,OAAO;UACLC,UAAU,EAAE,IAAI,CAACf,KAAK,CAACgB,IAAI;UAC3BC,WAAW,EAAE,KAAK;UAClBC,mBAAmB,EAAE;YAAEC,OAAO,EAAE,CAAC,IAAI,CAACnB,KAAK,CAACoB;UAAK,CAAC;UAClDC,WAAW,EAAE;YAAEC,eAAe,EAAG3B,cAAc,CAAC4B,QAAQ,CAACC,kBAAkB;YAAE,GAAGd;UAAU;QAAC,CAAC;MAChG;IAAE,gBACFlB,KAAA,CAAAU,aAAA,CAACN,MAAM,CAAC6B,MAAM;MAACC,IAAI,EAAC;IAAO,GACvBC,MAAM,IAAK,IAAI,CAAC3B,KAAK,CAAC4B,aACX,CACC,CAAC;EACrB;AACF;AAEA,eAAe/B,kBAAkB","ignoreList":[]}
@@ -34,6 +34,7 @@ class AppI18nService {
34
34
  setRTL(locale) {
35
35
  const flag = this.isRTLLocale(locale);
36
36
  const needsRestart = !isWebPreviewMode() && I18nManager.isRTL !== flag;
37
+ I18nManager.allowRTL(flag);
37
38
  I18nManager.forceRTL(flag);
38
39
  return needsRestart;
39
40
  }
@@ -1 +1 @@
1
- {"version":3,"names":["axios","StorageService","isWebPreviewMode","I18nManager","APP_LOCALE_ROOT_PATH","STORAGE_KEY","RTL_LANGUAGE_CODES","map","forEach","v","AppI18nService","constructor","_defineProperty","init","selectedLocale","getItem","isRTLLocale","newLocale","setRTL","locale","flag","needsRestart","isRTL","forceRTL","loadAppLocaleBundle","url","Promise","resolve","then","path","get","bundle","dateFormat","data","formats","date","timeFormat","time","currencyCode","currency","dateTimeFormat","catch","console","warn","appDefaults","setTimezone","timezone","getTimezone","setSelectedLocale","setItem","getSelectedLocale","i18nService"],"sources":["app-i18n.service.tsx"],"sourcesContent":["import axios, { AxiosResponse } from 'axios';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { I18nManager, Platform } from 'react-native';\nimport { I18nService } from '@wavemaker/app-rn-runtime/core/i18n.service';\n\nconst APP_LOCALE_ROOT_PATH = '/resources/i18n';\nconst STORAGE_KEY = 'selectedLocale';\nconst RTL_LANGUAGE_CODES = (()=>{\n const map = {} as any;\n [\"ar\", \"ar-001\", \"ar-ae\", \"ar-bh\", \"ar-dz\", \"ar-eg\", \"ar-iq\", \"ar-jo\", \"ar-kw\", \"ar-lb\",\n \"ar-ly\", \"ar-ma\", \"ar-om\", \"ar-qa\", \"ar-sa\", \"ar-sd\", \"ar-sy\", \"ar-tn\", \"ar-ye\", \"arc\",\n \"bcc\", \"bqi\", \"ckb\", \"dv\", \"fa\", \"glk\", \"he\", \"ku\", \"mzn\", \"pnb\", \"ps\", \"sd\", \"ug\", \"ur\", \"yi\"].forEach(v=>{\n map[v] = true;\n });\n return map;\n })();\n\nclass AppI18nService implements I18nService{\n appLocale: any;\n defaultSupportedLocale = 'en';\n selectedLocale: any;\n dateFormat: string = '';\n timeFormat: string = '';\n dateTimeFormat: string = '';\n currencyCode: string = '';\n timezone: string = '';\n\n constructor() {}\n\n async init() {\n this.selectedLocale = await StorageService.getItem(STORAGE_KEY);\n }\n\n isRTLLocale(newLocale: string = this.selectedLocale){\n return !!(newLocale && RTL_LANGUAGE_CODES[newLocale]);\n }\n\n setRTL(locale?: string){\n const flag = this.isRTLLocale(locale);\n const needsRestart = !isWebPreviewMode() && I18nManager.isRTL !== flag;\n I18nManager.forceRTL(flag);\n return needsRestart; \n }\n\n loadAppLocaleBundle(url: string) {\n return Promise.resolve().then(() => {\n const path = `${url + APP_LOCALE_ROOT_PATH}/${this.selectedLocale}.json`;\n return axios.get(path)\n .then((bundle) => {\n this.dateFormat = bundle.data.formats.date;\n this.timeFormat = bundle.data.formats.time;\n this.currencyCode = bundle.data.formats.currency;\n this.dateTimeFormat = this.dateFormat + ' ' + this.timeFormat;\n return bundle;\n })\n .catch(() => {\n console.warn(`error loading locale resource from ${path}`);\n });\n\n });\n }\n\n // app defaults support same as web \n get appDefaults(){\n return {\n dateFormat : this.dateFormat,\n timeFormat : this.timeFormat,\n currencyCode: this.currencyCode,\n dateTimeFormat: this.dateTimeFormat\n }\n }\n\n setTimezone(timezone: string){\n this.timezone = timezone;\n }\n\n getTimezone(){\n return this.timezone;\n }\n\n setSelectedLocale(locale: string) {\n this.selectedLocale = locale;\n StorageService.setItem(STORAGE_KEY, locale);\n return this.setRTL(locale);\n }\n\n getSelectedLocale() {\n return this.selectedLocale;\n }\n}\n\nconst i18nService = new AppI18nService();\n\nexport default i18nService;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["axios","StorageService","isWebPreviewMode","I18nManager","APP_LOCALE_ROOT_PATH","STORAGE_KEY","RTL_LANGUAGE_CODES","map","forEach","v","AppI18nService","constructor","_defineProperty","init","selectedLocale","getItem","isRTLLocale","newLocale","setRTL","locale","flag","needsRestart","isRTL","allowRTL","forceRTL","loadAppLocaleBundle","url","Promise","resolve","then","path","get","bundle","dateFormat","data","formats","date","timeFormat","time","currencyCode","currency","dateTimeFormat","catch","console","warn","appDefaults","setTimezone","timezone","getTimezone","setSelectedLocale","setItem","getSelectedLocale","i18nService"],"sources":["app-i18n.service.tsx"],"sourcesContent":["import axios, { AxiosResponse } from 'axios';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { I18nManager, Platform } from 'react-native';\nimport { I18nService } from '@wavemaker/app-rn-runtime/core/i18n.service';\n\nconst APP_LOCALE_ROOT_PATH = '/resources/i18n';\nconst STORAGE_KEY = 'selectedLocale';\nconst RTL_LANGUAGE_CODES = (()=>{\n const map = {} as any;\n [\"ar\", \"ar-001\", \"ar-ae\", \"ar-bh\", \"ar-dz\", \"ar-eg\", \"ar-iq\", \"ar-jo\", \"ar-kw\", \"ar-lb\",\n \"ar-ly\", \"ar-ma\", \"ar-om\", \"ar-qa\", \"ar-sa\", \"ar-sd\", \"ar-sy\", \"ar-tn\", \"ar-ye\", \"arc\",\n \"bcc\", \"bqi\", \"ckb\", \"dv\", \"fa\", \"glk\", \"he\", \"ku\", \"mzn\", \"pnb\", \"ps\", \"sd\", \"ug\", \"ur\", \"yi\"].forEach(v=>{\n map[v] = true;\n });\n return map;\n })();\n\nclass AppI18nService implements I18nService{\n appLocale: any;\n defaultSupportedLocale = 'en';\n selectedLocale: any;\n dateFormat: string = '';\n timeFormat: string = '';\n dateTimeFormat: string = '';\n currencyCode: string = '';\n timezone: string = '';\n\n constructor() {}\n\n async init() {\n this.selectedLocale = await StorageService.getItem(STORAGE_KEY);\n }\n\n isRTLLocale(newLocale: string = this.selectedLocale){\n return !!(newLocale && RTL_LANGUAGE_CODES[newLocale]);\n }\n\n setRTL(locale?: string){\n const flag = this.isRTLLocale(locale);\n const needsRestart = !isWebPreviewMode() && I18nManager.isRTL !== flag;\n I18nManager.allowRTL(flag);\n I18nManager.forceRTL(flag);\n return needsRestart; \n }\n\n loadAppLocaleBundle(url: string) {\n return Promise.resolve().then(() => {\n const path = `${url + APP_LOCALE_ROOT_PATH}/${this.selectedLocale}.json`;\n return axios.get(path)\n .then((bundle) => {\n this.dateFormat = bundle.data.formats.date;\n this.timeFormat = bundle.data.formats.time;\n this.currencyCode = bundle.data.formats.currency;\n this.dateTimeFormat = this.dateFormat + ' ' + this.timeFormat;\n return bundle;\n })\n .catch(() => {\n console.warn(`error loading locale resource from ${path}`);\n });\n\n });\n }\n\n // app defaults support same as web \n get appDefaults(){\n return {\n dateFormat : this.dateFormat,\n timeFormat : this.timeFormat,\n currencyCode: this.currencyCode,\n dateTimeFormat: this.dateTimeFormat\n }\n }\n\n setTimezone(timezone: string){\n this.timezone = timezone;\n }\n\n getTimezone(){\n return this.timezone;\n }\n\n setSelectedLocale(locale: string) {\n this.selectedLocale = locale;\n StorageService.setItem(STORAGE_KEY, locale);\n return this.setRTL(locale);\n }\n\n getSelectedLocale() {\n return this.selectedLocale;\n }\n}\n\nconst i18nService = new AppI18nService();\n\nexport default i18nService;\n"],"mappings":"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","ignoreList":[]}
@@ -38,10 +38,6 @@ class AppModalService {
38
38
  showLastModal() {
39
39
  this.modalOptions = this.modalsOpened.length ? this.modalsOpened[this.modalsOpened.length - 1] : {};
40
40
  this.refresh();
41
- // widgets in dialog are not accessible. Hence adding setTimeout
42
- setTimeout(() => {
43
- this.modalOptions.onOpen && this.modalOptions.onOpen();
44
- }, 500);
45
41
  this.setBackButtonPress();
46
42
  }
47
43
  refresh() {
@@ -53,6 +49,10 @@ class AppModalService {
53
49
  options.elevationIndex = parseInt(this.getAppConfig().app.toastsOpened + this.modalsOpened.length + 1);
54
50
  this.modalsOpened.push(options);
55
51
  this.showLastModal();
52
+ // widgets in dialog are not accessible. Hence adding setTimeout
53
+ setTimeout(() => {
54
+ this.modalOptions.onOpen && this.modalOptions.onOpen();
55
+ }, 500);
56
56
  }
57
57
  }
58
58
  hideModal(options) {
@@ -1 +1 @@
1
- {"version":3,"names":["BackHandler","injector","isAndroid","isWebPreviewMode","AppModalService","constructor","_defineProperty","modalsOpened","length","hideModal","clearBackButtonPress","removeEventListener","handleBackButtonPress","setBackButtonPress","addEventListener","getAppConfig","appConfig","get","showLastModal","modalOptions","refresh","setTimeout","onOpen","showModal","options","i","findIndex","o","elevationIndex","parseInt","app","toastsOpened","push","Promise","resolve","then","animatedRefs","triggerExit","onClose","splice","appModalService"],"sources":["app-modal.service.tsx"],"sourcesContent":["import { BackHandler } from \"react-native\";\n\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isAndroid, isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\n\nclass AppModalService implements ModalService {\n public modalOptions = {} as ModalOptions;\n\n public modalsOpened = [] as ModalOptions[];\n public appConfig: any;\n\n animatedRefs: any = [];\n\n private clearBackButtonPress() {\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n private setBackButtonPress() {\n this.clearBackButtonPress();\n if (isAndroid() && !isWebPreviewMode() && this.modalsOpened.length > 0) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n private handleBackButtonPress = () => {\n if (this.modalsOpened.length) {\n this.hideModal();\n return true;\n }\n return false;\n }\n\n private getAppConfig() {\n if (!this.appConfig) {\n this.appConfig = injector.get<AppConfig>('APP_CONFIG');\n }\n return this.appConfig;\n }\n\n private showLastModal() {\n this.modalOptions = this.modalsOpened.length ? this.modalsOpened[this.modalsOpened.length - 1] : {} as ModalOptions;\n this.refresh();\n // widgets in dialog are not accessible. Hence adding setTimeout\n setTimeout(() => {\n this.modalOptions.onOpen && this.modalOptions.onOpen();\n },500);\n this.setBackButtonPress();\n }\n\n public refresh() {\n this.getAppConfig().refresh();\n }\n\n public showModal(options: ModalOptions) {\n const i = this.modalsOpened.findIndex(o => o === options);\n if (i < 0) {\n options.elevationIndex = parseInt(this.getAppConfig().app.toastsOpened + this.modalsOpened.length + 1);\n this.modalsOpened.push(options);\n this.showLastModal();\n }\n }\n\n public hideModal(options?: ModalOptions) {\n const i = options ? this.modalsOpened.findIndex(o => o === options) : (this.modalsOpened.length - 1);\n if (i >= 0) {\n Promise.resolve()\n .then(() => this.modalsOpened.length > 1 && this.animatedRefs && this.animatedRefs[i].triggerExit())\n .then(() => {\n const o = this.modalsOpened[i];\n return o && o.onClose && o.onClose();\n })\n .then(() => this.modalsOpened.splice(i, 1))\n .then(() => this.showLastModal());\n }\n this.clearBackButtonPress();\n }\n}\n\nconst appModalService = new AppModalService();\n\nexport default appModalService;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BackHandler","injector","isAndroid","isWebPreviewMode","AppModalService","constructor","_defineProperty","modalsOpened","length","hideModal","clearBackButtonPress","removeEventListener","handleBackButtonPress","setBackButtonPress","addEventListener","getAppConfig","appConfig","get","showLastModal","modalOptions","refresh","showModal","options","i","findIndex","o","elevationIndex","parseInt","app","toastsOpened","push","setTimeout","onOpen","Promise","resolve","then","animatedRefs","triggerExit","onClose","splice","appModalService"],"sources":["app-modal.service.tsx"],"sourcesContent":["import { BackHandler } from \"react-native\";\n\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isAndroid, isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\n\nclass AppModalService implements ModalService {\n public modalOptions = {} as ModalOptions;\n\n public modalsOpened = [] as ModalOptions[];\n public appConfig: any;\n\n animatedRefs: any = [];\n\n private clearBackButtonPress() {\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n private setBackButtonPress() {\n this.clearBackButtonPress();\n if (isAndroid() && !isWebPreviewMode() && this.modalsOpened.length > 0) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n private handleBackButtonPress = () => {\n if (this.modalsOpened.length) {\n this.hideModal();\n return true;\n }\n return false;\n }\n\n private getAppConfig() {\n if (!this.appConfig) {\n this.appConfig = injector.get<AppConfig>('APP_CONFIG');\n }\n return this.appConfig;\n }\n\n private showLastModal() {\n this.modalOptions = this.modalsOpened.length ? this.modalsOpened[this.modalsOpened.length - 1] : {} as ModalOptions;\n this.refresh();\n this.setBackButtonPress();\n }\n\n public refresh() {\n this.getAppConfig().refresh();\n }\n\n public showModal(options: ModalOptions) {\n const i = this.modalsOpened.findIndex(o => o === options);\n if (i < 0) {\n options.elevationIndex = parseInt(this.getAppConfig().app.toastsOpened + this.modalsOpened.length + 1);\n this.modalsOpened.push(options);\n this.showLastModal();\n // widgets in dialog are not accessible. Hence adding setTimeout\n setTimeout(() => {\n this.modalOptions.onOpen && this.modalOptions.onOpen();\n },500);\n }\n }\n\n public hideModal(options?: ModalOptions) {\n const i = options ? this.modalsOpened.findIndex(o => o === options) : (this.modalsOpened.length - 1);\n if (i >= 0) {\n Promise.resolve()\n .then(() => this.modalsOpened.length > 1 && this.animatedRefs && this.animatedRefs[i].triggerExit())\n .then(() => {\n const o = this.modalsOpened[i];\n return o && o.onClose && o.onClose();\n })\n .then(() => this.modalsOpened.splice(i, 1))\n .then(() => this.showLastModal());\n }\n this.clearBackButtonPress();\n }\n}\n\nconst appModalService = new AppModalService();\n\nexport default appModalService;\n"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,11 @@ export class Theme {
48
48
  this.traceEnabled = isWebPreviewMode();
49
49
  }
50
50
  }
51
+ enableTrace(flag) {
52
+ this.traceEnabled = flag;
53
+ this.reset();
54
+ this.children.forEach(t => t.enableTrace(flag));
55
+ }
51
56
  subscribe(event, fn) {
52
57
  return this.eventNotifer.subscribe(event, fn);
53
58
  }