@fto-consult/expo-ui 6.70.4 → 6.71.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.
package/package.json
CHANGED
@@ -3131,8 +3131,8 @@ export default class CommonDatagridComponent extends AppComponent {
|
|
3131
3131
|
return this.doFilter(arg);
|
3132
3132
|
}
|
3133
3133
|
///si les filtres devront être convertis au format SQL
|
3134
|
-
|
3135
|
-
return !!
|
3134
|
+
canConvertFiltersToSQL(){
|
3135
|
+
return !!(this.props.convertFiltersToSQL);;
|
3136
3136
|
}
|
3137
3137
|
/*** retourne la liste des colonnes sur lesquelles on peut effectuer un filtre*/
|
3138
3138
|
getFilterableColumnsNames(){
|
@@ -3243,7 +3243,7 @@ export default class CommonDatagridComponent extends AppComponent {
|
|
3243
3243
|
return resolve(sData);
|
3244
3244
|
}
|
3245
3245
|
if(this.beforeFetchData({fetchOptions,force,context:this,renderProgressBar}) === false) return resolve(sData);
|
3246
|
-
if(this.
|
3246
|
+
if(this.canConvertFiltersToSQL()){
|
3247
3247
|
fetchOptions.selector = convertToSQL(fetchOptions.selector);
|
3248
3248
|
}
|
3249
3249
|
if(typeof this.props.beforeFetchData =='function' && this.props.beforeFetchData({...rest,renderProgressBar,context:this,force,fetchOptions,options:fetchOptions}) === false){
|
@@ -241,6 +241,7 @@ export default class TableDataScreenComponent extends FormDataScreen{
|
|
241
241
|
clone,
|
242
242
|
isArchivable,clonable,isPrintable,print,data:customData,getRowKey,
|
243
243
|
save2newAction,
|
244
|
+
save2cloneAction,
|
244
245
|
saveAction,
|
245
246
|
save2closeAction,
|
246
247
|
cloneAction,
|
@@ -317,15 +318,17 @@ export default class TableDataScreenComponent extends FormDataScreen{
|
|
317
318
|
isUpdated,
|
318
319
|
fields,
|
319
320
|
});
|
321
|
+
const cCloneAction = this.isClonable() && this.canCreateNew() && clonable !== false ? cloneAction : false;
|
320
322
|
const rActionsArg = this.currentRenderingProps = {
|
321
323
|
...rest,
|
322
324
|
...formProps,
|
323
325
|
context,
|
326
|
+
cloneAction : cCloneAction,
|
324
327
|
save2newAction : this.canCreateNew() && save2newAction !== false ? true : false,
|
328
|
+
save2cloneAction : cloneAction && save2cloneAction !== false ? true : false,
|
325
329
|
isMobile : isMobOrTab,
|
326
330
|
saveAction,
|
327
331
|
save2closeAction,
|
328
|
-
cloneAction : this.isClonable() && clonable !== false ? cloneAction : false,
|
329
332
|
tableName,
|
330
333
|
sessionName,
|
331
334
|
table,
|
@@ -719,16 +722,17 @@ export default class TableDataScreenComponent extends FormDataScreen{
|
|
719
722
|
}
|
720
723
|
if(action == 'save2new'){
|
721
724
|
this.reset();
|
722
|
-
closePreloader();
|
723
725
|
} else if(action === 'save'){
|
724
726
|
this.reset({data:savedData});
|
725
|
-
|
727
|
+
} else if(action === 'save2clone'){
|
728
|
+
this.clone(savedData);
|
729
|
+
return;
|
726
730
|
} else if(willCloseAfterSave) {
|
727
731
|
close();
|
728
732
|
} else {
|
729
733
|
notify('Données modifiée avec succès!!','success');
|
730
|
-
closePreloader();
|
731
734
|
}
|
735
|
+
closePreloader();
|
732
736
|
}).catch((e)=>{
|
733
737
|
console.log('error on saving table data ',e);
|
734
738
|
closePreloader();
|
@@ -70,7 +70,7 @@ export const renderTabsContent = ({tabs,context,data,sessionName,isMobile,props,
|
|
70
70
|
}
|
71
71
|
export const readablePerms = ["read","print"];
|
72
72
|
export const defaultArchivedPermsFilter = ({perm})=>!readablePerms.includes(perm) && !readablePerms.includes(perm.toLowerCase());
|
73
|
-
export function renderActions({context,isUpdate,newElementLabel,readablePerms:cReadablePerms,makePhoneCallProps,hasManyData,onPressCopyToClipboard,archived,archivedPermsFilter,canMakePhoneCall,onPressToMakePhoneCall,saveAction,save2newAction,save2closeAction,cloneAction,readOnly,printable,archivable,data,table,perm,tableName,saveButton,datas,rows,currentData,currentDataIndex,onPressToSave,onPressToCreateNew,onPressToPrint,onPressToPrevious,onPressToNext,onPressToArchive,...rest}){
|
73
|
+
export function renderActions({context,isUpdate,newElementLabel,readablePerms:cReadablePerms,makePhoneCallProps,hasManyData,onPressCopyToClipboard,archived,archivedPermsFilter,canMakePhoneCall,onPressToMakePhoneCall,saveAction,save2newAction,save2cloneAction,save2closeAction,cloneAction,readOnly,printable,archivable,data,table,perm,tableName,saveButton,datas,rows,currentData,currentDataIndex,onPressToSave,onPressToCreateNew,onPressToPrint,onPressToPrevious,onPressToNext,onPressToArchive,...rest}){
|
74
74
|
let textSave = defaultStr(saveButton)
|
75
75
|
table = defaultStr(tableName,table);
|
76
76
|
datas = defaultArray(datas,rows);
|
@@ -133,7 +133,17 @@ export function renderActions({context,isUpdate,newElementLabel,readablePerms:c
|
|
133
133
|
icon : 'content-save-edit',
|
134
134
|
flat : true,
|
135
135
|
onPress : createCallback({context:self,action:'save2new',callback:onPressToSave})
|
136
|
+
} : null
|
137
|
+
,save2clone = (save2cloneAction !== false && cloneAction !== false && !readOnly && save && permsObj.canCreate)?{
|
138
|
+
text : textSave+'& Dupliquer',
|
139
|
+
title : textSave+'& Dupliquer',
|
140
|
+
isAction : true,
|
141
|
+
shortcut : "save2clone",
|
142
|
+
icon : 'content-save-move',
|
143
|
+
flat : true,
|
144
|
+
onPress : createCallback({context:self,action:'save2clone',callback:onPressToSave})
|
136
145
|
} : null;
|
146
|
+
|
137
147
|
return {
|
138
148
|
print : (isUpdate && permsObj.canPrint)?{
|
139
149
|
text : 'Imprimer',
|
@@ -155,6 +165,7 @@ export function renderActions({context,isUpdate,newElementLabel,readablePerms:c
|
|
155
165
|
} : null,
|
156
166
|
save2close,
|
157
167
|
save2new,
|
168
|
+
save2clone,
|
158
169
|
save,
|
159
170
|
previous : (hasManyData && datas.length > 0 && currentDataIndex > 0)?{
|
160
171
|
icon : 'chevron-left',
|