@fto-consult/expo-ui 8.54.1 → 8.56.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.
@@ -31,9 +31,9 @@ export default {
31
31
  Pour override l'interface de connexion par défaut, vous dévez définir le contenu de cette propriété comme étant un composant React qui sera rendu
32
32
  rendu en lieu et place du composant de connexion par défaut : Ce composant aura comme props :
33
33
  {
34
- withPortal : {boolean}, //si le contenu de l'écran doit être rendu dans un portal
34
+ withScreen : {boolean}, //si le contenu de l'écran doit être rendu dans un Screen ReactNative
35
35
  onSuccess <function> : (data)=><any>, la fonction appelée en cas de success
36
- appBarProps <object>, les props à passer au composant ApppBar de l'écran de connexion, lorsque withPortal est à true
36
+ appBarProps <object>, les props à passer au composant ApppBar de l'écran de connexion, lorsque withScreen est à true
37
37
  auth <object>, //le composant auth récupérer à l'aide du hook useAuth de $cauth. définit les fonctions suivantes :
38
38
  {
39
39
  signIn : (data)=><Promise>, la fonction permettant de connecter l'utilisateur
@@ -78,7 +78,6 @@ export default {
78
78
  headerTopContent : <ReactComponent | ReactNode, le contenu a afficher au headerTop de l'interface de connexion
79
79
  header : <ReactComponent| ReactNode>, le contenu du qui sera rendu immédiatement après le composant Header, par défaut, le texte "Connectez vous svp est affiché". Ce contenu doit être rendu si l'on souhaite override le texte "Connectez vous SVP"
80
80
  containerProps : <object>, les props du composant <Surface/>, le composant qui est le wrapper du composant FormData en charge de récupérer les données de l'interface de connexion
81
- withHeaderAvatar : <boolean>, si l'avatar ou l'iconne de connexion sera afficher à l'interface de connexion par défaut
82
81
  canSubmit : ({step,...rest})=> <boolean>, //si les donées du formulaire peuvent être submit
83
82
  beforeSubmit : ({step,data,...rest})=><void>, //la fonction appélée immédiatement avant le submit des donénes
84
83
  ...loginProps {object}, les props Supplémentaires à passer au composant FormData utilisé pour le rendu du formulaire de connexion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fto-consult/expo-ui",
3
- "version": "8.54.1",
3
+ "version": "8.56.0",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "react-native-paper-doc": "https://github.com/callstack/react-native-paper/tree/main/docs/docs/guides",
6
6
  "scripts": {
@@ -69,7 +69,7 @@
69
69
  "dependencies": {
70
70
  "@emotion/react": "^11.11.1",
71
71
  "@faker-js/faker": "^8.0.2",
72
- "@fto-consult/common": "^4.37.0",
72
+ "@fto-consult/common": "^4.38.1",
73
73
  "@fto-consult/node-utils": "^1.7.1",
74
74
  "apexcharts": "^3.47.0",
75
75
  "file-saver": "^2.0.5",
package/src/auth/Login.js CHANGED
@@ -101,7 +101,7 @@ export default function LoginComponent(props){
101
101
  },[state.step]);
102
102
  if(React.isComponent(Login)) return <Login
103
103
  {...props}
104
- withPortal = {withPortal}
104
+ withScreen = {withPortal}
105
105
  appBarProps = {appBarProps}
106
106
  onSuccess = {onSuccess}
107
107
  auth = {auth}
@@ -119,7 +119,6 @@ export default function LoginComponent(props){
119
119
  const {header,
120
120
  headerTopContent:HeaderTopContent,
121
121
  containerProps : customContainerProps,
122
- withHeaderAvatar,
123
122
  contentProps : customContentProps,
124
123
  withScrollView:customWithScrollView,children,initialize,contentTop,data:loginData,canGoToNext,keyboardEvents,onSuccess:onLoginSuccess,mutateData,beforeSubmit:beforeSubmitForm,canSubmit:canSubmitForm,onStepChange,...loginProps} = loginPropsMutator({
125
124
  ...state,
@@ -141,7 +140,6 @@ export default function LoginComponent(props){
141
140
  });
142
141
  const containerProps = defaultObj(customContainerProps);
143
142
  const contentProps = defaultObj(customContentProps);
144
-
145
143
  /****la fonction à utiliser pour vérifier si l'on peut envoyer les données pour connextion
146
144
  * par défaut, on envoie les données lorssqu'on est à l'étappe 2
147
145
  * **/
@@ -232,12 +230,9 @@ export default function LoginComponent(props){
232
230
  formName = {formName}
233
231
  testID = {testID+"_FormData"}
234
232
  style = {[styles.formData,{backgroundColor}]}
235
- header = {<View style = {[styles.header]}>
236
- {withHeaderAvatar !== false && <Avatar testID={testID+"_Avatar"} size={50} secondary icon = 'lock'/> || null}
237
- {
238
- React.isValidElement(header)? header :
239
- <Label testID={testID+"_HeaderText"} bool style={{color:theme.colors.primaryOnSurface,fontSize:18,paddingTop:10}}>Connectez vous SVP</Label>
240
- }
233
+ header = {React.isValidElement(header)? header : <View testID={`${testID}_HeaderContainer`} style = {[styles.header]}>
234
+ <Avatar testID={testID+"_Avatar"} size={50} secondary icon = 'lock'/>
235
+ <Label testID={testID+"_HeaderText"} bool style={{color:theme.colors.primaryOnSurface,fontSize:18,paddingTop:10}}>Connectez vous SVP</Label>
241
236
  </View>}
242
237
  responsive = {false}
243
238
  {...loginProps}
@@ -349,7 +344,6 @@ const styles = StyleSheet.create({
349
344
  });
350
345
 
351
346
  LoginComponent.propTypes = {
352
- withHeaderAvatar:PropTypes.bool,//si l'on affichera l'avatar de connexion
353
347
  headerTopContent : PropTypes.oneOfType([
354
348
  PropTypes.func,
355
349
  PropTypes.node,
@@ -10,9 +10,7 @@ import {styles as rStyles,getRowStyle} from "../utils";
10
10
  import { useIsRowSelected,useDatagrid} from "../hooks";
11
11
  import {HStack} from "$ecomponents/Stack";
12
12
 
13
- const DatagridAccordionRow = React.forwardRef((props,ref)=>{
14
- const {
15
- selectable,
13
+ const DatagridAccordionRow = React.forwardRef(({selectable,
16
14
  rowKey,
17
15
  bottomSheetTitle:customBottomSheetTitle,
18
16
  bottomSheetTitlePrefix,
@@ -24,14 +22,22 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
24
22
  item,
25
23
  index,
26
24
  style,
25
+ contentContainerProps,
27
26
  numColumns,
28
27
  onToggleExpand,
29
28
  callArgs,
30
- } = props;
29
+ title,
30
+ right,
31
+ rightProps,
32
+ description,
33
+ avatarContent,
34
+ rowProps,
35
+ testID,
36
+ ...restProps},ref)=>{
31
37
  const {context} = useDatagrid();
32
- let {title,right,rightProps,description,avatarContent,rowProps} = props;
33
38
  rowProps = defaultObj(rowProps);
34
39
  rightProps = defaultObj(rightProps);
40
+ contentContainerProps = defaultObj(contentContainerProps);
35
41
  if(!isObj(item)) {
36
42
  return null;
37
43
  }
@@ -63,7 +69,7 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
63
69
 
64
70
  let rowIndex = defaultDecimal(index);
65
71
  let rowIndexCount = index+1;
66
- const testID = defaultStr(props.testID,"RN_DatagridAccordionRow"+(rowKey||rowIndex))
72
+ testID = defaultStr(testID,"RN_DatagridAccordionRow"+(rowKey||rowIndex))
67
73
  const hasAvatar = React.isValidElement(avatarContent);
68
74
  const handleRowToggle = (event)=>{
69
75
  if(selectable === false) return;
@@ -111,6 +117,7 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
111
117
  right = typeof right === 'function'? right ({color:theme.colors.primaryOnSurface,selectable:true,style:[rStyles.lineHeight,styles.right]}) : right;
112
118
  return <Pressable
113
119
  disabled = {selectable===false?true : false}
120
+ {...restProps}
114
121
  {...rowProps}
115
122
  testID={testID}
116
123
  children = {null}
@@ -121,10 +128,10 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
121
128
  styles.bordered,
122
129
  wrapStyle,
123
130
  rowProps.style,
131
+ style,
124
132
  numColumns > 1 && styles.multiColumns,
125
133
  selected && styles.selected,
126
134
  selectable !== false && theme.styles.cursorPointer,
127
- //style,
128
135
  ]}
129
136
  ref = {(el)=>{
130
137
  if(el){
@@ -137,8 +144,9 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
137
144
  }}
138
145
  >
139
146
  <HStack
140
- style={[styles.renderedContent,!hasAvatar && styles.renderedContentHasNotAvatar,viewWrapperStyle,!hasAvatar && styles.contentContainerNotAvatar]}
141
147
  testID={testID+'_ContentContainer'}
148
+ {...contentContainerProps}
149
+ style={[styles.renderedContent,!hasAvatar && styles.renderedContentHasNotAvatar,viewWrapperStyle,!hasAvatar && styles.contentContainerNotAvatar,contentContainerProps.style]}
142
150
  >
143
151
  {hasAvatar?<View testID={testID+"_AvatarContentContainer"} style={[styles.avatarContent]}>
144
152
  {avatarContent}
@@ -205,6 +213,7 @@ const styles = StyleSheet.create({
205
213
  paddingHorizontal : 0,
206
214
  paddingRight : 10,
207
215
  width : "100%",
216
+ flexWrap : "nowrap"
208
217
  },
209
218
  renderedContentHasNotAvatar : {
210
219
  justifyContent : "space-between",
@@ -216,6 +225,8 @@ const styles = StyleSheet.create({
216
225
  paddingVertical : 5,
217
226
  fontSize:13,
218
227
  flexWrap: 'nowrap',
228
+ textAlign : "right",
229
+ alignSelf : "right",
219
230
  },
220
231
  row : {
221
232
  flexDirection:'row',
@@ -227,7 +238,7 @@ const styles = StyleSheet.create({
227
238
  },
228
239
  container : {
229
240
  paddingVertical : 0,
230
- paddingHorizontal : 0,
241
+ paddingHorizontal : 7,
231
242
  marginHorizontal : 0,
232
243
  flexWrap : 'nowrap',
233
244
  justifyContent : 'center',
@@ -212,7 +212,7 @@ const DatagridFactory = (Factory)=>{
212
212
  this.renderingItemsProps[rowKey] = defaultObj(this.renderingItemsProps[rowKey]);
213
213
  this.renderingItemsProps[rowKey].ref = el;
214
214
  }}
215
- style = {style}
215
+ style = {[style,this.props.accordionProps?.style]}
216
216
  callArgs = {this.getItemCallArgs({item,index})}
217
217
  onRowPress = {this.props.onRowPress}
218
218
  onRowLongPress = {this.props.onRowLongPress}
@@ -20,7 +20,7 @@ export default function TestDatagridComponent({count,...props}){
20
20
  return {
21
21
  content : `${rowData.email}`,
22
22
  title : rowData?.username,
23
- //avatar : rowData.avatar,
23
+ avatar : rowData.avatar,
24
24
  right : DateLib.format(rowData.birthdate),
25
25
  }
26
26
  }}
@@ -129,9 +129,12 @@ export default function UserProfileScreen({fields,...p}){
129
129
  },1000);
130
130
  });
131
131
  }
132
-
132
+ let uLogin = defaultStr(Auth.getLoginId(user));
133
+ if(uLogin){
134
+ uLogin = " ["+uLogin+"] | ";
135
+ }
133
136
  return <FormDataScreen
134
- title = {(user.label?(user.label+" ["+Auth.getLoginId(user)+"] | "):"")+"Profil : Modifier"}
137
+ title = {(user.label?(user.label+uLogin):"")+"Profil : Modifier"}
135
138
  {...props}
136
139
  modal
137
140
  withScrollView
@@ -1,21 +1,22 @@
1
1
  module.exports = {
2
2
  "@fto-consult/expo-ui": {
3
- "name": "@fto-consult/expo-ui",
4
- "version": "8.54.0",
5
- "repository": {
6
- "type": "git",
7
- "url": "git+https://github.com/borispipo/expo-ui.git"
8
- },
9
- "homepage": "https://github.com/borispipo/expo-ui#readme"
3
+ "version": "8.55.0",
4
+ "url": "https://github.com/borispipo/expo-ui#readme",
5
+ "license": "ISC"
10
6
  },
11
7
  "@babel/plugin-proposal-export-namespace-from": {
12
8
  "version": "7.18.9",
13
9
  "url": "https://babel.dev/docs/en/next/babel-plugin-proposal-export-namespace-from",
14
10
  "license": "MIT"
15
11
  },
16
- "@emotion/react": {
17
- "version": "11.11.4",
18
- "url": "https://github.com/emotion-js/emotion/tree/main/packages/react",
12
+ "@emotion/native": {
13
+ "version": "11.11.0",
14
+ "url": "https://emotion.sh",
15
+ "license": "MIT"
16
+ },
17
+ "@expo/html-elements": {
18
+ "version": "0.5.1",
19
+ "url": "https://github.com/expo/expo/tree/main/packages/html-elements",
19
20
  "license": "MIT"
20
21
  },
21
22
  "@expo/metro-config": {
@@ -23,28 +24,59 @@ module.exports = {
23
24
  "url": "https://github.com/expo/expo.git",
24
25
  "license": "MIT"
25
26
  },
27
+ "@expo/vector-icons": {
28
+ "version": "14.0.0",
29
+ "url": "https://expo.github.io/vector-icons",
30
+ "license": "MIT"
31
+ },
26
32
  "@expo/webpack-config": {
27
33
  "version": "19.0.1",
28
34
  "url": "https://github.com/expo/expo-webpack-integrations/tree/main/packages/webpack-config#readme",
29
35
  "license": "MIT"
30
36
  },
31
- "@faker-js/faker": {
32
- "version": "8.4.1",
33
- "url": "https://github.com/faker-js/faker.git",
37
+ "@pchmn/expo-material3-theme": {
38
+ "version": "1.3.2",
39
+ "url": "https://github.com/pchmn/expo-material3-theme#readme",
34
40
  "license": "MIT"
35
41
  },
36
- "@fto-consult/common": {
37
- "version": "4.37.0",
38
- "url": "https://github.com/borispipo/common#readme",
39
- "license": "ISC"
42
+ "@react-native-async-storage/async-storage": {
43
+ "version": "1.21.0",
44
+ "url": "https://github.com/react-native-async-storage/async-storage#readme",
45
+ "license": "MIT"
46
+ },
47
+ "@react-native-community/datetimepicker": {
48
+ "version": "7.6.1",
49
+ "url": "https://github.com/react-native-community/datetimepicker#readme",
50
+ "license": "MIT"
51
+ },
52
+ "@react-native-community/netinfo": {
53
+ "version": "11.1.0",
54
+ "url": "https://github.com/react-native-netinfo/react-native-netinfo#readme",
55
+ "license": "MIT"
56
+ },
57
+ "@react-native/assets-registry": {
58
+ "version": "0.72.0",
59
+ "url": "git@github.com:facebook/react-native.git",
60
+ "license": "MIT"
61
+ },
62
+ "@react-navigation/native": {
63
+ "version": "6.1.16",
64
+ "url": "https://reactnavigation.org",
65
+ "license": "MIT"
66
+ },
67
+ "@react-navigation/native-stack": {
68
+ "version": "6.9.25",
69
+ "url": "https://github.com/software-mansion/react-native-screens#readme",
70
+ "license": "MIT"
40
71
  },
41
- "@fto-consult/node-utils": {
42
- "version": "1.7.1",
72
+ "@react-navigation/stack": {
73
+ "version": "6.3.28",
74
+ "url": "https://reactnavigation.org/docs/stack-navigator/",
43
75
  "license": "MIT"
44
76
  },
45
- "apexcharts": {
46
- "version": "3.47.0",
47
- "url": "https://apexcharts.com",
77
+ "@shopify/flash-list": {
78
+ "version": "1.6.3",
79
+ "url": "https://shopify.github.io/flash-list/",
48
80
  "license": "MIT"
49
81
  },
50
82
  "babel-plugin-inline-dotenv": {
@@ -62,48 +94,69 @@ module.exports = {
62
94
  "url": "https://github.com/crypto-browserify/crypto-browserify",
63
95
  "license": "MIT"
64
96
  },
65
- "file-saver": {
66
- "version": "2.0.5",
67
- "url": "https://github.com/eligrey/FileSaver.js#readme",
97
+ "expo": {
98
+ "version": "50.0.13",
99
+ "url": "https://github.com/expo/expo/tree/main/packages/expo",
68
100
  "license": "MIT"
69
101
  },
70
- "google-libphonenumber": {
71
- "version": "3.2.34",
72
- "url": "https://ruimarinho.github.io/google-libphonenumber/",
73
- "license": "(MIT AND Apache-2.0)"
102
+ "expo-camera": {
103
+ "version": "14.1.1",
104
+ "url": "https://docs.expo.dev/versions/latest/sdk/camera/",
105
+ "license": "MIT"
74
106
  },
75
- "html2canvas": {
76
- "version": "1.4.1",
77
- "url": "https://html2canvas.hertzen.com",
107
+ "expo-clipboard": {
108
+ "version": "5.0.1",
109
+ "url": "https://docs.expo.dev/versions/latest/sdk/clipboard",
78
110
  "license": "MIT"
79
111
  },
80
- "htmlparser2-without-node-native": {
81
- "version": "3.9.2",
82
- "url": "git://github.com/fb55/htmlparser2.git",
112
+ "expo-font": {
113
+ "version": "11.10.3",
114
+ "url": "https://docs.expo.dev/versions/latest/sdk/font/",
83
115
  "license": "MIT"
84
116
  },
85
- "is-plain-obj": {
86
- "version": "4.1.0",
117
+ "expo-image-picker": {
118
+ "version": "14.7.1",
119
+ "url": "https://docs.expo.dev/versions/latest/sdk/imagepicker/",
87
120
  "license": "MIT"
88
121
  },
89
- "jsbarcode": {
90
- "version": "3.11.6",
91
- "url": "https://github.com/lindell/JsBarcode#readme",
122
+ "expo-intent-launcher": {
123
+ "version": "10.11.0",
124
+ "url": "https://docs.expo.dev/versions/latest/sdk/intent-launcher/",
92
125
  "license": "MIT"
93
126
  },
94
- "prop-types": {
95
- "version": "15.8.1",
96
- "url": "https://facebook.github.io/react/",
127
+ "expo-linking": {
128
+ "version": "6.2.2",
129
+ "url": "https://docs.expo.dev/versions/latest/sdk/linking",
97
130
  "license": "MIT"
98
131
  },
99
- "react-content-loader": {
100
- "version": "6.2.1",
101
- "url": "https://github.com/danilowoz/react-content-loader",
132
+ "expo-sharing": {
133
+ "version": "11.10.0",
134
+ "url": "https://docs.expo.dev/versions/latest/sdk/sharing/",
102
135
  "license": "MIT"
103
136
  },
104
- "react-dom": {
105
- "version": "18.2.0",
106
- "url": "https://reactjs.org/",
137
+ "expo-sqlite": {
138
+ "version": "13.3.0",
139
+ "url": "https://docs.expo.dev/versions/latest/sdk/sqlite/",
140
+ "license": "MIT"
141
+ },
142
+ "expo-status-bar": {
143
+ "version": "1.11.1",
144
+ "url": "https://docs.expo.dev/versions/latest/sdk/status-bar/",
145
+ "license": "MIT"
146
+ },
147
+ "expo-system-ui": {
148
+ "version": "2.9.3",
149
+ "url": "https://docs.expo.dev/versions/latest/sdk/system-ui",
150
+ "license": "MIT"
151
+ },
152
+ "expo-web-browser": {
153
+ "version": "12.8.2",
154
+ "url": "https://docs.expo.dev/versions/latest/sdk/webbrowser/",
155
+ "license": "MIT"
156
+ },
157
+ "react-native": {
158
+ "version": "0.73.5",
159
+ "url": "https://reactnative.dev/",
107
160
  "license": "MIT"
108
161
  },
109
162
  "react-native-big-list": {
@@ -111,45 +164,41 @@ module.exports = {
111
164
  "url": "https://marcocesarato.github.io/react-native-big-list-docs/",
112
165
  "license": "GPL-3.0-or-later"
113
166
  },
114
- "react-native-iphone-x-helper": {
115
- "version": "1.3.1",
116
- "url": "https://github.com/ptelad/react-native-iphone-x-helper#readme",
167
+ "react-native-blob-util": {
168
+ "version": "0.18.6",
169
+ "url": "https://github.com/RonRadtke/react-native-blob-util",
117
170
  "license": "MIT"
118
171
  },
119
- "react-native-mime-types": {
120
- "version": "2.5.0",
172
+ "react-native-gesture-handler": {
173
+ "version": "2.14.1",
174
+ "url": "https://github.com/software-mansion/react-native-gesture-handler#readme",
121
175
  "license": "MIT"
122
176
  },
123
- "react-native-paper": {
124
- "version": "5.12.3",
125
- "url": "https://callstack.github.io/react-native-paper",
177
+ "react-native-reanimated": {
178
+ "version": "3.6.2",
179
+ "url": "https://github.com/software-mansion/react-native-reanimated#readme",
126
180
  "license": "MIT"
127
181
  },
128
- "react-native-paper-dates": {
129
- "version": "0.22.3",
130
- "url": "https://github.com/web-ridge/react-native-paper-dates#readme",
182
+ "react-native-safe-area-context": {
183
+ "version": "4.8.2",
184
+ "url": "https://github.com/th3rdwave/react-native-safe-area-context#readme",
131
185
  "license": "MIT"
132
186
  },
133
- "react-native-web": {
134
- "version": "0.19.10",
135
- "url": "git://github.com/necolas/react-native-web.git",
187
+ "react-native-screens": {
188
+ "version": "3.29.0",
189
+ "url": "https://github.com/software-mansion/react-native-screens#readme",
136
190
  "license": "MIT"
137
191
  },
138
- "react-virtuoso": {
139
- "version": "4.7.2",
140
- "url": "https://virtuoso.dev/",
192
+ "react-native-svg": {
193
+ "version": "14.1.0",
194
+ "url": "https://github.com/react-native-community/react-native-svg",
141
195
  "license": "MIT"
142
196
  },
143
- "readable-stream": {
144
- "version": "4.5.2",
145
- "url": "https://github.com/nodejs/readable-stream",
197
+ "react-native-webview": {
198
+ "version": "13.6.4",
199
+ "url": "https://github.com/react-native-webview/react-native-webview#readme",
146
200
  "license": "MIT"
147
201
  },
148
- "sanitize-filename": {
149
- "version": "1.6.3",
150
- "url": "git@github.com:parshap/node-sanitize-filename.git",
151
- "license": "WTFPL OR ISC"
152
- },
153
202
  "sharp-cli": {
154
203
  "version": "2.1.1",
155
204
  "url": "https://github.com/vseventer/sharp-cli",
@@ -159,20 +208,5 @@ module.exports = {
159
208
  "version": "3.0.0",
160
209
  "url": "https://github.com/browserify/stream-browserify",
161
210
  "license": "MIT"
162
- },
163
- "tippy.js": {
164
- "version": "6.3.7",
165
- "url": "https://atomiks.github.io/tippyjs/",
166
- "license": "MIT"
167
- },
168
- "vm": {
169
- "version": "0.1.0",
170
- "url": "https://github.com/DiegoRBaquero/node-vm#readme",
171
- "license": "MIT"
172
- },
173
- "xlsx": {
174
- "version": "0.18.5",
175
- "url": "https://sheetjs.com/",
176
- "license": "Apache-2.0"
177
211
  }
178
212
  };
@@ -1,80 +0,0 @@
1
- // Copyright 2023 @fto-consult/Boris Fouomene. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
- import Label from "$ecomponents/Label";
5
- let multiplicater = require("./multiplicater");
6
- import DateLib from "$date";
7
- export default (args,from,to) =>{
8
- let {rowData}= args;
9
- rowData = defaultObj(rowData);
10
- let cost = multiplicater({rowData,columnField:'cost'},from,to);
11
- let tbFrom = "",tbTo = "",typeText = "";
12
- let label = defaultStr(rowData.label)
13
- let labelT = label;
14
- if(label.length >250){
15
- labelT = label.substring(0,245)+"...";
16
- }
17
- switch(rowData.type){
18
- case "PSA":
19
- tbFrom = "THIRD_PARTIES";
20
- tbTo = "CHECKOUTS";
21
- typeText = "Vente";
22
- break;
23
- case "PPU":
24
- tbTo = "THIRD_PARTIES";
25
- tbFrom = "CHECKOUTS";
26
- typeText = "Achat";
27
- break;
28
- case "PDE":
29
- tbTo = "THIRD_PARTIES";
30
- tbFrom = "CHECKOUTS";
31
- typeText = "Décaissement";
32
- break;
33
- case "PTR":
34
- tbFrom = "CHECKOUTS";
35
- tbTo = "CHECKOUTS";
36
- typeText = "Transfert";
37
- break;
38
- case "PIN":
39
- tbFrom = "THIRD_PARTIES";
40
- tbTo = "CHECKOUTS";
41
- typeText = "Encaissement";
42
- }
43
- if(typeText){
44
- typeText = "["+typeText+"]"
45
- }
46
- if(cost > 0){
47
- cost = cost.formatMoney();
48
- } else cost = undefined;
49
-
50
- return {
51
- title : <div className="accordion-payment">
52
- <Label
53
- dbName={rowData.dbId}
54
- table = {"PAYMENTS"}
55
- _id = {rowData.code}
56
- >
57
- {typeText.toUpperCase()+" "+rowData.code}
58
- </Label>
59
- </div>,
60
- content : <div>
61
- {tbFrom && <Label
62
- dbName={"common"}
63
- table = {tbFrom}
64
- _id = {tbFrom+"/"+rowData.from}
65
- >
66
- {rowData.from}
67
- </Label>}
68
- {tbFrom && tbTo && " => "}
69
- {tbTo && <Label
70
- dbName={"common"}
71
- table = {tbTo}
72
- _id = {tbTo+"/"+rowData.to}
73
- >
74
- {rowData.to+", "}
75
- </Label>}
76
- <span>{DateLib.format(rowData.date,DateLib.defaultDateFormat)+(rowData.mode?(" ["+rowData.mode+"]"):"")+
77
- (cost? ((", Coût : ").toUpperCase()+cost):"")}</span>
78
- </div>,
79
- }
80
- }
@@ -1,7 +0,0 @@
1
- module.exports = (args,from,to)=>{
2
- let {rowData,value,columnField,data,field} = args;
3
- columnField = defaultStr(columnField,field);
4
- rowData = defaultObj(rowData,data);
5
- value = defaultDecimal(value,rowData[columnField]);
6
- return Math.abs(value);
7
- }