Opened 19 years ago

Closed 19 years ago

#1173 closed defect (fixed)

Missing opt_flag for leg_group_html in HMTL legends

Reported by: dmorissette Owned by: dmorissette
Priority: high Milestone:
Component: MapServer C Library Version: unspecified
Severity: normal Keywords:
Cc:

Description

Jason Fournier wrote:
> The opt_flag for GROUP in HTML Legends (MapServer) is missing so that we can
> show/hide Groups based on Scale Visibility and Status.  It would map the
> layer and class opt_flag bits (although QUERY and ANNOTATION are not required as
> they don't pertain to Groups).

Change History (5)

comment:1 by dmorissette, 19 years ago

Status: newassigned
Looking into this now (or trying to anyway).

comment:2 by jlacroix, 19 years ago

Resolution: fixed
Status: assignedclosed
I have implemented this.
Here's what I did.
Added opt_flag support in the layer groups html template.
The opt_flag is applied on all layers in the group. If at least one layer match
the flag to show up, the group show up in the html legend.
The flags are:
1: If set, show layer even if out of scale (default: hide layers out of scale).
2: If set, show layer even if status is OFF (default: hide layers with STATUS OFF).
4: If set, show layer even if type is QUERY (default: hide layers of TYPE QUERY)
8: If set, show layer even if type is ANNOTATION (default: hide layers of TYPE
ANNOTATION) 

The default flag (if not set in the legend) is 15, sice it was the previous
behavior.

Marking as FIXED.
I will open a documentation bug for this.

comment:3 by jlacroix, 19 years ago

blocked: 1188

comment:4 by dmorissette, 19 years ago

Resolution: fixed
Status: closedreopened
Reopening.

Julien, I see that the code that you added contains a loop over all layers that
uses the leg_group_html's opt_flag value to compare the layer's status and
visibility. I think your code should use the leg_layer_html block's opt_flag for
the layer checks otherwise you may end up with problems if the group and the
layer's opt_flags are not the same.

comment:5 by dmorissette, 19 years ago

Resolution: fixed
Status: reopenedclosed
Closing again. Depending on the behaviors we want, the current implementation
can work too.
Note: See TracTickets for help on using tickets.