@wavemaker/app-rn-runtime 11.9.2-next.27534 → 11.9.2-next.27535
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.
- app-rn-runtime/components/data/form/form-field/form-field.component.js +2 -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 +3 -3
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/App.js +4 -0
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +27 -2
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
@@ -220,8 +220,9 @@ export default class WmFormField extends BaseComponent {
|
|
220
220
|
}
|
221
221
|
renderWidget(props) {
|
222
222
|
var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, child => {
|
223
|
+
var _child$props;
|
223
224
|
return /*#__PURE__*/React.cloneElement(child, {
|
224
|
-
datavalue: props.datavalue,
|
225
|
+
datavalue: props.datavalue || (child === null || child === void 0 || (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.datavalue),
|
225
226
|
value: this.value,
|
226
227
|
isValid: this.state.isValid,
|
227
228
|
maskchar: props.maskchar,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","placeholder","createElement","style","styles","root","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","_child$props","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","placeholder","createElement","style","styles","root","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue || child?.props?.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -152,7 +152,7 @@ export class BaseNumberComponent extends BaseComponent {
|
|
152
152
|
if (value === oldValue) {
|
153
153
|
return;
|
154
154
|
}
|
155
|
-
const validNumber = this.isValidNumber(model) || value
|
155
|
+
const validNumber = this.isValidNumber(model) || value === oldValue + '.';
|
156
156
|
if (!validNumber) {
|
157
157
|
this.invokeEventCallback('onError', [event, this.proxy, value, oldValue]);
|
158
158
|
return;
|
@@ -258,13 +258,13 @@ export class BaseNumberComponent extends BaseComponent {
|
|
258
258
|
*/
|
259
259
|
getValueInRange(value) {
|
260
260
|
const props = this.state.props;
|
261
|
-
if (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {
|
261
|
+
if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {
|
262
262
|
this.updateState({
|
263
263
|
errorType: 'minvalue'
|
264
264
|
});
|
265
265
|
return props.minvalue;
|
266
266
|
}
|
267
|
-
if (!isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {
|
267
|
+
if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {
|
268
268
|
this.updateState({
|
269
269
|
errorType: 'maxvalue'
|
270
270
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value == oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":";;;AAAA,SAASA,QAAQ,EAAEC,YAAY,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,KAAK,QAAQ,QAAQ;AAEhF,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,SAASC,aAAa,QAAQ,wEAAwE;AACtG,SAASC,QAAQ,QAAmB,cAAc;AAClD,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,sCAAsC;AAExF,OAAO,MAAMC,eAAe,SAAqCL,kBAAkB,CAAI;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBAClE,IAAI;IAAAA,eAAA,yBACG,KAAK;IAAAA,eAAA,oBACX,EAAE;IAAAA,eAAA,oBACV,KAAK;IAAAA,eAAA,oBACL,EAAE;EAAA;AAChB;AAEA,OAAO,MAAeC,mBAAmB,SAA+FV,aAAa,CAAU;EAK7JO,WAAWA,CAACI,KAAQ,EAASC,YAAoB,GAAGV,aAAa,EAAEW,YAAgB,EAAEC,YAAgB,EAAE;IACrG,KAAK,CAACH,KAAK,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC;IAAC,KAD5BF,YAAoB,GAApBA,YAAoB;IAAAH,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAFZ,IAAI;IAAAA,eAAA,iBACnB,CAAC;IAGrB,IAAI,CAACM,OAAO,GAAG,GAAG;IAClB,IAAI,CAACC,KAAK,GAAG,GAAG;EAClB;EAEAC,QAAQA,CAACC,KAAU,EAAE;IACnB,IAAI,IAAI,CAACC,KAAK,CAACR,KAAK,CAACS,QAAQ,KAAK,SAAS,EAAE;MAC3C,IAAI,CAACC,eAAe,CAACH,KAAK,CAACI,MAAM,CAACC,KAAK,EAAEL,KAAK,CAAC;IACjD;EACF;EAEAM,KAAKA,CAAA,EAAG;IAAA,IAAAC,eAAA;IACN,IAAI,aAAJ,IAAI,gBAAAA,eAAA,GAAJ,IAAI,CAAEC,SAAS,cAAAD,eAAA,eAAfA,eAAA,CAAiBD,KAAK,CAAC,CAAC;EAC1B;EAEAG,gBAAgBA,CAACJ,KAAa,EAAEK,IAA2B,EAAE;IAAA,IAAAC,YAAA;IAC3D,MAAMC,eAAe,GAAGF,IAAI,KAAK,UAAU;IAC3C,IAAIG,WAAW,GAAG,IAAI;;IAEtB;IACA,IAAI,gBAAgB,CAACC,IAAI,CAACT,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAACS,IAAI,CAACT,KAAK,CAAC,EAAE;MACtEQ,WAAW,GAAG,KAAK;IACrB;;IAEA;IACA,IAAID,eAAe,KAAKG,MAAM,CAACV,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAACS,IAAI,CAACT,KAAK,CAAC,CAAC,EAAE;MAC9DQ,WAAW,GAAG,KAAK;IACrB;;IAEA;IACA,IAAI,CAACD,eAAe,IAAKG,MAAM,EAAAJ,YAAA,GAACN,KAAK,CAACW,KAAK,CAAC,IAAI,CAAC,cAAAL,YAAA,uBAAjBA,YAAA,CAAmBM,MAAM,CAAC,GAAG,CAAE,IAAI,KAAK,CAACH,IAAI,CAACT,KAAK,CAAC,EAAE;MACpFQ,WAAW,GAAG,KAAK;IACrB;;IAEA;IACA,IAAI,gBAAgB,CAACC,IAAI,CAACT,KAAK,CAAC,EAAE;MAChCQ,WAAW,GAAG,KAAK;IACrB;;IAEA;IACA,IAAI,OAAO,CAACC,IAAI,CAACT,KAAK,CAAC,EAAE;MACvBQ,WAAW,GAAG,KAAK;IACrB;IAEA,OAAOA,WAAW;EACpB;EAEAK,YAAYA,CAACb,KAAa,EAAEK,IAA2B,EAAES,qBAA+B,EAAE;IACxF,MAAMC,QAAQ,GAAGD,qBAAqB,GAAG,GAAG,IAAI,CAACE,WAAW,CAAChB,KAAK,CAACiB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,GAAGjB,KAAK;IACrG,MAAMkB,mBAAmB,GAAG,IAAI,CAACd,gBAAgB,CAACW,QAAQ,EAAEV,IAAI,CAAC;IACjE,IAAI,CAACa,mBAAmB,EAAE;MACxB;IACF;IAEA,MAAMC,qBAAqB,GAAGtC,kBAAkB,CAACkC,QAAQ,CAAC;IAE1D,IAAI,IAAI,CAAC3B,KAAK,CAACgC,aAAa,GAAGD,qBAAqB,EAAE;MACpD;IACF;IAEA,IAAI,CAACE,WAAW,CAAC;MACbC,SAAS,EAAEP;IACb,CAAC,EAAO,MAAM;MACZ,IAAI,IAAI,CAACnB,KAAK,CAACR,KAAK,CAACS,QAAQ,KAAK,SAAS,EAAE;QAC3C,IAAI,CAAC0B,QAAQ,CAACR,QAAQ,CAAC;QACvB,IAAI,CAACjB,eAAe,CAACiB,QAAQ,EAAE,IAAI,CAAC;MACtC;IACF,CACF,CAAC;EACH;EAEAS,YAAYA,CAACC,CAAM,EAAE;IACnB,IAAI7C,QAAQ,CAAC8C,EAAE,KAAK,KAAK,EAAE;MACzB,IAAI,CAACC,MAAM,GAAGF,CAAC,CAAC1B,MAAM,CAAC6B,cAAc;MACrC,IAAI,CAACC,QAAQ,CAAC;QAAEP,SAAS,EAAEG,CAAC,CAAC1B,MAAM,CAACC;MAAM,CAAC,CAAC;IAC9C;EACF;EAEAuB,QAAQA,CAACvB,KAAU,EAAE;IACnB,MAAM8B,aAAa,GAAGhD,aAAa,CAAC,IAAI,CAACc,KAAK,CAACR,KAAK,EAAEY,KAAK,CAAC;IAC5D,IAAI,CAACqB,WAAW,CAAC;MACfU,OAAO,EAAED,aAAa,CAACC,OAAO;MAC9BC,SAAS,EAAEF,aAAa,CAACE;IAC3B,CAAM,CAAC;EAET;EAEAC,gBAAgBA,CAACjC,KAAU,EAAE;IAC3B,MAAMZ,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIA,KAAK,CAAC8C,MAAM,EAAE;MAChB,MAAMC,SAAS,GAAG,IAAIC,MAAM,CAAChD,KAAK,CAAC8C,MAAM,EAAE,GAAG,CAAC;MAC/C,OAAOC,SAAS,CAAC1B,IAAI,CAACT,KAAK,CAAC;IAC9B;IACA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;EACUgB,WAAWA,CAACqB,GAAW,EAAO;IACpC;IACA,MAAMC,KAAK,GAAGD,GAAG,CAACE,KAAK,CAAC,IAAI,CAAC/C,OAAO,CAAC;IACrC,IAAI,CAAC8C,KAAK,CAAC1B,MAAM,EAAE;MACjB;IACF;IACA,IAAI0B,KAAK,CAAC1B,MAAM,GAAG,CAAC,EAAE;MACpB,OAAO4B,GAAG;IACZ;IACA;IACA,IAAIF,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;MACnB,OAAOE,GAAG;IACZ;IACA;IACA,MAAMC,MAAM,GAAG/B,MAAM,CAAC4B,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC9C,KAAK,CAAC,CAACiD,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAMC,OAAO,GAAGjC,MAAM,CAAC,KAAK4B,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5C,IAAI5B,MAAM,CAACrC,KAAK,CAACoE,MAAM,CAAC,IAAI/B,MAAM,CAACrC,KAAK,CAACsE,OAAO,CAAC,EAAE;MACjD,OAAOH,GAAG;IACZ;IACA,MAAMI,GAAG,GAAGN,KAAK,CAAC1B,MAAM,GAAG,CAAC,GAAGiC,UAAU,CAAC,CAACJ,MAAM,GAAGE,OAAO,EAAEG,OAAO,CAACR,KAAK,CAAC,CAAC,CAAC,CAAC1B,MAAM,CAAC,CAAC,GAAG6B,MAAM,GAAGE,OAAO;IACzG;IACA;IACA;IACA;IACA,IAAIF,MAAM,KAAK,CAAC,EAAE;MAChB,OAAOM,MAAM,CAACC,EAAE,CAAC,CAAC,EAAEP,MAAM,CAAC,GAAGG,GAAG,GAAGH,MAAM,GAAGE,OAAO;IACtD;IACA,OAAOF,MAAM,GAAG,CAAC,GAAGG,GAAG,GAAGH,MAAM,GAAGE,OAAO;EAC5C;EAEA7C,eAAeA,CAACE,KAAU,EAAEL,KAAW,EAAEsD,MAAY,EAAE;IACrD,MAAMC,KAAK,GAAGlD,KAAK,IAAI,IAAI,CAACgB,WAAW,CAAChB,KAAK,CAACmD,QAAQ,CAAC,CAAC,CAAC;IACzD,MAAM/D,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,MAAMgE,QAAQ,GAAGhE,KAAK,CAACiE,SAAS;IAChC,IAAIrD,KAAK,KAAKoD,QAAQ,EAAE;MACtB;IACF;IACA,MAAME,WAAW,GAAG,IAAI,CAACC,aAAa,CAACL,KAAK,CAAC,IAAIlD,KAAK,KAAKoD,QAAQ,GAAG,GAAG;IACzE,IAAI,CAACE,WAAW,EAAE;MAChB,IAAI,CAACE,mBAAmB,CAAC,SAAS,EAAE,CAAE7D,KAAK,EAAE,IAAI,CAAC8D,KAAK,EAAEzD,KAAK,EAAEoD,QAAQ,CAAE,CAAC;MAC3E;IACF;IAEA,IAAIM,OAAO,CAAEC,OAAO,IAAK;MACvB,IAAIvE,KAAK,CAACwE,gBAAgB,EAAE;QAC1B,IAAI,CAACC,OAAO,CAAC,WAAW,EAAE7D,KAAK,CAAC;QAChC,IAAI,CAACqB,WAAW,CAAC;UAACjC,KAAK,EAAE;YAAE,WAAW,EAAEY;UAAM;QAAC,CAAM,CAAC;QACtD2D,OAAO,CAAC,IAAI,CAAC;MACf,CAAC,MAAM;QACL,IAAI,CAACtC,WAAW,CAAC;UACfjC,KAAK,EAAE;YACLiE,SAAS,EAAEH,KAAK,IAAIxC,MAAM,CAACV,KAAK;UAClC;QACF,CAAC,EAAO,MAAM2D,OAAO,CAAC,IAAI,CAAC,CAAC;MAC9B;IACF,CAAC,CAAC,CAACG,IAAI,CAAC,MAAM;MACZ,CAAC,IAAI,CAAC1E,KAAK,CAAC2E,aAAa,IAAI/D,KAAK,KAAKoD,QAAQ,IAAI,IAAI,CAACI,mBAAmB,CAAC,UAAU,EAAE,CAAC7D,KAAK,EAAE,IAAI,CAAC8D,KAAK,EAAEP,KAAK,EAAEE,QAAQ,CAAC,CAAC;MAC7H,IAAIH,MAAM,KAAK,MAAM,EAAE;QACrB,IAAI,CAACO,mBAAmB,CAAC,QAAQ,EAAE,CAAC7D,KAAK,EAAE,IAAI,CAAC8D,KAAK,CAAC,CAAC;MACzD;IACF,CAAC,CAAC;EACJ;EAEAO,MAAMA,CAACrE,KAAU,EAAEsE,qBAA+B,EAAE;IAClD,MAAMC,OAAO,GAAG,IAAI,CAACtE,KAAK,CAAC0B,SAAS,IAAI,EAAE;IAC1C,IAAI6C,MAAM,GAAGF,qBAAqB,GAAGC,OAAO,GAAGvE,KAAK,CAACI,MAAM,CAACC,KAAK,IAAIkE,OAAO;IAC5E,IAAI,CAAC3C,QAAQ,CAAC4C,MAAM,CAAC;IACrB,IAAIA,MAAM,KAAK,EAAE,IAAIA,MAAM,IAAIC,SAAS,EAAE;MACxCC,UAAU,CAAC,MAAM;QACf,IAAI,CAACjF,KAAK,CAACkF,iBAAiB,IAAI,IAAI,CAAClF,KAAK,CAACkF,iBAAiB,CAAC,CAAC;MAChE,CAAC,EAAC,EAAE,CAAC;IACP;IACA,IAAI,IAAI,CAAC1E,KAAK,CAACR,KAAK,CAACS,QAAQ,KAAK,MAAM,IAAI,IAAI,CAACD,KAAK,CAACR,KAAK,CAACS,QAAQ,KAAK,SAAS,EAAE;MACnF,IAAI0E,MAAM,GAAG,IAAI,CAAC3E,KAAK,CAACR,KAAK,CAACiE,SAAS,IAAI,EAAE;MAC7C,IAAIkB,MAAM,KAAKJ,MAAM,IAAI,IAAI,CAACvE,KAAK,CAACR,KAAK,CAACS,QAAQ,KAAK,MAAM,EAAE;QAC7D,IAAI,CAACC,eAAe,CAACqE,MAAM,EAAExE,KAAK,EAAE,MAAM,CAAC;MAC7C,CAAC,MAAM;QACL,IAAI,CAAC6D,mBAAmB,CAAC,QAAQ,EAAE,CAAC7D,KAAK,EAAE,IAAI,CAAC8D,KAAK,CAAC,CAAC;MACzD;MACA,IAAI,CAAC5B,QAAQ,CAAC;QAAE2C,cAAc,EAAE;MAAK,CAAC,CAAC;IACzC;EACF;EAEAC,OAAOA,CAAC9E,KAAU,EAAE;IAClB,IAAI,CAAC6D,mBAAmB,CAAC,SAAS,EAAE,CAAE7D,KAAK,EAAE,IAAI,CAAC8D,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC5B,QAAQ,CAAC;MAAE2C,cAAc,EAAE;IAAI,CAAC,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;EACUE,aAAaA,CAAC1E,KAAU,EAAE;IAChC,IAAIA,KAAK,IAAMA,KAAK,GAAG,CAAC,KAAM,CAAE,EAAE;MAChC,MAAM2E,YAAY,GAAG3E,KAAK,CAACmD,QAAQ,CAAC,CAAC,CAACZ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACnD,OAAOoC,YAAY,IAAIA,YAAY,CAAC/D,MAAM;IAC5C;IACA,OAAO,CAAC;EACV;EAEOgE,kBAAkBA,CAACC,MAAW,EAAE;IACrC,MAAMzF,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;;IAE9B;IACA,IAAIyF,MAAM,CAACC,OAAO,IAAI3G,QAAQ,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE0G,MAAM,CAACE,GAAG,CAAC,EAAE;MAC9G;IACF;IAEA,MAAMC,QAAQ,GAAG,IAAI5C,MAAM,CAAC,gBAAgB,IAAI,CAAC3C,KAAK,GAAG,IAAI,CAACD,OAAO,IAAI,EAAE,GAAG,CAAC;IAC/E,MAAMyF,UAAU,GAAGJ,MAAM,CAAC9E,MAAM,CAACC,KAAK;IACtC;IACA,IAAIiF,UAAU,IAAI,IAAI,CAACP,aAAa,CAACtF,KAAK,CAAC8F,IAAI,CAAC,IAAK,IAAI,CAACR,aAAa,CAACO,UAAU,CAAC,IAAI,IAAI,CAACP,aAAa,CAACtF,KAAK,CAAC8F,IAAI,CAAE,EAAE;MACtHL,MAAM,CAACM,cAAc,CAAC,CAAC;IACzB;IACA;IACA,IAAI,CAACH,QAAQ,CAACvE,IAAI,CAACoE,MAAM,CAACE,GAAG,CAAC,EAAE;MAC9BF,MAAM,CAACM,cAAc,CAAC,CAAC;IACzB;IACA;IACA,IAAIhH,QAAQ,CAAC8G,UAAU,EAAE,IAAI,CAACzF,OAAO,CAAC,IAAIqF,MAAM,CAACE,GAAG,KAAK,IAAI,CAACvF,OAAO,EAAE;MACrEqF,MAAM,CAACM,cAAc,CAAC,CAAC;IACzB;IACA;IACA,IAAI/G,YAAY,CAACG,OAAO,CAAC0G,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAACrE,MAAM,IAAIzC,QAAQ,CAAC,IAAI,EAAE0G,MAAM,CAACE,GAAG,CAAC,EAAE;MACtFF,MAAM,CAACM,cAAc,CAAC,CAAC;IACzB;IACA,IAAI,CAAChH,QAAQ,CAAC8G,UAAU,EAAE,GAAG,CAAC,IAAI9G,QAAQ,CAAC8G,UAAU,EAAE,GAAG,CAAC,MAAMJ,MAAM,CAACE,GAAG,KAAK,GAAG,IAAIF,MAAM,CAACE,GAAG,KAAK,GAAG,CAAC,EAAE;MAC1GF,MAAM,CAACM,cAAc,CAAC,CAAC;IACzB;IACA,IAAI,CAAC3B,mBAAmB,CAAC,YAAY,EAAE,CAAEqB,MAAM,EAAE,IAAI,CAACpB,KAAK,CAAC,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;AACA;EACU2B,eAAeA,CAACpF,KAAa,EAAU;IAC7C,MAAMZ,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIA,KAAK,CAACiG,QAAQ,IAAI,CAAC7G,KAAK,CAACwB,KAAK,CAAC,IAAI,CAAC3B,KAAK,CAACe,KAAK,CAACiG,QAAQ,CAAC,IAAIrF,KAAK,GAAGZ,KAAK,CAACiG,QAAQ,EAAE;MACvF,IAAI,CAAChE,WAAW,CAAC;QAAEW,SAAS,EAAE;MAAU,CAAM,CAAC;MAC/C,OAAO5C,KAAK,CAACiG,QAAQ;IACvB;IACA,IAAIjG,KAAK,CAACkG,QAAQ,IAAI,CAAC9G,KAAK,CAACwB,KAAK,CAAC,IAAI,CAAC3B,KAAK,CAACe,KAAK,CAACkG,QAAQ,CAAC,IAAItF,KAAK,GAAGZ,KAAK,CAACkG,QAAQ,EAAE;MACvF,IAAI,CAACjE,WAAW,CAAC;QAAEW,SAAS,EAAE;MAAU,CAAM,CAAC;MAC/C,OAAO5C,KAAK,CAACkG,QAAQ;IACvB;IACA,OAAOtF,KAAK;EACd;;EAEA;AACF;AACA;AACA;AACA;EACUuD,aAAaA,CAAClB,GAAW,EAAW;IAC1C,MAAMjD,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;;IAE9B;IACA;IACA,IAAI,IAAI,CAACQ,KAAK,CAACR,KAAK,CAACmG,QAAQ,KAAK,KAAK,IAAIlD,GAAG,KAAK,EAAE,EAAE;MACrD,OAAO,IAAI;IACb;IACA;IACA,IAAIhE,KAAK,CAACgE,GAAG,CAAC,IAAI,CAAC/D,QAAQ,CAAC+D,GAAG,CAAC,IAAK,CAAC3B,MAAM,CAAC8E,SAAS,CAACpG,KAAK,CAAC8F,IAAI,CAAC,IAChE,IAAI,CAACR,aAAa,CAACrC,GAAG,CAAC,GAAG,IAAI,CAACqC,aAAa,CAACtF,KAAK,CAAC8F,IAAI,CAAE,EAAE;MAC3D,IAAI,CAAC7D,WAAW,CAAC;QACfU,OAAO,EAAE;MACX,CAAM,CAAC;MACP,OAAO,KAAK;IACd;IACA,IAAIM,GAAG,KAAK,IAAI,CAAC+C,eAAe,CAAC/C,GAAG,CAAC,EAAE;MACrC,IAAI,CAAChB,WAAW,CAAC;QACfU,OAAO,EAAE;MACX,CAAM,CAAC;MACP,OAAO,IAAI;IACb;IACA,IAAI,CAAC0D,gBAAgB,CAAC,CAAC;IACvB,OAAO,IAAI;EACb;;EAEA;EACUA,gBAAgBA,CAAA,EAAG;IAC3B,IAAI,CAACpE,WAAW,CAAC;MACfU,OAAO,EAAE;IACX,CAAM,CAAC;EACT;EAEA2D,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,QAAQF,IAAI;MACV,KAAK,UAAU;MACf,KAAK,UAAU;QACb,IAAIC,IAAI,IAAGC,IAAI,EAAE;UACf,IAAI,CAACtC,aAAa,CAACqC,IAAI,CAAC;QAC1B;QACA;MACF,KAAK,WAAW;QACd,IAAI,CAACvE,WAAW,CAAC;UACfC,SAAS,EAAEsE;QACb,CAAM,CAAC;QACP,MAAME,SAAS,GAAG,IAAI,CAAClG,KAAK,CAACkG,SAAS;QACtC,IAAIA,SAAS,EAAE;UACb,IAAI,CAACzE,WAAW,CAAC;YAAEyE,SAAS,EAAE;UAAM,CAAC,EAAO,IAAI,CAAC1G,KAAK,CAAC2E,aAAa,IAAI,IAAI,CAAC3E,KAAK,CAAC2E,aAAa,CAACgC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAEH,IAAI,EAAEC,IAAI,EAAEC,SAAS,CAAC,CAAC;QAClJ,CAAC,MAAM;UACL,IAAI,CAAC1G,KAAK,CAAC2E,aAAa,IAAI,IAAI,CAAC3E,KAAK,CAAC2E,aAAa,CAAC,WAAW,EAAE6B,IAAI,EAAEC,IAAI,EAAEC,SAAS,CAAC;QAC1F;QACA;MACF,KAAK,cAAc;QACjB,IAAI,CAACzE,WAAW,CAAC;UACf2E,YAAY,EAAEJ;QAChB,CAAQ,CAAC;IACb;EACF;AACF","ignoreList":[]}
|
app-rn-runtime/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.9.2-next.
|
3
|
+
"version": "11.9.2-next.27535",
|
4
4
|
"description": "''",
|
5
5
|
"main": "index",
|
6
6
|
"module": "index",
|
@@ -51,7 +51,7 @@
|
|
51
51
|
"@react-navigation/drawer": "6.6.3",
|
52
52
|
"@react-navigation/native": "6.1.7",
|
53
53
|
"@react-navigation/stack": "6.3.29",
|
54
|
-
"@wavemaker/variables": "11.9.2-next.
|
54
|
+
"@wavemaker/variables": "11.9.2-next.27535",
|
55
55
|
"axios": "1.6.8",
|
56
56
|
"color": "4.2.3",
|
57
57
|
"cross-env": "7.0.3",
|
@@ -142,7 +142,7 @@
|
|
142
142
|
"typescript": "5.1.3",
|
143
143
|
"victory-native": "36.6.11",
|
144
144
|
"yargs": "16.2.0",
|
145
|
-
"@wavemaker/variables": "11.9.2-next.
|
145
|
+
"@wavemaker/variables": "11.9.2-next.27535"
|
146
146
|
},
|
147
147
|
"jest": {
|
148
148
|
"preset": "jest-expo",
|
app-rn-runtime/runtime/App.js
CHANGED
@@ -175,6 +175,10 @@ export default class BaseApp extends React.Component {
|
|
175
175
|
var _this$commonPartial2;
|
176
176
|
return (_this$commonPartial2 = this.commonPartial) === null || _this$commonPartial2 === void 0 ? void 0 : _this$commonPartial2.Widgets;
|
177
177
|
}
|
178
|
+
async onBeforePageLeave(currentPage, nextPage) {
|
179
|
+
//method can be override by the user from studio;
|
180
|
+
return true;
|
181
|
+
}
|
178
182
|
goToPage(pageName, params) {
|
179
183
|
var _this$appConfig$curre2;
|
180
184
|
return (_this$appConfig$curre2 = this.appConfig.currentPage) === null || _this$appConfig$curre2 === void 0 ? void 0 : _this$appConfig$curre2.goToPage(pageName, params);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","isStarted","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","theme","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","name","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","paperTheme","Consumer","insets","top","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = {...networkState};\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n this.onPageReady(activePageName, activePageScope);\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n setTimezone(timezone: any){\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n this.notify('afterServiceCall', response.config, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\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 triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {});\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>{\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\"+ i} type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )})}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{width: '100%', alignItems: 'center'}}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', alignItems: 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <ThemeProvider value={this.appConfig.theme}>\n <FixedViewContainer>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n </FixedViewContainer>\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </ThemeProvider>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","isStarted","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","theme","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","name","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","paperTheme","Consumer","insets","top","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = {...networkState};\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\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 goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n this.onPageReady(activePageName, activePageScope);\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n setTimezone(timezone: any){\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n this.notify('afterServiceCall', response.config, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\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 triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {});\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>{\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\"+ i} type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )})}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{width: '100%', alignItems: 'center'}}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', alignItems: 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}> \n <StatusBar />\n <ThemeProvider value={this.appConfig.theme}>\n <FixedViewContainer>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n </FixedViewContainer>\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </ThemeProvider>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -99,7 +99,23 @@ export default class BasePage extends BaseFragment {
|
|
99
99
|
super.componentWillUnmount();
|
100
100
|
this.App.notify('pageDestroyed', this);
|
101
101
|
}
|
102
|
-
|
102
|
+
async canNavigate(currentPage, nextPage) {
|
103
|
+
let navigate = true;
|
104
|
+
navigate = await this.onBeforePageLeave(currentPage, nextPage);
|
105
|
+
if (!navigate) {
|
106
|
+
navigate = await this.App.onBeforePageLeave(currentPage, nextPage);
|
107
|
+
}
|
108
|
+
return navigate;
|
109
|
+
}
|
110
|
+
async onBeforePageLeave(currentPage, nextPage) {
|
111
|
+
//method can be override by the user from studio;
|
112
|
+
return true;
|
113
|
+
}
|
114
|
+
async goToPage(pageName, params, clearCahe = false) {
|
115
|
+
const isNavigable = await this.canNavigate(this.pageName, pageName);
|
116
|
+
if (!isNavigable) {
|
117
|
+
return Promise.resolve();
|
118
|
+
}
|
103
119
|
const navigation = this.props.navigation;
|
104
120
|
const _params = clone(params);
|
105
121
|
_params && delete _params['pageName'];
|
@@ -136,8 +152,17 @@ export default class BasePage extends BaseFragment {
|
|
136
152
|
const paramStr = Object.keys(this.pageParams || []).map(k => k && `${k}=${this.pageParams[k]}`).join('&');
|
137
153
|
return hash + (paramStr ? `?${paramStr}` : '');
|
138
154
|
}
|
139
|
-
goBack() {
|
155
|
+
async goBack() {
|
156
|
+
var _navigation$getState;
|
140
157
|
const navigation = this.props.navigation;
|
158
|
+
const routes = (_navigation$getState = navigation.getState()) === null || _navigation$getState === void 0 ? void 0 : _navigation$getState.routes;
|
159
|
+
let isNavigable = true;
|
160
|
+
if (navigation.canGoBack()) {
|
161
|
+
isNavigable = await this.canNavigate(this.pageName, routes[routes.length - 2].name);
|
162
|
+
}
|
163
|
+
if (!isNavigable) {
|
164
|
+
return Promise.resolve();
|
165
|
+
}
|
141
166
|
this.App.appConfig.diagnostics.pageStartTime = Date.now();
|
142
167
|
if (navigation.canGoBack()) {
|
143
168
|
navigation.goBack();
|
@@ -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","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","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 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 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 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 goBack() {\n const navigation = (this.props as PageProps).navigation;\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":[]}
|
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){\n navigate = await this.App.onBeforePageLeave(currentPage, nextPage);\n }\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":[]}
|