ol 10.0.1-dev.1723061166717 → 10.0.1-dev.1723457010002
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ol.js +1 -1
- package/dist/ol.js.map +1 -1
- package/expr/cpu.js +20 -1
- package/expr/expression.d.ts +2 -0
- package/expr/expression.d.ts.map +1 -1
- package/expr/expression.js +4 -0
- package/interaction/DragBox.d.ts.map +1 -1
- package/interaction/DragBox.js +30 -8
- package/package.json +1 -1
- package/util.js +1 -1
package/expr/cpu.js
CHANGED
|
@@ -115,7 +115,8 @@ function compileExpression(expression, context) {
|
|
|
115
115
|
return compileAssertionExpression(expression, context);
|
|
116
116
|
}
|
|
117
117
|
case Ops.Get:
|
|
118
|
-
case Ops.Var:
|
|
118
|
+
case Ops.Var:
|
|
119
|
+
case Ops.Has: {
|
|
119
120
|
return compileAccessorExpression(expression, context);
|
|
120
121
|
}
|
|
121
122
|
case Ops.Id: {
|
|
@@ -256,6 +257,24 @@ function compileAccessorExpression(expression, context) {
|
|
|
256
257
|
case Ops.Var: {
|
|
257
258
|
return (context) => context.variables[name];
|
|
258
259
|
}
|
|
260
|
+
case Ops.Has: {
|
|
261
|
+
return (context) => {
|
|
262
|
+
const args = expression.args;
|
|
263
|
+
if (!(name in context.properties)) {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
let value = context.properties[name];
|
|
267
|
+
for (let i = 1, ii = args.length; i < ii; ++i) {
|
|
268
|
+
const keyExpression = /** @type {LiteralExpression} */ (args[i]);
|
|
269
|
+
const key = /** @type {string|number} */ (keyExpression.value);
|
|
270
|
+
if (!value || !Object.hasOwn(value, key)) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
value = value[key];
|
|
274
|
+
}
|
|
275
|
+
return true;
|
|
276
|
+
};
|
|
277
|
+
}
|
|
259
278
|
default: {
|
|
260
279
|
throw new Error(`Unsupported accessor operator ${expression.operator}`);
|
|
261
280
|
}
|
package/expr/expression.d.ts
CHANGED
|
@@ -193,6 +193,8 @@ export type ArgValidator = (arg0: Array<EncodedExpression>, arg1: number, arg2:
|
|
|
193
193
|
* * `['!', value1]` returns `false` if `value1` is `true` or greater than `0`, or `true` otherwise.
|
|
194
194
|
* * `['all', value1, value2, ...]` returns `true` if all the inputs are `true`, `false` otherwise.
|
|
195
195
|
* * `['any', value1, value2, ...]` returns `true` if any of the inputs are `true`, `false` otherwise.
|
|
196
|
+
* * `['has', attributeName, keyOrArrayIndex, ...]` returns `true` if feature properties include the (nested) key `attributeName`,
|
|
197
|
+
* `false` otherwise.
|
|
196
198
|
* * `['between', value1, value2, value3]` returns `true` if `value1` is contained between `value2` and `value3`
|
|
197
199
|
* (inclusively), or `false` otherwise.
|
|
198
200
|
* * `['in', needle, haystack]` returns `true` if `needle` is found in `haystack`, and
|
package/expr/expression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["expression.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["expression.js"],"names":[],"mappings":"AAiKA;;;;GAIG;AACH,+BAHW,MAAM,GACL,MAAM,CAgBjB;AAED;;;;GAIG;AACH,oCAJW,MAAM,YACN,MAAM,GACL,OAAO,CAIlB;AAED;;;;GAIG;AACH,sCAJW,MAAM,aACN,MAAM,GACL,OAAO,CAIlB;AAED;;;;GAIG;AACH,6BAJW,MAAM,YACN,MAAM,GACL,OAAO,CAIlB;AAmCD;;GAEG;AAEH;;;;;;GAMG;AAEH;;GAEG;AACH,qCAFY,cAAc,CASzB;AAED;;GAEG;AAEH;;;;;GAKG;AACH,+BALW,iBAAiB,gBACjB,MAAM,WACN,cAAc,GACb,UAAU,CA6FrB;AAqoBD;;;;GAIG;AACH,8CAHW,OAAO,qBAAqB,EAAE,OAAO,GAAC,OAAO,sBAAsB,EAAE,OAAO,GAC3E,OAAO,GAAC,YAAY,GAAC,SAAS,GAAC,EAAE,CA2B5C;AA74BD,yBAA0B;AAC1B,iCAA2C;AAC3C,gCAA0C;AAC1C,gCAA0C;AAC1C,+BAAyC;AACzC,qCAA+C;AAC/C,8BAAwC;AACxC,6BAAiD;AAqEjD;;GAEG;AAEH;IACE;;;OAGG;IACH,kBAHW,MAAM,SACN,YAAY,EAUtB;IAFC,aAAgB;IAChB,oBAAkB;CAErB;AAED;IACE;;;;OAIG;IACH,kBAJW,MAAM,YACN,MAAM,WACH,UAAU,EAAA,EAMvB;IAHC,aAAgB;IAChB,iBAAwB;IACxB,mBAAgB;CAEnB;AAiID;;GAEG;AACH,kBAFU;QAAO,MAAM,GAAE,MAAM;CAAC,CAiD9B;yBAhLW,iBAAiB,GAAC,cAAc;;;;;eAK/B,GAAG,CAAC,MAAM,CAAC;;;;gBACX,GAAG,CAAC,MAAM,CAAC;;;;eACX,OAAO;;;;kBACP,OAAO;;gCAgBR,YAAY,QAAM;;;;;2BAuUlB,CAAS,IAAwB,EAAxB,KAAK,CAAC,iBAAiB,CAAC,EAAE,IAAM,EAAN,MAAM,EAAE,IAAc,EAAd,cAAc,KAAE,KAAK,CAAC,UAAU,CAAC,GAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAldjF,KAAK,CAAC,GAAC,CAAC,GAAC,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO;2BAkF1D,OAAO,GAAC,MAAM,GAAC,MAAM,GAAC,KAAK,CAAC,MAAM,CAAC;;;;qBAoNnC,CAAS,IAAK,SAAE,IAAM,EAAN,MAAM,EAAE,IAAc,EAAd,cAAc,KAAE,UAAU"}
|
package/expr/expression.js
CHANGED
|
@@ -91,6 +91,8 @@ import {toSize} from '../size.js';
|
|
|
91
91
|
* * `['!', value1]` returns `false` if `value1` is `true` or greater than `0`, or `true` otherwise.
|
|
92
92
|
* * `['all', value1, value2, ...]` returns `true` if all the inputs are `true`, `false` otherwise.
|
|
93
93
|
* * `['any', value1, value2, ...]` returns `true` if any of the inputs are `true`, `false` otherwise.
|
|
94
|
+
* * `['has', attributeName, keyOrArrayIndex, ...]` returns `true` if feature properties include the (nested) key `attributeName`,
|
|
95
|
+
* `false` otherwise.
|
|
94
96
|
* * `['between', value1, value2, value3]` returns `true` if `value1` is contained between `value2` and `value3`
|
|
95
97
|
* (inclusively), or `false` otherwise.
|
|
96
98
|
* * `['in', needle, haystack]` returns `true` if `needle` is found in `haystack`, and
|
|
@@ -414,6 +416,7 @@ export const Ops = {
|
|
|
414
416
|
Band: 'band',
|
|
415
417
|
Palette: 'palette',
|
|
416
418
|
ToString: 'to-string',
|
|
419
|
+
Has: 'has',
|
|
417
420
|
};
|
|
418
421
|
|
|
419
422
|
/**
|
|
@@ -428,6 +431,7 @@ export const Ops = {
|
|
|
428
431
|
const parsers = {
|
|
429
432
|
[Ops.Get]: createCallExpressionParser(hasArgsCount(1, Infinity), withGetArgs),
|
|
430
433
|
[Ops.Var]: createCallExpressionParser(hasArgsCount(1, 1), withVarArgs),
|
|
434
|
+
[Ops.Has]: createCallExpressionParser(hasArgsCount(1, Infinity), withGetArgs),
|
|
431
435
|
[Ops.Id]: createCallExpressionParser(usesFeatureId, withNoArgs),
|
|
432
436
|
[Ops.Concat]: createCallExpressionParser(
|
|
433
437
|
hasArgsCount(2, Infinity),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragBox.d.ts","sourceRoot":"","sources":["DragBox.js"],"names":[],"mappings":"AAgEA;;;;GAIG;AACH;IACE;;;;OAIG;IACH,kBAJW,MAAM,cACN,OAAO,kBAAkB,EAAE,UAAU,mBACrC,4CAAuC,EAmBjD;IAdC;;;;;OAKG;IACH,YAHU,OAAO,kBAAkB,EAAE,UAAU,CAGnB;IAE5B;;;;OAIG;IACH,iBAHU,4CAAuC,CAGX;CAEzC;;;;;;;2BAhFY,CAAS,IAAO,EAAD,OAAC,EAAE,IAAuC,EAAvC,4CAAuC,EAAE,IAA2B,EAA3B,OAAO,aAAa,EAAE,KAAK,EAAE,IAA2B,EAA3B,OAAO,aAAa,EAAE,KAAK,KAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAc7G,OAAO,QAAE,4CAAuC,KAAE,IAAI;;;;;+BAqErE,MAAM,IACN,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,oBAAoB,EAAE,KAAK,GAC1E,eAAqB,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GAC/D,OAAW,eAAe,EAAE,WAAW,CAAC,WAAW,GAAC,SAAS,GAAC,QAAQ,GAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GACxG,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,oBAAoB,EAAE,KAAK,GACrH,eAAqB,GAAC,WAAW,GAAC,SAAS,GAAC,QAAQ,EAAE,MAAM,CAAC;kBAlG5C,oBAAoB;AA2FtC;;;;;;;;GAQG;AAEH;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"DragBox.d.ts","sourceRoot":"","sources":["DragBox.js"],"names":[],"mappings":"AAgEA;;;;GAIG;AACH;IACE;;;;OAIG;IACH,kBAJW,MAAM,cACN,OAAO,kBAAkB,EAAE,UAAU,mBACrC,4CAAuC,EAmBjD;IAdC;;;;;OAKG;IACH,YAHU,OAAO,kBAAkB,EAAE,UAAU,CAGnB;IAE5B;;;;OAIG;IACH,iBAHU,4CAAuC,CAGX;CAEzC;;;;;;;2BAhFY,CAAS,IAAO,EAAD,OAAC,EAAE,IAAuC,EAAvC,4CAAuC,EAAE,IAA2B,EAA3B,OAAO,aAAa,EAAE,KAAK,EAAE,IAA2B,EAA3B,OAAO,aAAa,EAAE,KAAK,KAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAc7G,OAAO,QAAE,4CAAuC,KAAE,IAAI;;;;;+BAqErE,MAAM,IACN,OAAO,eAAe,EAAE,WAAW,CAAC,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,GACjI,OAAW,eAAe,EAAE,WAAW,CAAC,OAAO,oBAAoB,EAAE,KAAK,GAC1E,eAAqB,EAAE,OAAO,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,GAC/D,OAAW,eAAe,EAAE,WAAW,CAAC,WAAW,GAAC,SAAS,GAAC,QAAQ,GAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GACxG,OAAW,eAAe,EAAE,mBAAmB,CAAC,OAAO,eAAe,EAAE,UAAU,GAAC,OAAO,oBAAoB,EAAE,KAAK,GACrH,eAAqB,GAAC,WAAW,GAAC,SAAS,GAAC,QAAQ,EAAE,MAAM,CAAC;kBAlG5C,oBAAoB;AA2FtC;;;;;;;;GAQG;AAEH;;;;;;;;;;;GAWG;AACH;IACE;;OAEG;IACH,2CAsDC;IAnDC;;OAEG;IACH,IAFU,kBAAkB,CAAC,OAAO,WAAW,EAAE,SAAS,CAAC,CAEpD;IAEP;;OAEG;IACH,MAFU,kBAAkB,CAAC,OAAO,WAAW,EAAE,SAAS,CAAC,CAElD;IAET;;OAEG;IACH,IAFU,kBAAkB,CAAC,IAAI,CAAC,CAE3B;IAIP;;;OAGG;IACH,aAA4D;IAE5D;;;OAGG;IACH,iBAAqC;IA+HvC;;;OAGG;IACH,gBAFW,4CAAuC,QAEhC;IA7HhB;;;OAGG;IACH,oBAAuB;IAEvB;;;OAGG;IACH,mBAAwD;IAExD;;;OAGG;IACH,yBACwD;IAG1D;;;;;;;;OAQG;IACH,wCANW,4CAAuC,cAEvC,OAAO,aAAa,EAAE,KAAK,YAC3B,OAAO,aAAa,EAAE,KAAK,GAC1B,OAAO,CAMlB;IAED;;;;OAIG;IACH,eAHY,OAAO,oBAAoB,EAAE,OAAO,CAK/C;CA8HF;+BAhU8B,cAAc"}
|
package/interaction/DragBox.js
CHANGED
|
@@ -137,7 +137,7 @@ class DragBox extends PointerInteraction {
|
|
|
137
137
|
*/
|
|
138
138
|
this.un;
|
|
139
139
|
|
|
140
|
-
options = options
|
|
140
|
+
options = options ?? {};
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
143
|
* @type {import("../render/Box.js").default}
|
|
@@ -149,7 +149,7 @@ class DragBox extends PointerInteraction {
|
|
|
149
149
|
* @type {number}
|
|
150
150
|
* @private
|
|
151
151
|
*/
|
|
152
|
-
this.minArea_ = options.minArea
|
|
152
|
+
this.minArea_ = options.minArea ?? 64;
|
|
153
153
|
|
|
154
154
|
if (options.onBoxEnd) {
|
|
155
155
|
this.onBoxEnd = options.onBoxEnd;
|
|
@@ -165,15 +165,14 @@ class DragBox extends PointerInteraction {
|
|
|
165
165
|
* @private
|
|
166
166
|
* @type {import("../events/condition.js").Condition}
|
|
167
167
|
*/
|
|
168
|
-
this.condition_ = options.condition
|
|
168
|
+
this.condition_ = options.condition ?? mouseActionButton;
|
|
169
169
|
|
|
170
170
|
/**
|
|
171
171
|
* @private
|
|
172
172
|
* @type {EndCondition}
|
|
173
173
|
*/
|
|
174
|
-
this.boxEndCondition_ =
|
|
175
|
-
|
|
176
|
-
: this.defaultBoxEndCondition;
|
|
174
|
+
this.boxEndCondition_ =
|
|
175
|
+
options.boxEndCondition ?? this.defaultBoxEndCondition;
|
|
177
176
|
}
|
|
178
177
|
|
|
179
178
|
/**
|
|
@@ -232,8 +231,6 @@ class DragBox extends PointerInteraction {
|
|
|
232
231
|
return false;
|
|
233
232
|
}
|
|
234
233
|
|
|
235
|
-
this.box_.setMap(null);
|
|
236
|
-
|
|
237
234
|
const completeBox = this.boxEndCondition_(
|
|
238
235
|
mapBrowserEvent,
|
|
239
236
|
this.startPixel_,
|
|
@@ -249,6 +246,10 @@ class DragBox extends PointerInteraction {
|
|
|
249
246
|
mapBrowserEvent,
|
|
250
247
|
),
|
|
251
248
|
);
|
|
249
|
+
|
|
250
|
+
this.box_.setMap(null);
|
|
251
|
+
this.startPixel_ = null;
|
|
252
|
+
|
|
252
253
|
return false;
|
|
253
254
|
}
|
|
254
255
|
|
|
@@ -301,6 +302,27 @@ class DragBox extends PointerInteraction {
|
|
|
301
302
|
|
|
302
303
|
super.setActive(active);
|
|
303
304
|
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* @param {import("../Map.js").default|null} map Map.
|
|
308
|
+
* @override
|
|
309
|
+
*/
|
|
310
|
+
setMap(map) {
|
|
311
|
+
const oldMap = this.getMap();
|
|
312
|
+
|
|
313
|
+
if (oldMap) {
|
|
314
|
+
this.box_.setMap(null);
|
|
315
|
+
|
|
316
|
+
if (this.startPixel_) {
|
|
317
|
+
this.dispatchEvent(
|
|
318
|
+
new DragBoxEvent(DragBoxEventType.BOXCANCEL, this.startPixel_, null),
|
|
319
|
+
);
|
|
320
|
+
this.startPixel_ = null;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
super.setMap(map);
|
|
325
|
+
}
|
|
304
326
|
}
|
|
305
327
|
|
|
306
328
|
export default DragBox;
|
package/package.json
CHANGED
package/util.js
CHANGED