rename ZoomFilter to Zoom to reflect that it's no longer treated as a Filter
This commit is contained in:
parent
d772884d13
commit
fca6f37a7f
@ -816,7 +816,7 @@ mess.Parser = function Parser(env) {
|
|||||||
(op = $(this.entities.comparison)) &&
|
(op = $(this.entities.comparison)) &&
|
||||||
(val = $(/^\d+/)) &&
|
(val = $(/^\d+/)) &&
|
||||||
$(']')) {
|
$(']')) {
|
||||||
return new tree.ZoomFilter(op, val, memo);
|
return new tree.Zoom(op, val, memo);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ mess.Renderer = function Renderer(env) {
|
|||||||
next(null);
|
next(null);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
next('No .shp file found in zipfile.');
|
next("No .shp file found in zipfile.");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -169,12 +169,11 @@ mess.Renderer = function Renderer(env) {
|
|||||||
function loadStyles() {
|
function loadStyles() {
|
||||||
var group = this.group();
|
var group = this.group();
|
||||||
m.Stylesheet.forEach(function(s) {
|
m.Stylesheet.forEach(function(s) {
|
||||||
var g = group();
|
|
||||||
if (s.id) {
|
if (s.id) {
|
||||||
g(null, [s.id, s.data]);
|
group()(null, [s.id, s.data]);
|
||||||
} else {
|
} else {
|
||||||
fs.readFile(s, 'utf-8', function(err, data) {
|
fs.readFile(s, 'utf-8', function(err, data) {
|
||||||
g(err, [s, data]);
|
group()(err, [s, data]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -182,7 +181,7 @@ mess.Renderer = function Renderer(env) {
|
|||||||
function compileStyles(e, results) {
|
function compileStyles(e, results) {
|
||||||
var options = {},
|
var options = {},
|
||||||
group = this.group();
|
group = this.group();
|
||||||
for (var i = 0; i < results.length; i++) {
|
for (var i = 0, l = results.length; i < l; i++) {
|
||||||
new mess.Parser(_.extend(_.extend({
|
new mess.Parser(_.extend(_.extend({
|
||||||
filename: results[i][0]
|
filename: results[i][0]
|
||||||
}, that.env), this.env)).parse(results[i][1],
|
}, that.env), this.env)).parse(results[i][1],
|
||||||
@ -220,7 +219,7 @@ mess.Renderer = function Renderer(env) {
|
|||||||
for (var i = 0; i < definitions.length; i++) {
|
for (var i = 0; i < definitions.length; i++) {
|
||||||
definitions[i].symbolizers().forEach(function(sym) {
|
definitions[i].symbolizers().forEach(function(sym) {
|
||||||
var index = sym + '/' + definitions[i].selector.attachment;
|
var index = sym + '/' + definitions[i].selector.attachment;
|
||||||
if (!bySymbolizer[index]) {
|
if(!bySymbolizer[index]) {
|
||||||
bySymbolizer[index] = [];
|
bySymbolizer[index] = [];
|
||||||
}
|
}
|
||||||
bySymbolizer[index].push(
|
bySymbolizer[index].push(
|
||||||
@ -274,7 +273,7 @@ mess.Renderer = function Renderer(env) {
|
|||||||
resolveConditions: function(definitions) {
|
resolveConditions: function(definitions) {
|
||||||
var rules = [];
|
var rules = [];
|
||||||
var negatedFilters = [];
|
var negatedFilters = [];
|
||||||
var negatedZoom = tree.ZoomFilter.newFromRange([0, Infinity]);
|
var negatedZoom = tree.Zoom.newFromRange([0, Infinity]);
|
||||||
|
|
||||||
for (var i = 0; i < definitions.length; i++) {
|
for (var i = 0; i < definitions.length; i++) {
|
||||||
var selector = definitions[i].selector;
|
var selector = definitions[i].selector;
|
||||||
@ -321,7 +320,7 @@ mess.Renderer = function Renderer(env) {
|
|||||||
// Add a separate rule for each zoom range.
|
// Add a separate rule for each zoom range.
|
||||||
for (var j = 0; j < zoomRanges.length; j++) {
|
for (var j = 0; j < zoomRanges.length; j++) {
|
||||||
var rule = definitions[i].clone();
|
var rule = definitions[i].clone();
|
||||||
rule.selector.zoom = tree.ZoomFilter.newFromRange(zoomRanges[j]);
|
rule.selector.zoom = tree.Zoom.newFromRange(zoomRanges[j]);
|
||||||
rules.push(rule);
|
rules.push(rule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
(function(tree) {
|
(function(tree) {
|
||||||
|
|
||||||
tree.ZoomFilter = function ZoomFilter(op, value, index) {
|
tree.Zoom = function Zoom(op, value, index) {
|
||||||
value = parseInt(value);
|
value = parseInt(value);
|
||||||
if (value > tree.ZoomFilter.maxZoom || value < 0) {
|
if (value > tree.Zoom.maxZoom || value < 0) {
|
||||||
throw {
|
throw {
|
||||||
message: 'Only zoom levels between 0 and ' + tree.ZoomFilter.maxZoom + ' supported.',
|
message: 'Only zoom levels between 0 and ' + tree.Zoom.maxZoom + ' supported.',
|
||||||
index: index
|
index: index
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
this.range = tree.ZoomFilter.rangeFromCondition(op.value, value);
|
this.range = tree.Zoom.rangeFromCondition(op.value, value);
|
||||||
this.specificity = 1;
|
this.specificity = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
tree.ZoomFilter.newFromRange = function(range) {
|
tree.Zoom.newFromRange = function(range) {
|
||||||
var obj = Object.create(tree.ZoomFilter.prototype);
|
var obj = Object.create(tree.Zoom.prototype);
|
||||||
obj.range = [];
|
obj.range = [];
|
||||||
for (var i = 0; i < tree.ZoomFilter.maxZoom; i++) {
|
for (var i = 0; i < tree.Zoom.maxZoom; i++) {
|
||||||
obj.range[i] = i >= range[0] && i <= range[1];
|
obj.range[i] = i >= range[0] && i <= range[1];
|
||||||
}
|
}
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
tree.ZoomFilter.maxZoom = 22;
|
tree.Zoom.maxZoom = 22;
|
||||||
|
|
||||||
tree.ZoomFilter.ranges = {
|
tree.Zoom.ranges = {
|
||||||
0: 1000000000,
|
0: 1000000000,
|
||||||
1: 500000000,
|
1: 500000000,
|
||||||
2: 200000000,
|
2: 200000000,
|
||||||
@ -55,20 +55,20 @@ tree.ZoomFilter.ranges = {
|
|||||||
* which denotes whether this filter should apply
|
* which denotes whether this filter should apply
|
||||||
* to each of the zoom levels from 0-22.
|
* to each of the zoom levels from 0-22.
|
||||||
*/
|
*/
|
||||||
tree.ZoomFilter.rangeFromCondition = function(op, value) {
|
tree.Zoom.rangeFromCondition = function(op, value) {
|
||||||
var range = [];
|
var range = [];
|
||||||
if (op === '=') {
|
if (op === '=') {
|
||||||
for (var i = 0; i < tree.ZoomFilter.maxZoom; i++) {
|
for (var i = 0; i < tree.Zoom.maxZoom; i++) {
|
||||||
range[i] = (i == value);
|
range[i] = (i == value);
|
||||||
}
|
}
|
||||||
} else if (op === '>' || op === '>=') {
|
} else if (op === '>' || op === '>=') {
|
||||||
if (op === '>') value++;
|
if (op === '>') value++;
|
||||||
for (var i = 0; i < tree.ZoomFilter.maxZoom; i++) {
|
for (var i = 0; i < tree.Zoom.maxZoom; i++) {
|
||||||
range[i] = (i >= value);
|
range[i] = (i >= value);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (op === '<') value--;
|
if (op === '<') value--;
|
||||||
for (var i = 0; i < tree.ZoomFilter.maxZoom; i++) {
|
for (var i = 0; i < tree.Zoom.maxZoom; i++) {
|
||||||
range[i] = (i <= value);
|
range[i] = (i <= value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -78,7 +78,7 @@ tree.ZoomFilter.rangeFromCondition = function(op, value) {
|
|||||||
/**
|
/**
|
||||||
* Returns an array of ranges that are set.
|
* Returns an array of ranges that are set.
|
||||||
*/
|
*/
|
||||||
tree.ZoomFilter.prototype.getRanges = function() {
|
tree.Zoom.prototype.getRanges = function() {
|
||||||
var ranges = [], start = null;
|
var ranges = [], start = null;
|
||||||
for (var i = 0; i < this.range.length; i++) {
|
for (var i = 0; i < this.range.length; i++) {
|
||||||
if (start == null && this.range[i]) {
|
if (start == null && this.range[i]) {
|
||||||
@ -95,7 +95,7 @@ tree.ZoomFilter.prototype.getRanges = function() {
|
|||||||
/**
|
/**
|
||||||
* Find the overlap of this and another set
|
* Find the overlap of this and another set
|
||||||
*/
|
*/
|
||||||
tree.ZoomFilter.prototype.intersection = function(filter) {
|
tree.Zoom.prototype.intersection = function(filter) {
|
||||||
if (filter.range) {
|
if (filter.range) {
|
||||||
for (var i = 0; i < this.range.length; i++) {
|
for (var i = 0; i < this.range.length; i++) {
|
||||||
this.range[i] = this.range[i] && filter.range[i];
|
this.range[i] = this.range[i] && filter.range[i];
|
||||||
@ -113,7 +113,7 @@ tree.ZoomFilter.prototype.intersection = function(filter) {
|
|||||||
* Usage is for doing the equivalent of an ElseFilter
|
* Usage is for doing the equivalent of an ElseFilter
|
||||||
* for defaulting to non-zoom-filtered rules
|
* for defaulting to non-zoom-filtered rules
|
||||||
*/
|
*/
|
||||||
tree.ZoomFilter.prototype.negate = function() {
|
tree.Zoom.prototype.negate = function() {
|
||||||
var negated = this.clone();
|
var negated = this.clone();
|
||||||
negated.range = this.range.map(function(i) {
|
negated.range = this.range.map(function(i) {
|
||||||
return !i;
|
return !i;
|
||||||
@ -121,19 +121,19 @@ tree.ZoomFilter.prototype.negate = function() {
|
|||||||
return negated;
|
return negated;
|
||||||
};
|
};
|
||||||
|
|
||||||
tree.ZoomFilter.prototype.toXML = function(env) {
|
tree.Zoom.prototype.toXML = function(env) {
|
||||||
var ranges = this.getRanges();
|
var ranges = this.getRanges();
|
||||||
return ranges.map(function(range) {
|
return ranges.map(function(range) {
|
||||||
return ((range[0] > 0) ?
|
return ((range[0] > 0) ?
|
||||||
'<MaxScaleDenominator>' + tree.ZoomFilter.ranges[range[0]] + '</MaxScaleDenominator>'
|
'<MaxScaleDenominator>' + tree.Zoom.ranges[range[0]] + '</MaxScaleDenominator>'
|
||||||
: '') +
|
: '') +
|
||||||
((range[1] < 22) ?
|
((range[1] < 22) ?
|
||||||
'<MinScaleDenominator>' + tree.ZoomFilter.ranges[range[1] + 1] + '</MinScaleDenominator>'
|
'<MinScaleDenominator>' + tree.Zoom.ranges[range[1] + 1] + '</MinScaleDenominator>'
|
||||||
: '');
|
: '');
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
tree.ZoomFilter.prototype.clone = function() {
|
tree.Zoom.prototype.clone = function() {
|
||||||
var obj = Object.create(Object.getPrototypeOf(this));
|
var obj = Object.create(Object.getPrototypeOf(this));
|
||||||
obj.range = this.range.slice();
|
obj.range = this.range.slice();
|
||||||
obj.specificity = this.specificity;
|
obj.specificity = this.specificity;
|
Loading…
Reference in New Issue
Block a user