With dramatic flourish, I'm modifying 21 files with 1033 insertions and 815 deletions between release candidates. This moves all rule subclasses to a more natural home as filter subclasses. Also adds tests for SLD write and corrects a handful of issues there. Apologies to all who lose sleep over this sort of thing. r=ahocevar,crschmidt (closes #1492)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6818 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
+17
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Rule
|
||||
* This class represents a OGC Rule, as being used for rule-based SLD styling.
|
||||
* This class represents an SLD Rule, as being used for rule-based SLD styling.
|
||||
*/
|
||||
OpenLayers.Rule = OpenLayers.Class({
|
||||
|
||||
@@ -45,6 +45,12 @@ OpenLayers.Rule = OpenLayers.Class({
|
||||
* be used.
|
||||
*/
|
||||
context: null,
|
||||
|
||||
/**
|
||||
* Property: filter
|
||||
* {<OpenLayers.Filter>} Optional filter for the rule.
|
||||
*/
|
||||
filter: null,
|
||||
|
||||
/**
|
||||
* Property: elseFilter
|
||||
@@ -136,6 +142,16 @@ OpenLayers.Rule = OpenLayers.Class({
|
||||
applies = scale < OpenLayers.Style.createLiteral(
|
||||
this.maxScaleDenominator, context);
|
||||
}
|
||||
|
||||
// check if optional filter applies
|
||||
if(applies && this.filter) {
|
||||
// feature id filters get the feature, others get the context
|
||||
if(this.filter.CLASS_NAME == "OpenLayers.Filter.FeatureId") {
|
||||
applies = this.filter.evaluate(feature);
|
||||
} else {
|
||||
applies = this.filter.evaluate(context);
|
||||
}
|
||||
}
|
||||
|
||||
return applies;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user