@wavemaker/app-rn-runtime 12.0.0-next.140494 → 12.0.0-next.140498
Sign up to get free protection for your applications and to get access to all the features.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +5 -3
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -3
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +1 -0
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.component.js +2 -1
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.styles.js +1 -0
- app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -4
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +0 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +14 -8
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +2 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +2 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +1 -1
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +6 -3
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +5 -5
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +10 -7
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +2 -2
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +2 -3
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/core/base.component.js +1 -0
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/textinput.component.js +3 -3
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/props.provider.js +4 -1
- app-rn-runtime/core/props.provider.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/base-fragment.component.js +15 -0
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName)) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":";;;AAAA,SAASA,MAAM,EAAEC,KAAK,QAAQ,WAAW;AAGzC,OAAO,MAAMC,aAAa,CAAsB;EAO5CC,WAAWA,CAASC,YAAe,EAAUC,SAAY,EAAUC,QAAQ,GAAGA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,KAAK,CAAC,CAAC,EAAE;IAAA,KAAtGL,YAAe,GAAfA,YAAe;IAAA,KAAUC,SAAY,GAAZA,SAAY;IAAA,KAAUC,QAAQ,GAARA,QAAQ;IAAAI,eAAA,mBANnD,CAAC,CAAC;IAAAA,eAAA,0BACK,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,kBAEf,KAAK;IAAAA,eAAA,wBACC,CAAC,CAAC;IAGtB,IAAI,CAACL,SAAS,GAAG,IAAI,CAACA,SAAS,IAAI,CAAC,CAAC;IACrCM,MAAM,CAACC,IAAI,CAACR,YAAY,CAAC,CAACS,OAAO,CAACC,CAAC,IAAI,IAAI,CAACC,aAAa,CAACD,CAAC,CAAC,GAAG,IAAI,CAAC;IACpEH,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,OAAO,CAACC,CAAC,IAAI,IAAI,CAACC,aAAa,CAACD,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE;IACA,IAAI,CAACE,UAAU,GAAI,IAAIC,KAAK,CAAC,CAAC,CAAC,EAAE;MAC7BC,GAAG,EAAEA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,KAAU;QAClC,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAQ,CAAC,CAAC;QAChC,IAAIC,KAAK,GAAI,IAAI,CAACpB,YAAY,CAASkB,QAAQ,CAAC;QAChD,IAAI,IAAI,CAACG,eAAe,CAACC,cAAc,CAACJ,QAAQ,CAAC,EAAE;UAC/CE,KAAK,GAAG,IAAI,CAACC,eAAe,CAACH,QAAQ,CAAC;QAC1C,CAAC,MAAM,IAAI,IAAI,CAACK,QAAQ,CAACD,cAAc,CAACJ,QAAQ,CAAC,EAAE;
|
1
|
+
{"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","overrideProps","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName) && this.oldProps[propName] !== null) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n overrideProps(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
app-rn-runtime/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "12.0.0-next.
|
3
|
+
"version": "12.0.0-next.140498",
|
4
4
|
"description": "''",
|
5
5
|
"main": "index",
|
6
6
|
"module": "index",
|
@@ -49,7 +49,7 @@
|
|
49
49
|
"@react-navigation/drawer": "6.6.3",
|
50
50
|
"@react-navigation/native": "6.1.7",
|
51
51
|
"@react-navigation/stack": "6.3.29",
|
52
|
-
"@wavemaker/variables": "12.0.0-next.
|
52
|
+
"@wavemaker/variables": "12.0.0-next.140498",
|
53
53
|
"axios": "1.6.8",
|
54
54
|
"color": "4.2.3",
|
55
55
|
"cross-env": "7.0.3",
|
@@ -139,7 +139,7 @@
|
|
139
139
|
"typescript": "5.1.3",
|
140
140
|
"victory-native": "36.6.11",
|
141
141
|
"yargs": "16.2.0",
|
142
|
-
"@wavemaker/variables": "12.0.0-next.
|
142
|
+
"@wavemaker/variables": "12.0.0-next.140498"
|
143
143
|
},
|
144
144
|
"jest": {
|
145
145
|
"preset": "jest-expo",
|
@@ -205,6 +205,21 @@ export default class BaseFragment extends BaseComponent {
|
|
205
205
|
}
|
206
206
|
return inlineStyles;
|
207
207
|
}
|
208
|
+
getFormFieldStyles(formField, type) {
|
209
|
+
var _formField$classname;
|
210
|
+
let suffix = '';
|
211
|
+
switch (type) {
|
212
|
+
case 'label':
|
213
|
+
suffix = '_formLabel';
|
214
|
+
break;
|
215
|
+
case 'commonField':
|
216
|
+
suffix = '-input';
|
217
|
+
break;
|
218
|
+
default:
|
219
|
+
'';
|
220
|
+
}
|
221
|
+
return formField === null || formField === void 0 || (_formField$classname = formField.classname) === null || _formField$classname === void 0 || (_formField$classname = _formField$classname.trim()) === null || _formField$classname === void 0 || (_formField$classname = _formField$classname.split(' ')) === null || _formField$classname === void 0 ? void 0 : _formField$classname.map(s => s.trim() + suffix).join(' ');
|
222
|
+
}
|
208
223
|
resetAppLocale() {
|
209
224
|
this.appLocale = this.appConfig.appLocale.messages;
|
210
225
|
Object.values(this.fragments).forEach(f => f.resetAppLocale());
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","FragmentProps","BaseFragment","constructor","props","defaultProps","_defineProperty","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","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","e","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","map","BEFORE_INVOKE","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","cleanUpVariablesandActions","fragmentVariables","fragmentActions","startUpActions","a","invoke","Promise","all","startUpVariables","s","catch","error","console","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","forceUpdate","generateTestIdPrefix","testId","getTestId","split","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } 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 } 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';\n\nexport class FragmentProps extends BaseProps {\n\n}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {};\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 private 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 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 <ThemeProvider value={this.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\n </ThemeProvider>) : null;\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","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","FragmentProps","BaseFragment","constructor","props","defaultProps","_defineProperty","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","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } 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 } 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';\n\nexport class FragmentProps extends BaseProps {\n\n}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {};\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 private 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 <ThemeProvider value={this.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\n </ThemeProvider>) : null;\n }\n}\n\n\n"],"mappings":"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","ignoreList":[]}
|