MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / getL7Filter

Function getL7Filter

src/common/mapping/utils/L7LayerUtil.js:189–220  ·  view source on GitHub ↗
(filter, featureFilter)

Source from the content-addressed store, hash-verified

187}
188
189export function getL7Filter(filter, featureFilter) {
190 if (!filter) {
191 return;
192 }
193 const [condition, ...expressions] = filter;
194 const newExpressions = expressions.filter((exp) => {
195 const [, f] = exp;
196 if (['$type', '$id'].includes(f)) {
197 return false;
198 }
199 return true;
200 });
201 const field = Array.from(new Set(getFilterFields(newExpressions)));
202 const fFilter = featureFilter([condition, ...newExpressions]);
203 const filterFunc = fFilter.filter.bind(fFilter);
204 return {
205 field,
206 values: (...args) => {
207 const properties = {};
208 field.forEach((f, idx) => {
209 properties[f] = args[idx];
210 });
211 const result = filterFunc(
212 {},
213 {
214 properties
215 }
216 );
217 return result;
218 }
219 };
220}
221
222export function L7LayerUtil(config) {
223 const { featureFilter, expression, spec, L7Layer, L7, proj4 } = config;

Callers 4

L7LayerUtilSpec.jsFile · 0.90
_getL7FilterMethod · 0.90
_getL7FilterMethod · 0.90
getL7LayerCommonInfoFunction · 0.85

Calls 4

getFilterFieldsFunction · 0.85
filterMethod · 0.80
bindMethod · 0.80
forEachMethod · 0.80

Tested by

no test coverage detected