@fto-consult/expo-ui 6.0.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/babel.config.js +63 -64
  2. package/package.json +4 -4
  3. package/src/auth/avatarProps/index.js +1 -1
  4. package/src/components/AppBar/Content.js +4 -4
  5. package/src/components/AppBar/index.js +39 -18
  6. package/src/components/BackHandler/index.android.js +3 -0
  7. package/src/components/BackHandler/index.js +23 -0
  8. package/src/components/BottomSheet/Sheet.js +1 -2
  9. package/src/components/Button/index.js +3 -3
  10. package/src/components/Checkbox/index.js +2 -3
  11. package/src/components/Chip/index.js +5 -5
  12. package/src/components/Color/ColorPicker.js +7 -7
  13. package/src/components/Color/index.js +5 -5
  14. package/src/components/Countries/Flag.js +1 -1
  15. package/src/components/Countries/SelectCountry.js +1 -1
  16. package/src/components/Datagrid/Common/Common.js +0 -1
  17. package/src/components/Datagrid/Common/utils.js +1 -2
  18. package/src/components/Date/DatePickerInput/index.js +4 -4
  19. package/src/components/Date/Time.js +3 -3
  20. package/src/components/Dialog/confirm/showConfirmOrAlertOrPrompt.js +1 -1
  21. package/src/components/DragResize/DragResizeBlock.js +3 -3
  22. package/src/components/Drawer/DrawerItems/_DrawerItem.js +1 -1
  23. package/src/components/Dropdown/index.js +9 -17
  24. package/src/components/Expandable/index.js +1 -1
  25. package/src/components/Fab/GroupComponent.js +4 -5
  26. package/src/components/Filter/BetweenComponent.js +1 -1
  27. package/src/components/Filter/index.js +1 -1
  28. package/src/components/Form/Fields/Field.js +7 -16
  29. package/src/components/Form/Fields/{IDField.js → IdField.js} +1 -1
  30. package/src/components/Form/Fields/SelectTableData/Component.js +1 -1
  31. package/src/components/Form/FormData/FormData.js +1 -1
  32. package/src/components/Form/List/List.js +15 -15
  33. package/src/components/Grid/Cell.js +1 -1
  34. package/src/components/HeavyScreen/index.js +5 -8
  35. package/src/components/Icon/Icon.js +13 -5
  36. package/src/components/Icon/IconButton.js +1 -1
  37. package/src/components/Image/index.js +6 -7
  38. package/src/components/Label/index.js +4 -4
  39. package/src/components/Menu/Item.js +1 -1
  40. package/src/components/Menu/Menu.js +2 -2
  41. package/src/components/Menu/index.js +2 -2
  42. package/src/components/Modal/index.js +3 -3
  43. package/src/components/PhoneInput/index.js +3 -3
  44. package/src/components/Radio/index.js +2 -3
  45. package/src/components/SelectCurrency/Format.js +3 -4
  46. package/src/components/SelectCurrency/index.js +3 -3
  47. package/src/components/SimpleSelect/index.js +6 -9
  48. package/src/components/Slider/index.js +2 -3
  49. package/src/components/Snackbar/index.js +1 -1
  50. package/src/components/SplashScreen/index.js +1 -1
  51. package/src/components/Switch/index.js +3 -4
  52. package/src/components/Tab/TabItem.js +1 -1
  53. package/src/components/TextField/index.js +17 -20
  54. package/src/components/Tooltip/Popover/index.web.js +1 -1
  55. package/src/components/Tooltip/index.js +1 -1
  56. package/src/index.js +2 -1
  57. package/src/layouts/ProfilAvatar/index.js +2 -2
  58. package/src/layouts/Screen/ScreenWithOrWithoutAuthContainer.js +1 -1
  59. package/src/layouts/Screen/TableData.js +1 -1
  60. package/src/screens/ScreenWrapper.js +1 -1
@@ -1,10 +1,10 @@
1
1
  import React from "$react";
2
2
  import {
3
- BackHandler,
4
3
  StyleSheet,
5
4
  View,
6
5
  TouchableWithoutFeedback,
7
6
  } from 'react-native';
7
+ import BackHandler from "$ecomponents/BackHandler";
8
8
  import PropTypes from "prop-types";
9
9
  import theme,{StyleProp} from "$theme";
10
10
  //import Animated from "react-native-reanimated";
@@ -108,7 +108,7 @@ const ModalComponent = React.forwardRef((props,ref)=>{
108
108
  {...rest}
109
109
  pointerEvents={visible ? 'auto' : 'none'}
110
110
  accessibilityViewIsModal
111
- accessibilityLiveRegion="polite"
111
+ role="polite"
112
112
  onAccessibilityEscape={hideModal}
113
113
  style = {[styles.modal,rest.style]}
114
114
  animationType = {animationType}
@@ -117,7 +117,7 @@ const ModalComponent = React.forwardRef((props,ref)=>{
117
117
  >
118
118
  <TouchableWithoutFeedback
119
119
  accessibilityLabel={overlayAccessibilityLabel}
120
- accessibilityRole="button"
120
+ role="button"
121
121
  disabled={!dismissable}
122
122
  onPress={dismissable ? hideModal : undefined}
123
123
  importantForAccessibility="no"
@@ -125,7 +125,7 @@ export default function PhoneInputComponent(props){
125
125
  setState(nState);
126
126
  return nState;
127
127
  }
128
- const pointerEvents = props.disabled || props.editable === false || props.readOnly ? "none":"auto";
128
+ const pointerEvents = props.disabled || props.readOnly ? "none":"auto";
129
129
  const isFlatMode = theme.textFieldMode === flatMode;
130
130
  testID = defaultStr(testID,"RN_PhoneInputComponent");
131
131
  return <SelectCountry
@@ -163,7 +163,7 @@ export default function PhoneInputComponent(props){
163
163
  pointerEvents = {pointerEvents}
164
164
  left = {
165
165
  <TouchableOpacity testID={testID+"_Left"} style={[styles.flag,disabledStyle,!isFlatMode && styles.notFlatModeFlag]}
166
- accessibilityRole="button"
166
+ role="button"
167
167
  disabled = {props.disabled}
168
168
  pointerEvents = {pointerEvents}
169
169
  onPress={onPressFlag}
@@ -175,7 +175,7 @@ export default function PhoneInputComponent(props){
175
175
  </>
176
176
  </TouchableOpacity>
177
177
  }
178
- keyboardType ={keyboardTypes.number}
178
+ inputMode ={keyboardTypes.number}
179
179
  defaultValue = {state.displayValue}
180
180
  onChange = {(args)=>{
181
181
  const {value:nValue} = args;
@@ -37,7 +37,6 @@ const RadioComponent = React.forwardRef((props,ref)=>{
37
37
  labelStyle,
38
38
  helperText,
39
39
  position,
40
- editable,
41
40
  disabled,
42
41
  readOnly,
43
42
  primaryOnCheck,
@@ -45,7 +44,7 @@ const RadioComponent = React.forwardRef((props,ref)=>{
45
44
  ...p
46
45
  } = props;
47
46
  disabled = defaultBool(disabled,false);
48
- const isEditable = !disabled && readOnly !== true && editable !== false ? true : false;
47
+ const isEditable = !disabled && readOnly !== true ? true : false;
49
48
  const pointerEvents = isEditable ? "auto" : "none";
50
49
  p = defaultObj(p);
51
50
  checkedValue = defaultVal(checkedValue,1);
@@ -117,7 +116,7 @@ const RadioComponent = React.forwardRef((props,ref)=>{
117
116
  Component = {RadioButton.Item}
118
117
  {...p}
119
118
  disabled = {disabled}
120
- editable = {isEditable}
119
+ readOnly = {!isEditable}
121
120
  pointerEvents = {pointerEvents}
122
121
  style = {[styles.checkbox,style]}
123
122
  position = {position}
@@ -8,8 +8,8 @@ import {isNonNullString,defaultStr} from "$cutils";
8
8
  import Icon from "$ecomponents/Icon";
9
9
  import {styles} from "$theme";
10
10
 
11
- const CurrencyFormat = React.forwardRef(({disabled,readOnly,right,isFilter,editable,...props},ref)=>{
12
- const isEditable = disabled !== true && readOnly !== true && editable !== false;
11
+ const CurrencyFormat = React.forwardRef(({disabled,readOnly,right,isFilter,...props},ref)=>{
12
+ const isEditable = disabled !== true && readOnly !== true;
13
13
  const defaultValue = isNonNullString(props.defaultValue) && props.defaultValue.contains("v" && props.defaultValue) && props.defaultValue || defaultStr(appConfig.currencyFormat,"%v %s");
14
14
  const title = "Format d'affichage des valeurs numériques : une chaine de caractère constituée des lettre %v et %s où %v représente la valeur du montant et %s représente la devise : exemple %s%v => $10 et %v %s => 10 $";
15
15
  return <TextField
@@ -17,8 +17,7 @@ const CurrencyFormat = React.forwardRef(({disabled,readOnly,right,isFilter,edita
17
17
  enableCopy = {false}
18
18
  {...props}
19
19
  disabled = {disabled}
20
- readOnly = {readOnly}
21
- editable = {isEditable}
20
+ readOnly = {readOnly || !isEditable}
22
21
  defaultValue = {defaultValue}
23
22
  right = {!isEditable || isFilter ? right : (rP)=>{
24
23
  const r = typeof right =='function'? right(rP) : right;
@@ -18,8 +18,8 @@ CurrencySelector.Format = Format;
18
18
 
19
19
  export default CurrencySelector;
20
20
 
21
- export const selectCurrencyFieldProps = ({disabled,readOnly,isFilter,editable,...props})=>{
22
- const isEditable = disabled !== true && readOnly !== true && editable !== false;
21
+ export const selectCurrencyFieldProps = ({disabled,readOnly,isFilter,...props})=>{
22
+ const isEditable = disabled !== true && readOnly !== true;
23
23
  const currency = appConfig.currency;
24
24
  return {
25
25
  items : currencies,
@@ -31,7 +31,7 @@ export const selectCurrencyFieldProps = ({disabled,readOnly,isFilter,editable,..
31
31
  ...props,
32
32
  isFilter,
33
33
  disabled : !isEditable,
34
- editable : isEditable,
34
+ readOnly : readOnly || !isEditable,
35
35
  type : 'select',
36
36
  }
37
37
  }
@@ -16,7 +16,7 @@ import { matchOperators,getSearchTimeout,canAutoFocusSearchField} from "$ecompon
16
16
  import Dialog from "$ecomponents/Dialog";
17
17
 
18
18
  const SimpleSelect = React.forwardRef((props,ref)=>{
19
- let {style : customStyle,onMount,mode,showSearch,anchorContainerProps,renderText,contentContainerProps,withCheckedIcon,testID,selectionColor,dialogProps,onShow,anchor,onUnmont,controlled:cr,onDismiss,visible:controlledVisible,selectedColor,inputProps,itemProps,itemContainerProps,label,listProps,editable,readOnly,text,filter,renderItem,itemValue,getItemValue,defaultValue,items:menuItems,onPress,onChange,disabled,...rest} = props;
19
+ let {style : customStyle,onMount,mode,showSearch,anchorContainerProps,renderText,contentContainerProps,withCheckedIcon,testID,selectionColor,dialogProps,onShow,anchor,onUnmont,controlled:cr,onDismiss,visible:controlledVisible,selectedColor,inputProps,itemProps,itemContainerProps,label,listProps,readOnly,text,filter,renderItem,itemValue,getItemValue,defaultValue,items:menuItems,onPress,onChange,disabled,...rest} = props;
20
20
  const flattenStyle = StyleSheet.flatten(customStyle) || {};
21
21
  const controlledRef = React.useRef(typeof controlledVisible ==='boolean'? true : false);
22
22
  const controlled = controlledRef.current;
@@ -127,7 +127,7 @@ const SimpleSelect = React.forwardRef((props,ref)=>{
127
127
  }
128
128
  },[value]);
129
129
  const [canEdit,setCanEdit] = React.useState(true);
130
- const isEditable = canEdit && !disabled && !readOnly && editable !== false ? true : false;
130
+ const isEditable = canEdit && !disabled && !readOnly ? true : false;
131
131
  const pointerEvents = isEditable ? "auto" : "none";
132
132
  const isMob = !isDesktopMedia();
133
133
  const prevIsMob = React.usePrevious(isMob);
@@ -231,7 +231,6 @@ const SimpleSelect = React.forwardRef((props,ref)=>{
231
231
  label : defaultVal(label,text,inputProps.label),
232
232
  disabled,
233
233
  readOnly,
234
- editable : false,
235
234
  pointerEvents,
236
235
  value,
237
236
  autoHeight : false,
@@ -247,13 +246,12 @@ const SimpleSelect = React.forwardRef((props,ref)=>{
247
246
  {...rest}
248
247
  {...inputProps}
249
248
  label = {defaultVal(label,text,inputProps.label)}
250
- editable = {false}
249
+ readOnly = {typeof readOnly ==='boolean'? readOnly : true}
251
250
  disabled = {disabled}
252
- readOnly = {readOnly}
253
251
  defaultValue = {selectedObj.textContent}
254
252
  />
255
253
  const inputRef = React.useRef(null);
256
- const canFilter = !props.disabled && !props.readOnly && props.editable !== false && visible;
254
+ const canFilter = !props.disabled && !props.readOnly && visible;
257
255
  const [filterText,setFilterText] = React.useState("");
258
256
  let filterRegex = undefined;
259
257
  if(canFilter && isNonNullString(filterText)){
@@ -261,7 +259,6 @@ const SimpleSelect = React.forwardRef((props,ref)=>{
261
259
  }
262
260
  const textInputProps = {
263
261
  disabled : props.disabled,
264
- editable : props.editable,
265
262
  readOnly : props.readOnly,
266
263
  label : props.label,
267
264
  mode:flatMode,
@@ -281,7 +278,7 @@ const SimpleSelect = React.forwardRef((props,ref)=>{
281
278
  const autoFocus = canAutoFocusSearchField({visible,items:renderingItems});
282
279
  testID = defaultStr(testID, "RN_SimpleSelectComponent");
283
280
  anchor = <TouchableOpacity
284
- accessibilityRole="button"
281
+ role="button"
285
282
  activeOpacity={0.3}
286
283
  testID = {testID}
287
284
  {...defaultObj(anchorContainerProps)}
@@ -308,7 +305,7 @@ const SimpleSelect = React.forwardRef((props,ref)=>{
308
305
  visible = {visible}
309
306
  onDismiss={close}
310
307
  disabled = {!isEditable}
311
- editable = {editable !== false? true : false}
308
+ readOnly = {readOnly === true? true : false}
312
309
  style = {[{marginTop}]}
313
310
  anchor = {anchor}
314
311
  contentProps = {{style:{flex:1}}}
@@ -31,7 +31,6 @@ const SliderComponent = React.forwardRef((props,ref)=>{
31
31
  renderValue,
32
32
  step,
33
33
  percentage,
34
- editable,
35
34
  disabled,
36
35
  readOnly,
37
36
  ...p
@@ -39,7 +38,7 @@ const SliderComponent = React.forwardRef((props,ref)=>{
39
38
  p = defaultObj(p);
40
39
  disabled = defaultBool(disabled,false);
41
40
  readOnly = defaultBool(readOnly,false);
42
- const isEditable = !disabled && !readOnly && editable !== false ? true : false;
41
+ const isEditable = !disabled && !readOnly ? true : false;
43
42
  const pointerEvents = isEditable ? "auto" : "none";
44
43
  containerProps = defaultObj(containerProps);
45
44
  valueProps = defaultObj(valueProps);
@@ -95,7 +94,7 @@ const SliderComponent = React.forwardRef((props,ref)=>{
95
94
  <Slider
96
95
  {...p}
97
96
  disabled = {disabled}
98
- editable = {isEditable}
97
+ readOnly = {readOnly || !isEditable}
99
98
  thumbTintColor = {Colors.isValid(p.thumbTintColor)? p.thumbTintColor:tinColor}
100
99
  minimumTrackTintColor = {Colors.isValid(p.minimumTrackTintColor)
101
100
  ?p.minimumTrackTintColor:tinColor}
@@ -128,7 +128,7 @@ const Snackbar = ({
128
128
  >
129
129
  <Surface
130
130
  pointerEvents="box-none"
131
- accessibilityLiveRegion="polite"
131
+ role="polite"
132
132
  elevation = {elevation}
133
133
  {...rest}
134
134
  testID={testID}
@@ -101,7 +101,7 @@ const SplashScreenComponent = ({isLoaded,children , duration, delay,logoWidth,lo
101
101
  }
102
102
  const child = (animationDone && isLoaded)? React.isValidElement(children) && children : null;
103
103
  return (
104
- <View style={[styles.container]} testID={testID} nativeID={testID}>
104
+ <View style={[styles.container]} testID={testID} id={testID}>
105
105
  {!animationDone && <View style={StyleSheet.absoluteFill} testID={testID+"_Animation"}/>}
106
106
  <View style={styles.containerGlue}>
107
107
  {!animationDone && (
@@ -39,7 +39,6 @@ const SwitchComponent = React.forwardRef((props,ref)=>{
39
39
  checked,
40
40
  testID,
41
41
  title,
42
- editable,
43
42
  disabled,
44
43
  readOnly,
45
44
  right,
@@ -50,7 +49,7 @@ const SwitchComponent = React.forwardRef((props,ref)=>{
50
49
  } = props;
51
50
  p = defaultObj(p);
52
51
  disabled = defaultBool(disabled,false);
53
- const isEditable = !disabled && readOnly !== true && editable !== false ? true : false;
52
+ const isEditable = !disabled && readOnly !== true ? true : false;
54
53
  const pointerEvents = isEditable ? "auto" : "none";
55
54
  checkedValue = defaultVal(onValue,checkedValue,1);
56
55
  uncheckedValue = defaultVal(offValue,uncheckedValue,0);
@@ -105,7 +104,7 @@ const SwitchComponent = React.forwardRef((props,ref)=>{
105
104
  const disabledStyle = undefined;//disabled ? {opacity : DISABLED_OPACITY} : undefined;
106
105
  const sw = <Switch
107
106
  disabled = {disabled}
108
- editable = {isEditable}
107
+ readOnly = {readOnly || !isEditable}
109
108
  pointerEvents={pointerEvents}
110
109
  style = {[{paddingHorizontal:0,['margin'+(isLeftPosition?'Right':'Left')]:10},style,disabledStyle]}
111
110
  value = {isSwitchOn}
@@ -116,7 +115,7 @@ const SwitchComponent = React.forwardRef((props,ref)=>{
116
115
  {...p}
117
116
  tooltip={tooltip}
118
117
  accessibilityLabel={label}
119
- accessibilityRole="switch"
118
+ role="switch"
120
119
  disabled = {!isEditable}
121
120
  pointerEvents = {pointerEvents}
122
121
  accessibilityState={{checked:isSwitchOn}}
@@ -44,7 +44,7 @@ const TabItemComponentNotThemed = ({
44
44
  const isIconTop = iconPosition =='top'? true : false;
45
45
 
46
46
  return (<TouchableRipple
47
- accessibilityRole="tab"
47
+ role="tab"
48
48
  accessibilityState={{ selected: active }}
49
49
  accessibilityValue={
50
50
  typeof label === 'string' ? { text: label } : undefined
@@ -33,11 +33,11 @@ const isIos = _isIos();
33
33
  const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
34
34
  let {defaultValue,toCase:toCustomCase,color,validType,validRule,placeholder,outlined,placeholderColor,
35
35
  label,labelProps,labelStyle,fontSize,containerProps,selection,roundness,
36
- autoCapitalize,disabled,editable,readOnly,elevation,divider,render,
36
+ autoCapitalize,disabled,readOnly,elevation,divider,render,
37
37
  leftContainerProps,left,right,rightContainerProps,rows,
38
38
  emptyValue,usePlaceholderWhenEmpty,
39
39
  numberOfLines,mode,selectionColor,activeOutlineColor,multiline
40
- ,underlineColor,alwaysUseLabel,activeUnderlineColor,autoHeight,multiple,keyboardType,setRef,type,error,
40
+ ,underlineColor,alwaysUseLabel,activeUnderlineColor,autoHeight,multiple,inputMode,setRef,type,error,
41
41
  style,maxLength,length,affixStyle,affix,helperText, upperCase,
42
42
  upper,onChangeText,onChange,onMount,onUnmount,
43
43
  format ,
@@ -97,32 +97,29 @@ const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
97
97
  if(type =="pass") type = "password";
98
98
  const ref = React.useRef(null);
99
99
  disabled = defaultBool(disabled,false);
100
- editable = defaultBool(editable,true);
101
100
  readOnly = defaultBool(readOnly,false);
102
- if(readOnly){
103
- editable = false;
104
- }
105
- const isEditable = !disabled && !readOnly && editable !== false;
106
- keyboardType = defaultStr(keyboardType).toLowerCase();
101
+
102
+ const isEditable = !disabled && !readOnly;
103
+ inputMode = defaultStr(inputMode).toLowerCase();
107
104
  let hasFountKeyboardType = false;
108
- if(isNonNullString(keyboardType)){
109
- if(!keyboardTypes[keyboardType]){
105
+ if(isNonNullString(inputMode)){
106
+ if(!keyboardTypes[inputMode]){
110
107
  for(let i in keyboardTypes){
111
- if(keyboardType === keyboardTypes[i]){
108
+ if(inputMode === keyboardTypes[i]){
112
109
  hasFountKeyboardType = true;
113
110
  }
114
111
  }
115
112
  }
116
113
  }
117
- if(!hasFountKeyboardType && (!keyboardType || !keyboardTypes[keyboardType])){
114
+ if(!hasFountKeyboardType && (!inputMode || !keyboardTypes[inputMode])){
118
115
  if(canValueBeDecimal){
119
- keyboardType = keyboardTypes.decimal;
116
+ inputMode = keyboardTypes.decimal;
120
117
  } else if(type == "email"){
121
- keyboardType = keyboardTypes.email;
118
+ inputMode = keyboardTypes.email;
122
119
  } else if(type =="phone" || type =="tel"){
123
- keyboardType = keyboardTypes.phone;
120
+ inputMode = keyboardTypes.phone;
124
121
  } else if(!keyboardTypes[type]){
125
- keyboardType = keyboardTypes.default;
122
+ inputMode = keyboardTypes.default;
126
123
  }
127
124
  }
128
125
  const isSecureText = type =="password"?true : false;
@@ -222,9 +219,9 @@ const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
222
219
  rightContainerProps = defaultObj(rightContainerProps);
223
220
  const pointerEvents = isEditable?"auto":'none';
224
221
  const upperStyle = text && (upper || lower) && !isAndroid ? {textTransform:upper?'uppercase':'lowercase'} : null;
225
- const opacity = disabled ? DISABLED_OPACITY : (useReadOnlyOpacity !== false && !error && (readOnly || editable === false)) ? READONLY_OPACITY : undefined;
222
+ const opacity = disabled ? DISABLED_OPACITY : (useReadOnlyOpacity !== false && !error && (readOnly)) ? READONLY_OPACITY : undefined;
226
223
  const disabledStyle = handleOpacity != false && opacity ? {opacity} : undefined;
227
- if((editable === false || disabled === true) ){
224
+ if((readOnly === true || disabled === true) ){
228
225
  selection = defaultObj(selection);
229
226
  if(!isNumber(selection.start)){
230
227
  selection.start = 0;
@@ -339,7 +336,7 @@ const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
339
336
  },
340
337
 
341
338
  disabled,
342
- editable : isEditable,
339
+ readOnly : readOnly || !isEditable,
343
340
  error : !!error,
344
341
  mode,
345
342
  underlineColor,
@@ -364,7 +361,7 @@ const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
364
361
  ],
365
362
  pointerEvents,
366
363
  secureTextEntry,
367
- keyboardType,
364
+ inputMode,
368
365
  autoCapitalize : upper?(isAndroid?'characters':"none"):autoCapitalize,
369
366
  value : currentDefaultValue,
370
367
  realValue : text,
@@ -43,7 +43,7 @@ const TippyTooltipComponent = React.forwardRef((props,ref)=>{
43
43
  },[content])
44
44
  const cProps = {
45
45
  ...defaultObj(rest),
46
- nativeID:instanceIdRef.current,
46
+ id:instanceIdRef.current,
47
47
  }
48
48
  if(typeof children =='function'){
49
49
  return children(cProps,innerRef);
@@ -21,7 +21,7 @@ const TooltipComponent = React.forwardRef((props,ref)=>{
21
21
  rest.children = children;
22
22
  }
23
23
  const ct = <Component {...rest}/>
24
- if(!content || rest.disabled === true || rest.readOnly === true || rest.editable === false){
24
+ if(!content || rest.disabled === true || rest.readOnly === true){
25
25
  return typeof children =='function'? children(rest,ref) : ct;
26
26
  }
27
27
  return <Popover
package/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import React from "$react"
2
- import { AppState,BackHandler,} from "react-native";
2
+ import { AppState} from "react-native";
3
+ import BackHandler from "$ecomponents/BackHandler";
3
4
  import * as Linking from 'expo-linking';
4
5
  import APP from "$capp";
5
6
  import {AppStateService,trackIDLE,stop as stopIDLE} from "$capp/idle";
@@ -120,7 +120,7 @@ const UserProfileAvatarComponent = React.forwardRef(({drawerRef,chevronIconProps
120
120
  size={size}
121
121
  style = {styles.itemLeft}
122
122
  testID = {"RN_ProfilAvatar_Avatar"}
123
- editable
123
+ readOnly = {false}
124
124
  defaultSource ={avatarProps.defaultSrc}
125
125
  onChange = {onChangeAvatar}
126
126
  />
@@ -146,7 +146,7 @@ const UserProfileAvatarComponent = React.forwardRef(({drawerRef,chevronIconProps
146
146
  size={size}
147
147
  style = {styles.itemLeft}
148
148
  testID = {"RN_ProfilAvatar_AvatarImage"}
149
- editable
149
+ readOnly = {false}
150
150
  defaultSource ={avatarProps.defaultSrc}
151
151
  onChange = {onChangeAvatar}
152
152
  />}
@@ -122,7 +122,7 @@ export default function MainScreenScreenWithOrWithoutAuthContainer(props) {
122
122
  ...authProps,
123
123
  required : authRequired,
124
124
  },
125
- children : <View testID={testID} nativeID={portalId} {...containerProps} style={[styles.container,{backgroundColor},modal && styles.modal,containerProps.style]}>
125
+ children : <View testID={testID} id={portalId} {...containerProps} style={[styles.container,{backgroundColor},modal && styles.modal,containerProps.style]}>
126
126
  {withStatusBar !== false ? <StatusBar/> : null}
127
127
  {appBar === false ? null : React.isValidElement(appBar)? state.AppBar : <AppBar
128
128
  testID={testID+'_AppBar'} {...appBarProps}
@@ -46,7 +46,7 @@ export default class TableDataScreenComponent extends FormDataScreen{
46
46
  const f = fields[i];
47
47
  f.type = defaultStr(f.jsType,f.type).toLowerCase();
48
48
  const name = f.field = defaultStr(f.field,i);
49
- if((f.type =='id' || f.type =='piece' || f.primaryKey || f.unique === true) && f.unique !== false && f.disabled !== true && f.editable !== false && f.readOnly !== true){
49
+ if((f.type =='id' || f.type =='piece' || f.primaryKey || f.unique === true) && f.unique !== false && f.disabled !== true && f.readOnly !== true){
50
50
  const {onBlur} = f;
51
51
  f.onBlur = (args)=>{
52
52
  args = {...f,...args,fetch,columnField:name,fieldName:name,id:args.value};
@@ -2,7 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style
3
3
  // license that can be found in the LICENSE file.
4
4
  import React from "$react";
5
- import { BackHandler } from "react-native";
5
+ import BackHandler from "$ecomponents/BackHandler";
6
6
  import APP from "$capp";
7
7
  import {useDrawer} from "$ecomponents/Drawer";
8
8
  import {navigationRef,getScreenProps,setRoute,setActiveNavigation,setScreenOptions,goBack} from "$cnavigation";