Skip to content

Commit b328794

Browse files
committed
Handle children tables follow up
1 parent 1e7c1d5 commit b328794

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

assets/src/legacy/attributeTable.js

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)