@@ -220,7 +220,7 @@ var lizAttributeTable = function() {
220220 const tableSelector = '#attribute-layer-table-' + cleanName ;
221221
222222 // Get data and fill attribute table
223- getDataAndFillAttributeTable ( layerName , layerFilter , tableSelector , false ) ;
223+ getDataAndFillAttributeTable ( layerName , layerFilter , false , tableSelector , false ) ;
224224
225225 const tabElement = document . getElementById ( 'nav-tab-attribute-layer-' + cleanName ) ;
226226 bootstrap . Tab . getOrCreateInstance ( tabElement ) . show ( ) ;
@@ -308,15 +308,27 @@ var lizAttributeTable = function() {
308308 *
309309 * @param layerName
310310 * @param filter
311+ * @param isLinefilter
311312 * @param tableSelector
312313 * @param forceEmptyTable
313314 * @param callBack
314315 */
315- function getDataAndFillAttributeTable ( layerName , filter , tableSelector , forceEmptyTable , callBack ) {
316+ function getDataAndFillAttributeTable ( layerName , filter , isLinefilter = false , tableSelector , forceEmptyTable , callBack ) {
316317
317318 let layerConfig = lizMap . config . layers [ layerName ] ;
318319 const typeName = layerConfig ?. shortname || layerConfig ?. typename || layerConfig ?. name ;
319320
321+ if ( filter ) {
322+ if ( isLinefilter ) {
323+ layerConfig [ 'line_filter' ] = filter ;
324+ } else {
325+ layerConfig [ 'request_params' ] [ 'filter' ] = filter ;
326+ }
327+ } else {
328+ layerConfig [ 'line_filter' ] = undefined ;
329+ layerConfig [ 'request_params' ] [ 'filter' ] = undefined ;
330+ }
331+
320332 const wfsParams = {
321333 TYPENAME : typeName ,
322334 GEOMETRYNAME : 'extent'
@@ -717,7 +729,7 @@ var lizAttributeTable = function() {
717729 const tableSelector = '#attribute-layer-table-' + cleanName ;
718730 $ ( '#attribute-layer-main-' + cleanName + ' > div.attribute-layer-content' ) . hide ( ) ;
719731
720- getDataAndFillAttributeTable ( lname , null , tableSelector , false , ( ) => {
732+ getDataAndFillAttributeTable ( lname , null , false , tableSelector , false , ( ) => {
721733 $ ( '#attribute-layer-main-' + cleanName + ' > div.attribute-layer-content' ) . show ( ) ;
722734 refreshDatatableSize ( '#attribute-layer-main-' + cleanName ) ;
723735 } ) ;
@@ -1247,15 +1259,7 @@ var lizAttributeTable = function() {
12471259 filter = '"' + relation . referencingField + '" = ' + "'" + fp [ relation . referencedField ] + "'" ;
12481260 }
12491261
1250- // Refresh datatable if it is already created
1251- // Create if it is not
1252- childLayerConfig . line_filter = filter ;
1253- if ( DataTable . isDataTable ( childTableSelector ) ) {
1254- const childTable = new DataTable ( childTableSelector ) ;
1255- childTable . draw ( ) ;
1256- } else {
1257- getDataAndFillAttributeTable ( childLayerName , filter , childTableSelector , false ) ;
1258- }
1262+ getDataAndFillAttributeTable ( childLayerName , filter , true , childTableSelector , false ) ;
12591263 }
12601264 }
12611265 }
@@ -1977,7 +1981,7 @@ var lizAttributeTable = function() {
19771981 * @param forceEmptyTable
19781982 */
19791983 function getEditionChildData ( childLayerName , filter , childTable , forceEmptyTable = false ) {
1980- getDataAndFillAttributeTable ( childLayerName , filter , childTable , forceEmptyTable , ( ) => {
1984+ getDataAndFillAttributeTable ( childLayerName , filter , true , childTable , forceEmptyTable , ( ) => {
19811985 // Check edition capabilities
19821986 var canCreateChildren = false ;
19831987 var canEdit = false ;
@@ -3080,7 +3084,7 @@ var lizAttributeTable = function() {
30803084 // Else refresh main table with no filter
30813085 else {
30823086 // If not pivot
3083- getDataAndFillAttributeTable ( featureType , null , zTable , false ) ;
3087+ getDataAndFillAttributeTable ( featureType , null , false , zTable , false ) ;
30843088 }
30853089 }
30863090 } ) ;
0 commit comments