Opened 12 years ago

Closed 12 years ago

#388 closed task (fixed)

ApplyFilter new widget using WFS SLD and WFS

Reported by: adube Owned by:
Priority: major Milestone: 1.2.0
Component: widgets Version: trunk
Keywords: bis-1.2.0 Cc:

Description (last modified by adube)

Description

We need a widget that receives filters from a third party JavaScript library and apply it to the WMS Layers on the map AND display the features attributes in a grid using WFS.

Requirements and Technical Details

  • use a new generic GeoPrisma API to receive the requests.
  • there can be more than one filters. Each filter is applied to a single layer/resource.
  • the filter is applied on the original resource WMS layer using SLD
  • the filter result is also displayed in a grid (one grid per resource using tabs).
  • the grid must support paging
  • each element of the current page are highlighted on the map using vector features (stroke styling only)
  • selecting a row changes the color of the vector feature on the map
  • selecting a row could also zoom to the feature's location OR we could have a row action button for that.
  • sorting on a column should do a "server-side" sorting using WFS filter

Change History (21)

comment:1 by adube, 12 years ago

Description: modified (diff)

comment:2 by adube, 12 years ago

Description: modified (diff)
Summary: New Filter widget using WFS SLD and WFSApplyFilter new widget using WFS SLD and WFS

comment:3 by adube, 12 years ago

A new API widget is now available and ready to be updated with a "applyFilters" method that will be used by the ApplyFilter widget, see #389.

comment:4 by adube, 12 years ago

Keywords: bis-1.2.0 added

comment:5 by adube, 12 years ago

r1257, featuring :

  • new applyFilter and applyFilters methods in the API widget. Used by the ApplyFilter widget.
  • new getLayers method in the API widget. Serves as a replacement of the Map.getLayersByResource method defined in Map.js of both Map and MapPanel widgets.

Documentation about these added as well.

comment:6 by adube, 12 years ago

r1259, featuring the new ApplyFilter widget with documentation and sample.

To do

  • add SLD filtering
  • column title and size customization using resource fields
  • complete javascript comments
  • first column of grid should be a "zoomto" action column
  • use resource "ignoreAttributes" option to skip some unwanted fields such as "geometry"
  • set all vector layer visibility to off. Turn them on only when tab is active.
  • XMLWorkspaceConfig : test
  • PGSQLMapContextConfig : add support and test
  • maxFeatures/pageSize : should be configurable
  • disable column sorting

Proposals

  • zoomToPageExtent (automatically and/or using button)

Known issues

  • sometimes, the paging toolbar doesn't appear in the buttom of the panel, but rather at the bottom of the scrollable content.

comment:7 by adube, 12 years ago

r1262 includes :

  • SLD filtering added
  • WMS Service can now do WMS GetStyles requests. The according methods were added to the service and the resource.
  • samples updated to show more filtering examples

comment:8 by adube, 12 years ago

r1263 includes the "pageSize" option.

comment:9 by adube, 12 years ago

r1264, including :

  • a server fix in the Field.php file to include the options tag inside the config_secur.xml
  • resource field title and width option now used in grid columns

comment:10 by adube, 12 years ago

r1265, documentation (.rst) about the previous commit added.

comment:11 by adube, 12 years ago

r1266, vector layer visible only for currently active tab.

comment:12 by adube, 12 years ago

r1267, column menu and sorting disabled.

comment:13 by adube, 12 years ago

r1268, featuring :

  • new zoomToFeatureExtent API method (util)
  • actioncolumn added in result grid to allow zooming on feature
  • new widget "maxZoomScale" option to control the maximum scale allowed to zoom in to.

comment:14 by adube, 12 years ago

r1269, when the zoomToFeatureExtent button is clicked, the row is automatically selected, thus selecting the feature on the map as well.

comment:15 by adube, 12 years ago

r1271 :

  • new widget options : ignoredField and ignoredFields
  • the same options can also be read from the resource instead
  • documentation about this added (in .rst)
  • sample updated
  • org.GeoPrisma.ApplyFilter.Resource object now has "options" property (taken directly from the config options tag)

comment:16 by adube, 12 years ago

Tests made with XMLWorkspaceConfig -> resource fields and options are not included in config_secur by the driver, from neither the resources and workspace resources.

This will require a fix.

comment:17 by adube, 12 years ago

A ticket for the matter is now opened : #394.

comment:18 by adube, 12 years ago

r1272, sample now using XMLWorkspaceConfig that currently shows the non-support of options and fields writing. Will be used the test-case for #394.

comment:19 by adube, 12 years ago

Sample now working correctly with XMLWorkspaceConfig.

comment:20 by adube, 12 years ago

r1274 : support for PGSQLMapContextConfig added
r1275 : documentation

comment:21 by adube, 12 years ago

Resolution: fixed
Status: newclosed

r1276, javascript comments in classes now completed.

This completes all the work required for this widget and is ready to be tested. Any issue found should be reported in a new ticket.

Done.

Known issue and workaround

There can be graphic issues due to dom manipulation whild the tabs are being populated on each queries, causing the bottom toolbar to sometimes appear inside the scrollable elements instead of outside of it.

To avoid this issue, setting "animCollapse" to false in the widget container (oSouthPanel in the samples.xslt) appears to solves the issue, but may also appear when the user expand the panel himself.

If this becomes a real issue, we'll open a ticket for this.

Note: See TracTickets for help on using tickets.