@wavemaker/app-rn-runtime 11.4.2-rc.5390 → 11.4.2-rc.5398
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/basic/label/label.component.js +2 -1
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.props.js +1 -0
- app-rn-runtime/components/basic/label/label.props.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +15 -10
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.props.js +9 -1
- app-rn-runtime/components/chart/area-chart/area-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +82 -39
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +8 -3
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +25 -1
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +31 -6
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js +1 -0
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +93 -2
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.props.js +4 -0
- app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.styles.js +103 -2
- app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +1 -0
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +39 -5
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +4 -1
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +4 -1
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/core/constant.service.js +22 -0
- app-rn-runtime/core/constant.service.js.map +1 -0
- app-rn-runtime/core/tappable.component.js +5 -2
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/utils.js +16 -0
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/App.js +2 -0
- app-rn-runtime/runtime/App.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","WmNumberState","constructor","arguments","_defineProperty","WmNumber","props","renderWidget","_this$state$textValue","opts","valueExpr","OS","state","textValue","toString","createElement","_extends","ref","widgetRef","selectionStart","selectionEnd","cursor","style","styles","root","isValid","invalid","keyboardType","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","onChange","invokeChange","allowContentSelection","
|
|
1
|
+
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","WmNumberState","constructor","arguments","_defineProperty","WmNumber","props","renderWidget","_this$state$textValue","opts","valueExpr","OS","state","textValue","toString","createElement","_extends","ref","widgetRef","selectionStart","selectionEnd","cursor","style","styles","root","isValid","invalid","keyboardType","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","value","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<WMTextInput\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n value={this.state.textValue}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,WAAW,QAAQ,+DAA+D;AAC3F,SACEC,mBAAmB,EACnBC,eAAe,QACV,4EAA4E;AAEnF,OAAO,MAAMC,aAAa,SAASD,eAAe,CAAgB;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;EAAA;AAElE;AAEA,eAAe,MAAMC,QAAQ,SAASN,mBAAmB,CAA+C;EAEtGG,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,EAAE,IAAIK,aAAa,CAAC,CAAC,CAAC;EACvE;EAEAM,YAAYA,CAACD,KAAoB,EAAE;IAAA,IAAAE,qBAAA;IACjC,IAAIC,IAAS,GAAG,CAAC,CAAC;IAClB,MAAMC,SAAS,GAAGhB,QAAQ,CAACiB,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;IAClEF,IAAI,CAACC,SAAS,CAAC,GAAG,EAAAF,qBAAA,OAAI,CAACI,KAAK,CAACC,SAAS,cAAAL,qBAAA,uBAApBA,qBAAA,CAAsBM,QAAQ,CAAC,CAAC,KAAI,EAAE;IACxD,oBAAQrB,KAAA,CAAAsB,aAAA,CAACjB,WAAW,EAAAkB,QAAA;MAClBC,GAAG,EAAGA,GAAQ,IAAK;QAAC,IAAI,CAACC,SAAS,GAAGD,GAAG;QACtC;QACA,IAAIA,GAAG,IAAI,CAACtB,MAAM,CAACsB,GAAG,CAACE,cAAc,CAAC,IAAI,CAACxB,MAAM,CAACsB,GAAG,CAACG,YAAY,CAAC,EAAE;UACnE;UACAH,GAAG,CAACE,cAAc,GAAGF,GAAG,CAACG,YAAY,GAAG,IAAI,CAACC,MAAM;QACrD;MAAC;IAAE,GACDZ,IAAI;MACRa,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACa,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACF,MAAM,CAACG,OAAO,CAAE;MACzEC,YAAY,EAAC,SAAS;MACtBC,oBAAoB,EAAE,IAAI,CAACL,MAAM,CAACM,eAAe,CAACC,KAAa;MAC/DC,SAAS,EAAEzB,KAAK,CAAC0B,SAAU;MAC3BC,QAAQ,EAAE3B,KAAK,CAAC4B,QAAQ,IAAI5B,KAAK,CAAC6B,QAAQ,GAAG,KAAK,GAAG,IAAK;MAC1DC,WAAW,EAAE9B,KAAK,CAAC8B,WAAY;MAC/BC,KAAK,EAAE,IAAI,CAACzB,KAAK,CAACC,SAAU;MAC5ByB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACC,IAAI,CAAC,IAAI,CAAE;MAC/BC,OAAO,EAAE,IAAI,CAACA,OAAO,CAACD,IAAI,CAAC,IAAI,CAAE;MACjCE,UAAU,EAAE,IAAI,CAACC,kBAAkB,CAACH,IAAI,CAAC,IAAI,CAAE;MAC/CI,YAAY,EAAGC,IAAI,IAAK;QACtB,IAAI,CAACD,YAAY,CAACJ,IAAI,CAAC,IAAI,CAAC,CAACK,IAAI,EAAE,QAAQ,CAAC;MAC9C,CAAE;MACFC,QAAQ,EAAE,IAAI,CAACC,YAAY,CAACP,IAAI,CAAC,IAAI,CAAE;MACvCQ,qBAAqB,EAAE,IAAI,CAACxB,MAAM,CAACqB,IAAI,CAACI,UAAU,KAAK;IAAO,EAC/D,CAAC;EACJ;AACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
export class ConstantService {
|
|
5
|
+
constructor() {
|
|
6
|
+
_defineProperty(this, "VALIDATOR", {
|
|
7
|
+
REQUIRED: 'required',
|
|
8
|
+
MAXCHARS: 'maxchars',
|
|
9
|
+
MINVALUE: 'minvalue',
|
|
10
|
+
MAXVALUE: 'maxvalue',
|
|
11
|
+
REGEXP: 'regexp',
|
|
12
|
+
MINDATE: 'mindate',
|
|
13
|
+
MAXDATE: 'maxdate',
|
|
14
|
+
MINTIME: 'mintime',
|
|
15
|
+
MAXTIME: 'maxtime',
|
|
16
|
+
EXCLUDEDATES: 'excludedates',
|
|
17
|
+
EXCLUDEDAYS: 'excludedays'
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export default new ConstantService();
|
|
22
|
+
//# sourceMappingURL=constant.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ConstantService","constructor","_defineProperty","REQUIRED","MAXCHARS","MINVALUE","MAXVALUE","REGEXP","MINDATE","MAXDATE","MINTIME","MAXTIME","EXCLUDEDATES","EXCLUDEDAYS"],"sources":["constant.service.ts"],"sourcesContent":["export class ConstantService {\n VALIDATOR = {\n REQUIRED: 'required',\n MAXCHARS: 'maxchars',\n MINVALUE: 'minvalue',\n MAXVALUE: 'maxvalue',\n REGEXP: 'regexp',\n MINDATE: 'mindate',\n MAXDATE: 'maxdate',\n MINTIME: 'mintime',\n MAXTIME: 'maxtime',\n EXCLUDEDATES: 'excludedates',\n EXCLUDEDAYS: 'excludedays'\n };\n }\n \n export default new ConstantService();\n "],"mappings":";;;AAAA,OAAO,MAAMA,eAAe,CAAC;EAAAC,YAAA;IAAAC,eAAA,oBACb;MACXC,QAAQ,EAAE,UAAU;MACpBC,QAAQ,EAAE,UAAU;MACpBC,QAAQ,EAAE,UAAU;MACpBC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,QAAQ;MAChBC,OAAO,EAAE,SAAS;MAClBC,OAAO,EAAE,SAAS;MAClBC,OAAO,EAAE,SAAS;MAClBC,OAAO,EAAE,SAAS;MAClBC,YAAY,EAAE,cAAc;MAC5BC,WAAW,EAAE;IACf,CAAC;EAAA;AACH;AAEA,eAAe,IAAIb,eAAe,CAAC,CAAC"}
|
|
@@ -39,9 +39,12 @@ export class Tappable extends React.Component {
|
|
|
39
39
|
target === null || target === void 0 ? void 0 : target.invokeEventCallback('onDoubletap', [syntheticEvent, target]);
|
|
40
40
|
}, 200);
|
|
41
41
|
}
|
|
42
|
-
this.props.onTap && this.props.onTap(e || syntheticEvent);
|
|
43
42
|
setTimeout(() => {
|
|
44
|
-
|
|
43
|
+
if (this.props.onTap) {
|
|
44
|
+
this.props.onTap(e || syntheticEvent);
|
|
45
|
+
} else {
|
|
46
|
+
target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [syntheticEvent, target]);
|
|
47
|
+
}
|
|
45
48
|
}, 200);
|
|
46
49
|
}
|
|
47
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","get","injector","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","delta","Date","getTime","lastPress","target","CURRENT_EVENT","setTimeout","syntheticEvent","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","onDoubleTap","invokeEventCallback","onTap","onLongTap","_this$props$target","render","onLongtap","onDoubletap","createElement","disabled","proxy","style","styles","onLongPress","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, View } from \"react-native\";\nimport { TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\n\ninterface TappableProps {\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n\n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n\n static CURRENT_EVENT: TapEvent = null as any;\n\n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void {\n const delta = new Date().getTime() - this.lastPress;\n this.lastPress = this.lastPress > 0 ? 0: new Date().getTime();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(delta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n }\n this.props.onTap
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","get","injector","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","delta","Date","getTime","lastPress","target","CURRENT_EVENT","setTimeout","syntheticEvent","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","onDoubleTap","invokeEventCallback","onTap","onLongTap","_this$props$target","render","onLongtap","onDoubletap","createElement","disabled","proxy","style","styles","onLongPress","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, View } from \"react-native\";\nimport { TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\n\ninterface TappableProps {\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n\n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n\n static CURRENT_EVENT: TapEvent = null as any;\n\n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void {\n const delta = new Date().getTime() - this.lastPress;\n this.lastPress = this.lastPress > 0 ? 0: new Date().getTime();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(delta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n } \n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200)\n\n }\n }\n\n onLongTap(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TouchableOpacity disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={() => this.onPress()}\n onLongPress={() => this.onLongTap()}>\n {this.props.children}\n </TouchableOpacity>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
|
app-rn-runtime/core/utils.js
CHANGED
|
@@ -286,6 +286,22 @@ export const validateField = (props, value) => {
|
|
|
286
286
|
isValid: true
|
|
287
287
|
};
|
|
288
288
|
};
|
|
289
|
+
export const countDecimalDigits = number => {
|
|
290
|
+
if (!number) return 0;
|
|
291
|
+
|
|
292
|
+
// * convert the number to a string
|
|
293
|
+
const numberString = number.toString();
|
|
294
|
+
|
|
295
|
+
// * regular expression to match and count the decimal digits
|
|
296
|
+
const decimalMatch = numberString.match(/\.(\d+)/);
|
|
297
|
+
if (decimalMatch) {
|
|
298
|
+
const decimalDigits = decimalMatch[1];
|
|
299
|
+
return decimalDigits.length;
|
|
300
|
+
} else {
|
|
301
|
+
return 0; // * no decimal digits found
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
|
|
289
305
|
export const formatCompactNumber = number => {
|
|
290
306
|
const isNegative = number < 0;
|
|
291
307
|
number = isNegative ? number * -1 : number;
|
app-rn-runtime/core/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","moment","FileSystem","isFunction","includes","isUndefined","isNull","orderBy","groupBy","toLower","get","forEach","sortBy","cloneDeep","keys","values","isArray","isString","isNumber","GROUP_BY_OPTIONS","ALPHABET","WORD","OTHERS","TIME_ROLLUP_OPTIONS","HOUR","DAY","WEEK","MONTH","YEAR","_deepCopy","o1","_len","arguments","length","o2","Array","_key","o","Object","k","v","deepCopy","_len2","objects","_key2","toBoolean","val","undefined","toNumber","parseFloat","e","encodeUrl","url","splits","split","hash","params","map","p","encodeURIComponent","join","encodeURI","isWebPreviewMode","OS","isDevMode","__DEV__","widgetsWithUndefinedValue","isAndroid","test","window","navigator","userAgent","isIos","getGroupKey","fieldDef","groupby","widgetScope","innerItem","apply","proxy","getGroupedData","fieldDefs","match","orderby","dateFormat","groupKey","groupedLiData","concatStr","toString","trim","substr","replace","format","getSortedGroupedData","getOrderedDataset","dataSet","items","fields","directions","obj","item","push","_groupedData","groupkey","index","liData","key","data","_groupIndex","isDefined","unStringify","defaultVal","number","parseInt","isNaN","retryIfFails","fn","interval","maxRetries","onBeforeRetry","Promise","resolve","retryCount","tryFn","reject","errorFn","errArgs","setTimeout","then","retry","getAbortableDefer","_defer","promise","onAbort","isAborted","abort","validateField","props","value","requiredCheck","regexCheck","required","errorType","isValid","regexp","condition","RegExp","maxchars","mindate","Date","datavalue","startOf","toDate","maxdate","endOf","formatCompactNumber","isNegative","formattedNumber","toFixed","toBase64","path","readAsStringAsync","encoding","DATASET_WIDGETS","Set","isDataSetWidget","widget","has","isFullPathUrl","startsWith"],"sources":["utils.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport moment from \"moment\";\nimport * as FileSystem from \"expo-file-system\";\nimport { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber} from 'lodash';\n\ndeclare const window: any;\nconst GROUP_BY_OPTIONS = {\n ALPHABET: 'alphabet',\n WORD: 'word',\n OTHERS: 'Others'\n};\nconst TIME_ROLLUP_OPTIONS = {\n HOUR: 'hour',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year'\n};\n\nconst _deepCopy = (o1: any, ...o2: any) => {\n o2.forEach((o: any) => {\n if (o) {\n Object.keys(o).forEach(k => {\n const v = o[k];\n if (v && !isString(v) && !isArray(v) && typeof v === 'object') {\n o1[k] = _deepCopy(o1[k] || {}, o[k]);\n } else {\n o1[k] = _deepCopy(v);\n }\n });\n }\n });\n return o1;\n};\n\nexport const deepCopy = (...objects: any) => _deepCopy({}, ...objects);\n\nexport const toBoolean = (val: any) => {\n return val === true\n || val === 'true'\n || !(val === false\n || val === null\n || val === undefined\n || val === '');\n};\n\nexport const toNumber = (val: any) => {\n try {\n return parseFloat(val) || 0;\n } catch(e) {\n return 0;\n }\n};\n\n/**\n * this method encodes the url and returns the encoded string\n */\n export const encodeUrl = (url: string): string => {\n let splits = url.split('#');\n const hash = splits[1];\n splits = splits[0].split('?');\n let params = '';\n if (splits.length > 1) {\n params = splits[1].split('&')\n .map(p => p.split('='))\n .map(p => p[0] +'=' + encodeURIComponent(p[1]))\n .join('&');\n }\n return encodeURI(splits[0]) + (params ? '?' + params: '') + (hash ? '#'+ hash : '');\n};\n\nexport const isWebPreviewMode = () => Platform.OS === 'web';\n\nexport const isDevMode = () => isWebPreviewMode() || __DEV__;\n\nexport const widgetsWithUndefinedValue = ['checkbox', 'toggle'];\n\nexport const isAndroid = () => (Platform.OS === 'android' || (Platform.OS === 'web' && /android/i.test(window.navigator.userAgent)));\n\nexport const isIos = () => (Platform.OS === 'ios' || (Platform.OS === 'web' && /iPhone|iPad/i.test(window.navigator.userAgent)));\n\nconst getGroupKey = (fieldDef: any, groupby: string, widgetScope: any, innerItem?: any) => isFunction(groupby) ? groupby.apply(widgetScope.proxy, [innerItem ? fieldDef[innerItem] : fieldDef]) : get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);\n\n/**\n * This method prepares the grouped data.\n *\n * @param fieldDefs array of objects i.e. dataset\n * @param groupby string groupby\n * @param match string match\n * @param orderby string orderby\n * @param dateFormat string date format\n */\nexport const getGroupedData = (fieldDefs: any, groupby: string, match: string, orderby: string, dateFormat: string, widgetScope: any, innerItem?: any) => {\n\n // handling case-in-sensitive scenario\n // ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.\n fieldDefs = orderBy(fieldDefs, fieldDef => {\n const groupKey = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n if (groupKey) {\n return toLower(groupKey);\n }\n return '';\n });\n\n // extract the grouped data based on the field obtained from 'groupDataByField'.\n const groupedLiData = groupBy(fieldDefs, function (fieldDef) {\n let concatStr = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n // by default set the undefined groupKey as 'others'\n if (isUndefined(concatStr) || isNull(concatStr) || concatStr.toString().trim() === '') {\n return GROUP_BY_OPTIONS.OTHERS;\n }\n // if match prop is alphabetic ,get the starting alphabet of the word as key.\n if (match === GROUP_BY_OPTIONS.ALPHABET) {\n concatStr = concatStr.substr(0, 1);\n }\n\n // if match contains the time options then get the concatStr using 'getTimeRolledUpString'\n if (includes(values(TIME_ROLLUP_OPTIONS), match)) {\n dateFormat = dateFormat && dateFormat.replace(/d/g, 'D');\n dateFormat = dateFormat && dateFormat.replace(/y/g, 'Y');\n concatStr = moment(concatStr).format(dateFormat);\n }\n\n return concatStr;\n });\n\n return getSortedGroupedData(groupedLiData, groupby, orderby, innerItem);\n};\n\n/**\n * function to get the ordered dataset based on the given orderby\n */\nexport const getOrderedDataset = (dataSet: any, orderby: string, innerItem?: any) => {\n if (!orderBy) {\n return cloneDeep(dataSet);\n }\n\n // The order by only works when the dataset contains list of objects.\n const items = orderby && orderby.split(','),\n fields: any = [],\n directions: any = [];\n items && items.forEach( obj => {\n const item = obj.split(':');\n fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);\n directions.push(item[1]);\n });\n return orderBy(dataSet, fields, directions);\n};\n\n\n/**\n * This method returns sorted data based to groupkey.\n * Returns a array of objects, each object containing key which is groupKey and data is the sorted data which is sorted by groupby field in the data.\n *\n * @param groupedLiData, grouped data object with key as the groupKey and its value as the array of objects grouped under the groupKey.\n * @param groupBy, string groupby property\n * @returns {any[]}\n */\nexport const getSortedGroupedData = (groupedLiData: any, groupBy: string, orderby: string, innerItem?: any) => {\n const _groupedData: any = [];\n forEach(keys(groupedLiData), (groupkey, index) => {\n const liData = getOrderedDataset(groupedLiData[groupkey], orderby, innerItem);\n _groupedData.push({\n key: groupkey,\n data: sortBy(liData, data => {\n data._groupIndex = index;\n return get(data, groupBy) || get(data[innerItem], groupBy);\n })\n });\n });\n return _groupedData;\n};\n\nexport const isDefined = (v: any) => typeof v !== 'undefined';\n\n// try to convert the chekedvalue and unchecked values to boolean/number\nexport const unStringify = (val: any, defaultVal?: boolean) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n/**\n * This function invokes the given the function (fn) until the function successfully executes or the maximum number\n * of retries is reached or onBeforeRetry returns false.\n *\n * @param fn - a function that is needs to be invoked. The function can also return a promise as well.\n * @param interval - minimum time gap between successive retries. This argument should be greater or equal to 0.\n * @param maxRetries - maximum number of retries. This argument should be greater than 0. For all other values,\n * maxRetries is infinity.\n * @param onBeforeRetry - a callback function that will be invoked before re-invoking again. This function can\n * return false or a promise that is resolved to false to stop further retry attempts.\n * @returns {*} a promise that is resolved when fn is success (or) maximum retry attempts reached\n * (or) onBeforeRetry returned false.\n */\nexport const retryIfFails = (fn: Function, interval: number, maxRetries: number, onBeforeRetry = () => Promise.resolve(false)) => {\n let retryCount = 0;\n const tryFn = () => {\n retryCount++;\n if (isFunction(fn)) {\n return fn();\n }\n };\n maxRetries = (isNumber(maxRetries) && maxRetries > 0 ? maxRetries : 0);\n interval = (isNumber(interval) && interval > 0 ? interval : 0);\n return new Promise((resolve, reject) => {\n const errorFn = function () {\n const errArgs = arguments;\n setTimeout(() => {\n Promise.resolve().then(() => onBeforeRetry()).then(function (retry) {\n if (retry !== false && (!maxRetries || retryCount <= maxRetries)) {\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n } else {\n reject(errArgs);\n }\n }, () => reject(errArgs));\n }, interval);\n };\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n });\n};\n\n/**\n * Promise of a defer created using this function, has abort function that will reject the defer when called.\n * @returns {*} angular defer object\n */\nexport const getAbortableDefer = () => {\n const _defer: any = {\n promise: null,\n reject: null,\n resolve: null,\n onAbort: () => { },\n isAborted: false\n };\n _defer.promise = new Promise((resolve, reject) => {\n _defer.resolve = resolve;\n _defer.reject = reject;\n });\n _defer.promise.abort = () => {\n _defer.onAbort && _defer.onAbort();\n _defer.reject('aborted');\n _defer.isAborted = true;\n };\n return _defer;\n};\n\nexport const validateField = (props: any, value: any) => {\n let requiredCheck = true, regexCheck = true;\n if (props.required) {\n if (isArray(value)) {\n requiredCheck = value.length === 0 ? false : true\n } else {\n requiredCheck = !value ? false : true\n }\n if (!requiredCheck) {\n return {\n errorType : 'required',\n isValid: false\n }\n }\n }\n if (value && props.regexp) {\n const condition = new RegExp(\"^\" + props.regexp + \"$\", 'g');\n regexCheck = condition.test(value);\n if (!regexCheck) {\n return {\n errorType : 'regexp',\n isValid: false\n }\n }\n }\n if (value && props.maxchars && value.length > props.maxchars) {\n return {\n errorType : 'maxchars',\n isValid: false\n }\n\n }\n if (value && props.mindate && new Date(props.datavalue) < moment(props.mindate).startOf('day').toDate()) {\n return {\n errorType : 'mindate',\n isValid: false\n }\n }\n if (value && props.maxdate && new Date(props.datavalue) > moment(props.maxdate).endOf('day').toDate()) {\n return {\n errorType : 'maxdate',\n isValid: false\n }\n }\n\n return {\n isValid: true\n }\n};\n\nexport const formatCompactNumber = (number: number) => {\n const isNegative = number < 0;\n number = isNegative ? number * -1 : number;\n let formattedNumber = number + '';\n if (number >= 1000 && number < 1_000_000) {\n formattedNumber = (number / 1000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n formattedNumber = (number / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"T\";\n }\n return (isNegative ? '-' : '') + formattedNumber;\n}\n\nexport const toBase64 = function(path: string) {\n return FileSystem.readAsStringAsync(path, { encoding: 'base64' });\n};\n\nconst DATASET_WIDGETS = new Set([ 'select', 'checkboxset', 'radioset', 'switch', 'autocomplete', 'chips', 'typeahead', 'rating']);\nexport const isDataSetWidget = (widget: any) => {\n return DATASET_WIDGETS.has(widget);\n};\nexport const isFullPathUrl = (url: string) => {\n return isString(url) &&\n (url.startsWith('data:') \n || url.startsWith('http:') \n || url.startsWith('https:') \n || url.startsWith('file:'));\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Platform","moment","FileSystem","isFunction","includes","isUndefined","isNull","orderBy","groupBy","toLower","get","forEach","sortBy","cloneDeep","keys","values","isArray","isString","isNumber","GROUP_BY_OPTIONS","ALPHABET","WORD","OTHERS","TIME_ROLLUP_OPTIONS","HOUR","DAY","WEEK","MONTH","YEAR","_deepCopy","o1","_len","arguments","length","o2","Array","_key","o","Object","k","v","deepCopy","_len2","objects","_key2","toBoolean","val","undefined","toNumber","parseFloat","e","encodeUrl","url","splits","split","hash","params","map","p","encodeURIComponent","join","encodeURI","isWebPreviewMode","OS","isDevMode","__DEV__","widgetsWithUndefinedValue","isAndroid","test","window","navigator","userAgent","isIos","getGroupKey","fieldDef","groupby","widgetScope","innerItem","apply","proxy","getGroupedData","fieldDefs","match","orderby","dateFormat","groupKey","groupedLiData","concatStr","toString","trim","substr","replace","format","getSortedGroupedData","getOrderedDataset","dataSet","items","fields","directions","obj","item","push","_groupedData","groupkey","index","liData","key","data","_groupIndex","isDefined","unStringify","defaultVal","number","parseInt","isNaN","retryIfFails","fn","interval","maxRetries","onBeforeRetry","Promise","resolve","retryCount","tryFn","reject","errorFn","errArgs","setTimeout","then","retry","getAbortableDefer","_defer","promise","onAbort","isAborted","abort","validateField","props","value","requiredCheck","regexCheck","required","errorType","isValid","regexp","condition","RegExp","maxchars","mindate","Date","datavalue","startOf","toDate","maxdate","endOf","countDecimalDigits","numberString","decimalMatch","decimalDigits","formatCompactNumber","isNegative","formattedNumber","toFixed","toBase64","path","readAsStringAsync","encoding","DATASET_WIDGETS","Set","isDataSetWidget","widget","has","isFullPathUrl","startsWith"],"sources":["utils.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport moment from \"moment\";\nimport * as FileSystem from \"expo-file-system\";\nimport { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber} from 'lodash';\n\ndeclare const window: any;\nconst GROUP_BY_OPTIONS = {\n ALPHABET: 'alphabet',\n WORD: 'word',\n OTHERS: 'Others'\n};\nconst TIME_ROLLUP_OPTIONS = {\n HOUR: 'hour',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year'\n};\n\nconst _deepCopy = (o1: any, ...o2: any) => {\n o2.forEach((o: any) => {\n if (o) {\n Object.keys(o).forEach(k => {\n const v = o[k];\n if (v && !isString(v) && !isArray(v) && typeof v === 'object') {\n o1[k] = _deepCopy(o1[k] || {}, o[k]);\n } else {\n o1[k] = _deepCopy(v);\n }\n });\n }\n });\n return o1;\n};\n\nexport const deepCopy = (...objects: any) => _deepCopy({}, ...objects);\n\nexport const toBoolean = (val: any) => {\n return val === true\n || val === 'true'\n || !(val === false\n || val === null\n || val === undefined\n || val === '');\n};\n\nexport const toNumber = (val: any) => {\n try {\n return parseFloat(val) || 0;\n } catch(e) {\n return 0;\n }\n};\n\n/**\n * this method encodes the url and returns the encoded string\n */\n export const encodeUrl = (url: string): string => {\n let splits = url.split('#');\n const hash = splits[1];\n splits = splits[0].split('?');\n let params = '';\n if (splits.length > 1) {\n params = splits[1].split('&')\n .map(p => p.split('='))\n .map(p => p[0] +'=' + encodeURIComponent(p[1]))\n .join('&');\n }\n return encodeURI(splits[0]) + (params ? '?' + params: '') + (hash ? '#'+ hash : '');\n};\n\nexport const isWebPreviewMode = () => Platform.OS === 'web';\n\nexport const isDevMode = () => isWebPreviewMode() || __DEV__;\n\nexport const widgetsWithUndefinedValue = ['checkbox', 'toggle'];\n\nexport const isAndroid = () => (Platform.OS === 'android' || (Platform.OS === 'web' && /android/i.test(window.navigator.userAgent)));\n\nexport const isIos = () => (Platform.OS === 'ios' || (Platform.OS === 'web' && /iPhone|iPad/i.test(window.navigator.userAgent)));\n\nconst getGroupKey = (fieldDef: any, groupby: string, widgetScope: any, innerItem?: any) => isFunction(groupby) ? groupby.apply(widgetScope.proxy, [innerItem ? fieldDef[innerItem] : fieldDef]) : get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);\n\n/**\n * This method prepares the grouped data.\n *\n * @param fieldDefs array of objects i.e. dataset\n * @param groupby string groupby\n * @param match string match\n * @param orderby string orderby\n * @param dateFormat string date format\n */\nexport const getGroupedData = (fieldDefs: any, groupby: string, match: string, orderby: string, dateFormat: string, widgetScope: any, innerItem?: any) => {\n\n // handling case-in-sensitive scenario\n // ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.\n fieldDefs = orderBy(fieldDefs, fieldDef => {\n const groupKey = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n if (groupKey) {\n return toLower(groupKey);\n }\n return '';\n });\n\n // extract the grouped data based on the field obtained from 'groupDataByField'.\n const groupedLiData = groupBy(fieldDefs, function (fieldDef) {\n let concatStr = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n // by default set the undefined groupKey as 'others'\n if (isUndefined(concatStr) || isNull(concatStr) || concatStr.toString().trim() === '') {\n return GROUP_BY_OPTIONS.OTHERS;\n }\n // if match prop is alphabetic ,get the starting alphabet of the word as key.\n if (match === GROUP_BY_OPTIONS.ALPHABET) {\n concatStr = concatStr.substr(0, 1);\n }\n\n // if match contains the time options then get the concatStr using 'getTimeRolledUpString'\n if (includes(values(TIME_ROLLUP_OPTIONS), match)) {\n dateFormat = dateFormat && dateFormat.replace(/d/g, 'D');\n dateFormat = dateFormat && dateFormat.replace(/y/g, 'Y');\n concatStr = moment(concatStr).format(dateFormat);\n }\n\n return concatStr;\n });\n\n return getSortedGroupedData(groupedLiData, groupby, orderby, innerItem);\n};\n\n/**\n * function to get the ordered dataset based on the given orderby\n */\nexport const getOrderedDataset = (dataSet: any, orderby: string, innerItem?: any) => {\n if (!orderBy) {\n return cloneDeep(dataSet);\n }\n\n // The order by only works when the dataset contains list of objects.\n const items = orderby && orderby.split(','),\n fields: any = [],\n directions: any = [];\n items && items.forEach( obj => {\n const item = obj.split(':');\n fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);\n directions.push(item[1]);\n });\n return orderBy(dataSet, fields, directions);\n};\n\n\n/**\n * This method returns sorted data based to groupkey.\n * Returns a array of objects, each object containing key which is groupKey and data is the sorted data which is sorted by groupby field in the data.\n *\n * @param groupedLiData, grouped data object with key as the groupKey and its value as the array of objects grouped under the groupKey.\n * @param groupBy, string groupby property\n * @returns {any[]}\n */\nexport const getSortedGroupedData = (groupedLiData: any, groupBy: string, orderby: string, innerItem?: any) => {\n const _groupedData: any = [];\n forEach(keys(groupedLiData), (groupkey, index) => {\n const liData = getOrderedDataset(groupedLiData[groupkey], orderby, innerItem);\n _groupedData.push({\n key: groupkey,\n data: sortBy(liData, data => {\n data._groupIndex = index;\n return get(data, groupBy) || get(data[innerItem], groupBy);\n })\n });\n });\n return _groupedData;\n};\n\nexport const isDefined = (v: any) => typeof v !== 'undefined';\n\n// try to convert the chekedvalue and unchecked values to boolean/number\nexport const unStringify = (val: any, defaultVal?: boolean) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n/**\n * This function invokes the given the function (fn) until the function successfully executes or the maximum number\n * of retries is reached or onBeforeRetry returns false.\n *\n * @param fn - a function that is needs to be invoked. The function can also return a promise as well.\n * @param interval - minimum time gap between successive retries. This argument should be greater or equal to 0.\n * @param maxRetries - maximum number of retries. This argument should be greater than 0. For all other values,\n * maxRetries is infinity.\n * @param onBeforeRetry - a callback function that will be invoked before re-invoking again. This function can\n * return false or a promise that is resolved to false to stop further retry attempts.\n * @returns {*} a promise that is resolved when fn is success (or) maximum retry attempts reached\n * (or) onBeforeRetry returned false.\n */\nexport const retryIfFails = (fn: Function, interval: number, maxRetries: number, onBeforeRetry = () => Promise.resolve(false)) => {\n let retryCount = 0;\n const tryFn = () => {\n retryCount++;\n if (isFunction(fn)) {\n return fn();\n }\n };\n maxRetries = (isNumber(maxRetries) && maxRetries > 0 ? maxRetries : 0);\n interval = (isNumber(interval) && interval > 0 ? interval : 0);\n return new Promise((resolve, reject) => {\n const errorFn = function () {\n const errArgs = arguments;\n setTimeout(() => {\n Promise.resolve().then(() => onBeforeRetry()).then(function (retry) {\n if (retry !== false && (!maxRetries || retryCount <= maxRetries)) {\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n } else {\n reject(errArgs);\n }\n }, () => reject(errArgs));\n }, interval);\n };\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n });\n};\n\n/**\n * Promise of a defer created using this function, has abort function that will reject the defer when called.\n * @returns {*} angular defer object\n */\nexport const getAbortableDefer = () => {\n const _defer: any = {\n promise: null,\n reject: null,\n resolve: null,\n onAbort: () => { },\n isAborted: false\n };\n _defer.promise = new Promise((resolve, reject) => {\n _defer.resolve = resolve;\n _defer.reject = reject;\n });\n _defer.promise.abort = () => {\n _defer.onAbort && _defer.onAbort();\n _defer.reject('aborted');\n _defer.isAborted = true;\n };\n return _defer;\n};\n\nexport const validateField = (props: any, value: any) => {\n let requiredCheck = true, regexCheck = true;\n if (props.required) {\n if (isArray(value)) {\n requiredCheck = value.length === 0 ? false : true\n } else {\n requiredCheck = !value ? false : true\n }\n if (!requiredCheck) {\n return {\n errorType : 'required',\n isValid: false\n }\n }\n }\n if (value && props.regexp) {\n const condition = new RegExp(\"^\" + props.regexp + \"$\", 'g');\n regexCheck = condition.test(value);\n if (!regexCheck) {\n return {\n errorType : 'regexp',\n isValid: false\n }\n }\n }\n if (value && props.maxchars && value.length > props.maxchars) {\n return {\n errorType : 'maxchars',\n isValid: false\n }\n\n }\n if (value && props.mindate && new Date(props.datavalue) < moment(props.mindate).startOf('day').toDate()) {\n return {\n errorType : 'mindate',\n isValid: false\n }\n }\n if (value && props.maxdate && new Date(props.datavalue) > moment(props.maxdate).endOf('day').toDate()) {\n return {\n errorType : 'maxdate',\n isValid: false\n }\n }\n\n return {\n isValid: true\n }\n};\n\nexport const countDecimalDigits = (number: number | string) => {\n if (!number) return 0;\n\n // * convert the number to a string\n const numberString = number.toString();\n \n // * regular expression to match and count the decimal digits\n const decimalMatch = numberString.match(/\\.(\\d+)/);\n\n if (decimalMatch) {\n const decimalDigits = decimalMatch[1];\n return decimalDigits.length;\n } else {\n return 0; // * no decimal digits found\n }\n}\n\nexport const formatCompactNumber = (number: number) => {\n const isNegative = number < 0;\n number = isNegative ? number * -1 : number;\n let formattedNumber = number + '';\n if (number >= 1000 && number < 1_000_000) {\n formattedNumber = (number / 1000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n formattedNumber = (number / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"T\";\n }\n return (isNegative ? '-' : '') + formattedNumber;\n}\n\nexport const toBase64 = function(path: string) {\n return FileSystem.readAsStringAsync(path, { encoding: 'base64' });\n};\n\nconst DATASET_WIDGETS = new Set([ 'select', 'checkboxset', 'radioset', 'switch', 'autocomplete', 'chips', 'typeahead', 'rating']);\nexport const isDataSetWidget = (widget: any) => {\n return DATASET_WIDGETS.has(widget);\n};\nexport const isFullPathUrl = (url: string) => {\n return isString(url) &&\n (url.startsWith('data:') \n || url.startsWith('http:') \n || url.startsWith('https:') \n || url.startsWith('file:'));\n};\n"],"mappings":"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"}
|
app-rn-runtime/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
|
3
|
-
"version": "11.4.2-rc.
|
|
3
|
+
"version": "11.4.2-rc.5398",
|
|
4
4
|
"description": "''",
|
|
5
5
|
"main": "index",
|
|
6
6
|
"module": "index",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@react-navigation/native": "6.1.7",
|
|
50
50
|
"@react-navigation/stack": "^6.3.7",
|
|
51
51
|
"@types/lodash-es": "^4.17.6",
|
|
52
|
-
"@wavemaker/variables": "11.4.2-rc.
|
|
52
|
+
"@wavemaker/variables": "11.4.2-rc.5398",
|
|
53
53
|
"axios": "^1.4.0",
|
|
54
54
|
"color": "4.2.3",
|
|
55
55
|
"cross-env": "^5.2.0",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"typescript": "^5.1.3",
|
|
128
128
|
"victory-native": "36.6.11",
|
|
129
129
|
"yargs": "^16.2.0",
|
|
130
|
-
"@wavemaker/variables": "11.4.2-rc.
|
|
130
|
+
"@wavemaker/variables": "11.4.2-rc.5398"
|
|
131
131
|
},
|
|
132
132
|
"jest": {
|
|
133
133
|
"preset": "react-native",
|
app-rn-runtime/runtime/App.js
CHANGED
|
@@ -15,6 +15,7 @@ import { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';
|
|
|
15
15
|
import EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';
|
|
16
16
|
import { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';
|
|
17
17
|
import StorageService from '@wavemaker/app-rn-runtime/core/storage.service';
|
|
18
|
+
import ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';
|
|
18
19
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
|
19
20
|
import formatters from '@wavemaker/app-rn-runtime/core/formatters';
|
|
20
21
|
import { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
|
|
@@ -74,6 +75,7 @@ class DrawerImpl {
|
|
|
74
75
|
}
|
|
75
76
|
const SUPPORTED_SERVICES = {
|
|
76
77
|
Utils: Utils,
|
|
78
|
+
CONSTANTS: ConstantService,
|
|
77
79
|
StorageService: StorageService,
|
|
78
80
|
AppDisplayManagerService: AppDisplayManagerService
|
|
79
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","_this","this","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","subscribe","event","fn","eventNotifier","notify","_len","args","Array","_key","activePage","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","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","errorDetails","errMsg","errors","message","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","name","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","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 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 NetworkService 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';\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';\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 StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\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 lib = preparePatch(() => {\n this.refresh();\n });\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 }\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 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 onPageReady(activePageName: string, activePageScope: BasePage) {\n\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 return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, 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?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\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.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\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 this.getProviders((\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 type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\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'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\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 </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={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\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 <FixedViewContainer>\n <View 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 {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\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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"}
|
|
1
|
+
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","ConstantService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","BaseApp","Component","props","_this","this","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","subscribe","event","fn","eventNotifier","notify","_len","args","Array","_key","activePage","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","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","errorDetails","errMsg","errors","message","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","name","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","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 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 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';\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';\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};\n\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 lib = preparePatch(() => {\n this.refresh();\n });\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 }\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 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 onPageReady(activePageName: string, activePageScope: BasePage) {\n\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 return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, 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?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\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.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\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 this.getProviders((\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 type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\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'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\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 </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={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\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 <FixedViewContainer>\n <View 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 {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\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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"}
|