@emuanalytics/flow-rdf-ui 4.0.13 → 4.0.15
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/components/chart/chart.component.mjs +4 -5
- package/dist/components/map/map.component.mjs +14 -7
- package/dist/components/query-builder/converters/flow-query-converters.mjs +33 -5
- package/dist/components/query-builder/converters/javascript-filter-converter.mjs +197 -0
- package/dist/components/query-builder/converters/map-layer-filter-converter.mjs +46 -11
- package/dist/components/query-builder/query-builder.component.mjs +1 -1
- package/dist/custom-elements.json +773 -674
- package/dist/index.d.mts +277 -7
- package/dist/index.d.ts +277 -7
- package/dist/index.mjs +1 -0
- package/dist/package.json.mjs +1 -1
- package/dist/utilities/regex.mjs +5 -0
- package/dist/vscode.html-custom-data.json +85 -85
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1251,61 +1251,177 @@ declare class FlowUiQueryBuilder extends FlowRdfElement {
|
|
|
1251
1251
|
render(): lit_html.TemplateResult<1>;
|
|
1252
1252
|
}
|
|
1253
1253
|
|
|
1254
|
+
/**
|
|
1255
|
+
* An abstract logical expression used to represent a user-defined query or filter.
|
|
1256
|
+
*
|
|
1257
|
+
* A rule set consists of one or more rules, where each rule is a single logical expression
|
|
1258
|
+
* of the form `<field> <operator> <value>` (for example, `name == 'John'`). A rule set combines
|
|
1259
|
+
* its rules using a condition, which can be either `and` or `or`. Rule sets can be nested to
|
|
1260
|
+
* create complex queries.
|
|
1261
|
+
*
|
|
1262
|
+
* Rule sets are typically created by the end-user using the [Query Builder](/flow-rdf-ui/web-components/flow-ui-query-builder) UI component.
|
|
1263
|
+
*/
|
|
1254
1264
|
interface FlowQueryBuilderRuleSet {
|
|
1265
|
+
/** The combining condition for rules in this rule set (`and` or `or`). */
|
|
1255
1266
|
condition: string;
|
|
1267
|
+
/** One or more rules or rule sets to combine into a logical expression.*/
|
|
1256
1268
|
rules: Array<FlowQueryBuilderRuleSet | FlowQueryBuilderRule>;
|
|
1257
1269
|
}
|
|
1270
|
+
/**
|
|
1271
|
+
* A single abstract logical expression. Combined into a {@link FlowQueryBuilderRuleSet} to represent a user-defined query or filter.
|
|
1272
|
+
*
|
|
1273
|
+
* A rule is a single logical expression of the form `<field> <operator> <value>` (for example, `name == 'John'`).
|
|
1274
|
+
*
|
|
1275
|
+
* Supported operators are:
|
|
1276
|
+
*
|
|
1277
|
+
* - `=`: `<field>` exactly equals `<value>`.
|
|
1278
|
+
* - `!=`: `<field>` does not equal `<value>`.
|
|
1279
|
+
* - `<`: `<field>` less than `<value>`.
|
|
1280
|
+
* - `<=`: `<field>` less than or equal to `<value>`.
|
|
1281
|
+
* - `>`: `<field>` greater than `<value>`.
|
|
1282
|
+
* - `>=`: `<field>` greater than or equal to `<value>`.
|
|
1283
|
+
* - `in`: `<field>` in list of values. `<value>` is an array. (select-type fields only)
|
|
1284
|
+
* - `!in`: `<field>` not in list of values. `<value>` is an array. (select-type fields only)
|
|
1285
|
+
* - `contains`: `<field>` contains substring `<value>`. (string fields only)
|
|
1286
|
+
* - `!contains`: `<field>` does not contain substring `<value>`. (string fields only)
|
|
1287
|
+
* - `like`: `<field>` matches a wildcard pattern `<value>`. (string fields only)
|
|
1288
|
+
* - `!like`: `<field>` does not matched a wildcard pattern `<value>`. (string fields only)
|
|
1289
|
+
* - `regex`: `<field>` matches a regular expression pattern `<value>`. (string fields only)
|
|
1290
|
+
* - `!regex`: `<field>` does not match a regular expression pattern `<value>`. (string fields only)
|
|
1291
|
+
*
|
|
1292
|
+
* Wildcard patterns use `*` to match any sequence of characters and `?` to match any single character.
|
|
1293
|
+
*
|
|
1294
|
+
* Regular expressions use the JavaScript regular expression syntax.
|
|
1295
|
+
*
|
|
1296
|
+
* The string-matching operators are case-sensitive by default. Specify `caseInsensitive: true` in the {@link FlowQueryBuilderStringField} field definition to use case-insensitive matching.
|
|
1297
|
+
*
|
|
1298
|
+
*/
|
|
1258
1299
|
interface FlowQueryBuilderRule<ValueType = any> {
|
|
1300
|
+
/** Field identifier. */
|
|
1259
1301
|
field?: string;
|
|
1302
|
+
/** Rule value. */
|
|
1260
1303
|
value?: ValueType;
|
|
1304
|
+
/** Rule operator. */
|
|
1261
1305
|
operator?: string;
|
|
1306
|
+
/** Set to `false` to disable a rule without removing it from its parent ruleset. */
|
|
1262
1307
|
enabled?: boolean;
|
|
1263
1308
|
}
|
|
1309
|
+
/**
|
|
1310
|
+
* An individual option for a select-type Query Builder field.
|
|
1311
|
+
*/
|
|
1264
1312
|
interface FlowQueryBuilderOption {
|
|
1313
|
+
/** Display name of the value. */
|
|
1265
1314
|
name: string;
|
|
1315
|
+
/** Option identifier. */
|
|
1266
1316
|
value: string;
|
|
1267
1317
|
}
|
|
1318
|
+
/** The set of field definitions comprising a {@link FlowQueryBuilderConfig} definition. */
|
|
1268
1319
|
interface FlowQueryBuilderFieldMap {
|
|
1269
1320
|
[key: string]: FlowQueryBuilderField;
|
|
1270
1321
|
}
|
|
1322
|
+
/**
|
|
1323
|
+
* Base interface for a Query Builder field definition. The field definition specifies how to display
|
|
1324
|
+
* a field in the Query Builder UI and how to convert the user-entered value to a concrete filter expression.
|
|
1325
|
+
*
|
|
1326
|
+
* The following field types are supported:
|
|
1327
|
+
*
|
|
1328
|
+
* - `string`: A text field, displayed as an input box. Supports string-matching operators.
|
|
1329
|
+
* - `number`: A numeric field, displayed as an numeric input box with stepper controls. Supports numeric comparison operators.
|
|
1330
|
+
* - `date`: A date field, displayed as a date picker. Supports numeric comparison operators.
|
|
1331
|
+
* - `time`: A time field, displayed as a time picker. Supports numeric comparison operators.
|
|
1332
|
+
* - `datetime`: A date-time field, displayed as a date-time picker. Supports numeric comparison operators.
|
|
1333
|
+
* - `select`: A select field, displayed as a dropdown list. Supports `in` and `!in` operators.
|
|
1334
|
+
*
|
|
1335
|
+
* In addition, all field types support equality operators (`=`, `!=`).
|
|
1336
|
+
*
|
|
1337
|
+
* @typeParam ValueType - The underlying type of the field value.
|
|
1338
|
+
*/
|
|
1271
1339
|
interface FlowQueryBuilderFieldBase<ValueType = any> {
|
|
1340
|
+
/** Display name for the field. */
|
|
1272
1341
|
name: string;
|
|
1342
|
+
/** Field type: `string`, `number`, `datetime`, `date`, `time`, `select`. */
|
|
1273
1343
|
type: string;
|
|
1344
|
+
/** @internal */
|
|
1274
1345
|
value?: ValueType;
|
|
1346
|
+
/** Set to `true` to allow the field to be `null`. */
|
|
1275
1347
|
nullable?: boolean;
|
|
1348
|
+
/** Optionally override supported operators for the field. */
|
|
1276
1349
|
operators?: string[];
|
|
1350
|
+
/** Default value for the field: static value or value-producing function. */
|
|
1277
1351
|
defaultValue?: ValueType | (() => ValueType);
|
|
1352
|
+
/** Default operator for the field. */
|
|
1278
1353
|
defaultOperator?: string;
|
|
1354
|
+
/** Optional function to convert the user-entered value before applying a rule set converter. */
|
|
1279
1355
|
convertValue?: (value: ValueType) => any;
|
|
1356
|
+
/** Optional validator function to validate the user-entered value. */
|
|
1280
1357
|
validator?: (rule: FlowQueryBuilderRule<ValueType>) => string;
|
|
1281
1358
|
}
|
|
1359
|
+
/**
|
|
1360
|
+
* Field definition for a string-type Query Builder field.
|
|
1361
|
+
*/
|
|
1282
1362
|
interface FlowQueryBuilderStringField extends FlowQueryBuilderFieldBase<string> {
|
|
1283
1363
|
type: 'string';
|
|
1364
|
+
/** Set to `true` to perform case-insensitive matching for `like` and `regex` operators. */
|
|
1365
|
+
caseInsensitive?: boolean;
|
|
1284
1366
|
}
|
|
1367
|
+
/**
|
|
1368
|
+
* Field definition for a number-type Query Builder field.
|
|
1369
|
+
*/
|
|
1285
1370
|
interface FlowQueryBuilderNumberField extends FlowQueryBuilderFieldBase<number> {
|
|
1286
1371
|
type: 'number';
|
|
1372
|
+
/** Minimum allowed value for the field. */
|
|
1287
1373
|
min?: number;
|
|
1374
|
+
/** Maximum allowed value for the field. */
|
|
1288
1375
|
max?: number;
|
|
1376
|
+
/** Step size used by the field stepper controls. */
|
|
1289
1377
|
step?: number;
|
|
1290
1378
|
}
|
|
1379
|
+
/**
|
|
1380
|
+
* Base interface for date/time-type Query Builder fields.
|
|
1381
|
+
*
|
|
1382
|
+
* Note that the underlying value type for date/time fields is an ISO 8601 string.
|
|
1383
|
+
*/
|
|
1291
1384
|
interface FlowQueryBuilderDateTimeFieldBase extends FlowQueryBuilderFieldBase<string> {
|
|
1385
|
+
/** Luxon date format for display of the field value. */
|
|
1292
1386
|
dateFormat?: string | (() => string);
|
|
1387
|
+
/** Time zone specifier for display of the field value. */
|
|
1293
1388
|
timezone?: string | (() => string);
|
|
1389
|
+
/** Locale code for display of the field value. */
|
|
1294
1390
|
locale?: string | (() => string);
|
|
1295
1391
|
}
|
|
1296
|
-
|
|
1392
|
+
/**
|
|
1393
|
+
* Field definition for a datetime-type Query Builder field.
|
|
1394
|
+
*/ interface FlowQueryBuilderDateTimeField extends FlowQueryBuilderDateTimeFieldBase {
|
|
1297
1395
|
type: 'datetime';
|
|
1298
1396
|
}
|
|
1397
|
+
/**
|
|
1398
|
+
* Field definition for a date-type Query Builder field.
|
|
1399
|
+
*/
|
|
1299
1400
|
interface FlowQueryBuilderDateField extends FlowQueryBuilderDateTimeFieldBase {
|
|
1300
1401
|
type: 'date';
|
|
1301
1402
|
}
|
|
1403
|
+
/**
|
|
1404
|
+
* Field definition for a time-type Query Builder field.
|
|
1405
|
+
*/
|
|
1302
1406
|
interface FlowQueryBuilderTimeField extends FlowQueryBuilderDateTimeFieldBase {
|
|
1303
1407
|
type: 'time';
|
|
1304
1408
|
}
|
|
1409
|
+
/**
|
|
1410
|
+
* Field definition for a select-type Query Builder field.
|
|
1411
|
+
*
|
|
1412
|
+
* The underlying value type for select fields is a string (single-select) or an array of strings (multi-select).
|
|
1413
|
+
* When the `in` or `!in` operator is selected, the field acts as a multi-select field. For other operators,
|
|
1414
|
+
* the field acts as a single-select field.
|
|
1415
|
+
*
|
|
1416
|
+
*/
|
|
1305
1417
|
interface FlowQueryBuilderSelectField extends FlowQueryBuilderFieldBase<string | string[]> {
|
|
1306
1418
|
type: 'select';
|
|
1419
|
+
/** The selectable options for the field. */
|
|
1307
1420
|
options?: FlowQueryBuilderOption[];
|
|
1308
1421
|
}
|
|
1422
|
+
/**
|
|
1423
|
+
* Map of field type names to field definitions for expansion of type parameters.
|
|
1424
|
+
*/
|
|
1309
1425
|
interface FlowQueryBuilderFieldTypeMap {
|
|
1310
1426
|
string: FlowQueryBuilderStringField;
|
|
1311
1427
|
number: FlowQueryBuilderNumberField;
|
|
@@ -1315,8 +1431,17 @@ interface FlowQueryBuilderFieldTypeMap {
|
|
|
1315
1431
|
select: FlowQueryBuilderSelectField;
|
|
1316
1432
|
}
|
|
1317
1433
|
type FlowQueryBuilderFieldType = keyof FlowQueryBuilderFieldTypeMap;
|
|
1434
|
+
/**
|
|
1435
|
+
* The set of field types supported by the Query Builder. See {@link FlowQueryBuilderFieldBase}.
|
|
1436
|
+
*/
|
|
1318
1437
|
type FlowQueryBuilderField = FlowQueryBuilderFieldTypeMap[keyof FlowQueryBuilderFieldTypeMap];
|
|
1319
1438
|
type FlowQueryBuilderTemplateFn<FieldType extends FlowQueryBuilderFieldType> = (rule: FlowQueryBuilderRule<FlowQueryBuilderFieldTypeMap[FieldType]['value']>, field: FlowQueryBuilderFieldTypeMap[FieldType], qb: FlowUiQueryBuilder, update: () => void) => TemplateResult;
|
|
1439
|
+
/**
|
|
1440
|
+
* Configuration for a [Query Builder](/flow-rdf-ui/web-components/flow-ui-query-builder) instance.
|
|
1441
|
+
*
|
|
1442
|
+
* The configuration specifies the set of fields available,
|
|
1443
|
+
* how to display those fields in the Query Builder UI, and how to convert the user-defined query to a concrete filter expression.
|
|
1444
|
+
*/
|
|
1320
1445
|
interface FlowQueryBuilderConfig {
|
|
1321
1446
|
fields: FlowQueryBuilderFieldMap;
|
|
1322
1447
|
}
|
|
@@ -1324,12 +1449,25 @@ interface FlowQueryBuilderFieldDefinition<Field extends FlowQueryBuilderFieldTyp
|
|
|
1324
1449
|
operators: string[];
|
|
1325
1450
|
template: FlowQueryBuilderTemplateFn<Field>;
|
|
1326
1451
|
}
|
|
1452
|
+
/**
|
|
1453
|
+
* Options common to all Query Builder converters. These options are used to modify how a Query Builder
|
|
1454
|
+
* ruleset is converted to one of the supported concrete filter implementations:
|
|
1455
|
+
*
|
|
1456
|
+
* - Flo.w query definition - {@link flowQueryConverter}
|
|
1457
|
+
* - JavaScript filter function - {@link javascriptFilterConverter}
|
|
1458
|
+
* - Map layer filter - {@link mapLayerFilterConverter}
|
|
1459
|
+
*/
|
|
1327
1460
|
interface FlowQueryBuilderConverterOptions {
|
|
1461
|
+
/** Subset of fields defined in the query ruleset to include in the converted result. */
|
|
1328
1462
|
includeFields?: string[];
|
|
1463
|
+
/** Subset of fields defined in the query ruleset to exclude from the converted result. */
|
|
1329
1464
|
excludeFields?: string[];
|
|
1465
|
+
/** Map of fields to rename in the converted result. */
|
|
1330
1466
|
renameFields?: Record<string, string>;
|
|
1467
|
+
/** Set to `true` to throw an exception on error. By default, the problematic Query Builder field is ignored. */
|
|
1468
|
+
throwOnError?: boolean;
|
|
1331
1469
|
}
|
|
1332
|
-
type FlowQueryBuilderConverter = (ruleSet: FlowQueryBuilderRuleSet, config: FlowQueryBuilderConfig, options?: FlowQueryBuilderConverterOptions) =>
|
|
1470
|
+
type FlowQueryBuilderConverter<R = any> = (ruleSet: FlowQueryBuilderRuleSet, config: FlowQueryBuilderConfig, options?: FlowQueryBuilderConverterOptions) => R;
|
|
1333
1471
|
|
|
1334
1472
|
/**
|
|
1335
1473
|
* Recursively applies filters to the supplied {@link FlowQueryBuilderRuleSet}
|
|
@@ -1412,9 +1550,141 @@ declare const isRuleSet: (r: unknown) => r is FlowQueryBuilderRuleSet;
|
|
|
1412
1550
|
*/
|
|
1413
1551
|
declare const isRuleOrRuleset: (r: unknown) => r is FlowQueryBuilderRule | FlowQueryBuilderRuleSet;
|
|
1414
1552
|
|
|
1415
|
-
declare const converter$
|
|
1553
|
+
declare const converter$2: FlowQueryBuilderConverter;
|
|
1416
1554
|
|
|
1417
|
-
declare
|
|
1555
|
+
declare class JavaScriptFilterError extends Error {
|
|
1556
|
+
constructor(msg: string);
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* A JavaScript function that implements the logical expression defined by a user-specified {@link FlowQueryBuilderRuleSet}. The function
|
|
1560
|
+
* accepts a data object as an argument and returns a boolean result indicating whether the data object matches the rule set.
|
|
1561
|
+
*
|
|
1562
|
+
* The filter function is typically created by using the {@link javascriptFilterConverter} converter function, prior to applying
|
|
1563
|
+
* the filter to a collection of data objects returned from a dataset query.
|
|
1564
|
+
*
|
|
1565
|
+
* The filter function has an additional `expression` property that contains the generated JavaScript expression for debugging purposes.
|
|
1566
|
+
*
|
|
1567
|
+
* @typeParam TData The type of the data object to be filtered.
|
|
1568
|
+
*/
|
|
1569
|
+
type JavaScriptFilterFn<TData = object> = ((data: TData) => boolean) & {
|
|
1570
|
+
/** The generated filter expression (for debugging purposes). */
|
|
1571
|
+
expression: string;
|
|
1572
|
+
};
|
|
1573
|
+
/**
|
|
1574
|
+
* A Query Builder converter that generates a JavaScript filter function from a user-specified {@link FlowQueryBuilderRuleSet}.
|
|
1575
|
+
*
|
|
1576
|
+
* The generated filter function accepts a data object as an argument and returns a boolean result indicating whether the data object
|
|
1577
|
+
* matches the rule set.
|
|
1578
|
+
*
|
|
1579
|
+
* This converter is typically used to apply a user-defined filter produced by the [Query Builder](/flow-rdf-ui/web-components/flow-ui-query-builder) component to a collection of data objects returned
|
|
1580
|
+
* from a Flo.w reactive query. The filter is applied client-side as an alternative to server-side filtering using the {@link flowQueryConverter} converter.
|
|
1581
|
+
*
|
|
1582
|
+
* See [Examples](#filtering-reactive-query-results) for example usage.
|
|
1583
|
+
*
|
|
1584
|
+
*
|
|
1585
|
+
* ### The generated filter function
|
|
1586
|
+
*
|
|
1587
|
+
* The abstract logical expression defined by the Query Builder ruleset is compiled into a safe and efficient JavaScript function that is designed
|
|
1588
|
+
* to be passed to the Array.filter method. To view the generated JavaScript expression for debugging purposes, inspect the `expression` property
|
|
1589
|
+
* of the returned filter function. Note that the generated expression makes use of two internal helper functions: `get(prop, data)` to retrieve a
|
|
1590
|
+
* sanitized property from the data object, and `regex(regex, value, caseInsensitive)` to compile, cache and evaluate regular expressions.
|
|
1591
|
+
*
|
|
1592
|
+
* Optionally, specify a type parameter when calling {@link javascriptFilterConverter} to strongly type the `data` parameter of the resulting filter function.
|
|
1593
|
+
*
|
|
1594
|
+
* @param ruleset Flo.w Query Builder ruleset to convert
|
|
1595
|
+
* @param config Flo.w Query Builder field configuration
|
|
1596
|
+
* @param options Converter options
|
|
1597
|
+
*
|
|
1598
|
+
* @typeParam TData The type of the data object to be filtered. Optionally specify to strongly type the returned filter function.
|
|
1599
|
+
*
|
|
1600
|
+
* @returns A function that accepts a data object and returns a boolean result indicating whether the data object matches the ruleset
|
|
1601
|
+
*
|
|
1602
|
+
* @example
|
|
1603
|
+
### Basic usage
|
|
1604
|
+
```typescript
|
|
1605
|
+
// Query Builder field configuration
|
|
1606
|
+
const config = {
|
|
1607
|
+
fields: {
|
|
1608
|
+
name: {name: 'Area Name', type: 'string', caseInsensitive: true },
|
|
1609
|
+
no2: {name: 'NO₂ (ppm)', type: 'number' };
|
|
1610
|
+
}
|
|
1611
|
+
};
|
|
1612
|
+
|
|
1613
|
+
// Query Builder ruleset
|
|
1614
|
+
const ruleset = {
|
|
1615
|
+
"condition": "and",
|
|
1616
|
+
"rules": [
|
|
1617
|
+
{
|
|
1618
|
+
"enabled": true,
|
|
1619
|
+
"operator": "like",
|
|
1620
|
+
"value": "bar*",
|
|
1621
|
+
"field": "name"
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
"enabled": true,
|
|
1625
|
+
"operator": ">",
|
|
1626
|
+
"value": 20,
|
|
1627
|
+
"field": "no2"
|
|
1628
|
+
}
|
|
1629
|
+
]
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1632
|
+
const filterFn = javascriptFilterConverter(ruleset, config);
|
|
1633
|
+
filterFn.expression; // -> 'return (regex("^bar.*$", get("name", data), true)) && (get("no2", data) > 20);'
|
|
1634
|
+
|
|
1635
|
+
const data = [...]; // Array of data objects
|
|
1636
|
+
const filteredData = data.filter(filterFn);
|
|
1637
|
+
```
|
|
1638
|
+
|
|
1639
|
+
@example
|
|
1640
|
+
### Filtering reactive query results
|
|
1641
|
+
|
|
1642
|
+
The filter is applied to the results of a Flo.w reactive query in a computed property. The computed property will be re-evaluated whenever
|
|
1643
|
+
the query results or the filter ruleset changes.
|
|
1644
|
+
|
|
1645
|
+
The computed property can be bound to a map data source to display the filtered results on a map.
|
|
1646
|
+
|
|
1647
|
+
```typescript
|
|
1648
|
+
// Reactive state store
|
|
1649
|
+
class AppState extends StateStore {
|
|
1650
|
+
...
|
|
1651
|
+
|
|
1652
|
+
// User-defined Query Builder ruleset bound to Query Builder component
|
|
1653
|
+
@observable.ref
|
|
1654
|
+
queryBuilderRuleSet: FlowQueryBuilderRuleSet = { condition: 'and', rules: [] };
|
|
1655
|
+
|
|
1656
|
+
// Reactive query
|
|
1657
|
+
airQualityQuery = query<FeatureCollection<Geometry>>(() => {
|
|
1658
|
+
|
|
1659
|
+
const queryDefinition: QueryDefinition = {
|
|
1660
|
+
datasetId: 'airquality',
|
|
1661
|
+
format: 'geojson'
|
|
1662
|
+
};
|
|
1663
|
+
|
|
1664
|
+
return queryDefinition;
|
|
1665
|
+
});
|
|
1666
|
+
|
|
1667
|
+
// Application of client-side filter to query results
|
|
1668
|
+
@computed
|
|
1669
|
+
get filteredAirQuality() {
|
|
1670
|
+
// Bail out if results not yet retrieved
|
|
1671
|
+
if (!this.airQualityQuery.results) {
|
|
1672
|
+
return null;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
// Apply javascript filter to features
|
|
1676
|
+
const filterFn = javascriptFilterConverter(this.queryBuilderRuleSet, queryBuilderConfig);
|
|
1677
|
+
const filteredFeatures = this.airQualityQuery.results.features.filter((f) => filterFn(f.properties));
|
|
1678
|
+
|
|
1679
|
+
// Note: return a new FeatureCollection rather than mutating query results in-place
|
|
1680
|
+
return featureCollection(filteredFeatures);
|
|
1681
|
+
}
|
|
1682
|
+
}
|
|
1683
|
+
```
|
|
1684
|
+
*/
|
|
1685
|
+
declare const converter$1: <TData = object>(ruleset: FlowQueryBuilderRuleSet, config: FlowQueryBuilderConfig, options?: FlowQueryBuilderConverterOptions) => JavaScriptFilterFn<TData>;
|
|
1686
|
+
|
|
1687
|
+
declare const converter: FlowQueryBuilderConverter<string | undefined>;
|
|
1418
1688
|
|
|
1419
1689
|
/**
|
|
1420
1690
|
* Call this function to register all Flo.w RDF UI custom elements.
|
|
@@ -2186,8 +2456,7 @@ declare class FlowUiChart extends FlowRdfElement {
|
|
|
2186
2456
|
plugins: Plugin[];
|
|
2187
2457
|
/** Trigger a repaint of the chart. */
|
|
2188
2458
|
repaint(): void;
|
|
2189
|
-
|
|
2190
|
-
connectedCallback(): void;
|
|
2459
|
+
connectedCallback(): Promise<void>;
|
|
2191
2460
|
disconnectedCallback(): void;
|
|
2192
2461
|
render(): lit_html.TemplateResult<1>;
|
|
2193
2462
|
}
|
|
@@ -3573,6 +3842,7 @@ declare class FlowUiMap extends FlowRdfElement {
|
|
|
3573
3842
|
private _map?;
|
|
3574
3843
|
private _initialized;
|
|
3575
3844
|
private _resolveInitialized;
|
|
3845
|
+
private _pendingCenter?;
|
|
3576
3846
|
private _mapLoading;
|
|
3577
3847
|
/**
|
|
3578
3848
|
* The map ID. If not provided, a unique ID will be generated.
|
|
@@ -5688,4 +5958,4 @@ declare global {
|
|
|
5688
5958
|
}
|
|
5689
5959
|
}
|
|
5690
5960
|
|
|
5691
|
-
export { type BaseColorMapperField, type BaseColorStopOptions, type ColorMapperField, type ColorMapperOptions, type ColorMapperValue, type ColorStopOptions, type ColorStopValue, type FlowQueryBuilderConfig, type FlowQueryBuilderConverter, type FlowQueryBuilderConverterOptions, type FlowQueryBuilderDateField, type FlowQueryBuilderDateTimeField, type FlowQueryBuilderDateTimeFieldBase, type FlowQueryBuilderField, type FlowQueryBuilderFieldBase, type FlowQueryBuilderFieldDefinition, type FlowQueryBuilderFieldMap, type FlowQueryBuilderFieldType, type FlowQueryBuilderFieldTypeMap, type FlowQueryBuilderNumberField, type FlowQueryBuilderOption, type FlowQueryBuilderRule, type FlowQueryBuilderRuleSet, type FlowQueryBuilderSelectField, type FlowQueryBuilderStringField, type FlowQueryBuilderTemplateFn, type FlowQueryBuilderTimeField, type FlowAfterCollapseEvent as FlowUiAfterCollapseEvent, type FlowAfterExpandEvent as FlowUiAfterExpandEvent, type FlowAfterHideEvent as FlowUiAfterHideEvent, type FlowAfterShowEvent as FlowUiAfterShowEvent, FlowUiAlert, FlowUiAnimation, FlowUiAvatar, FlowUiBadge, type FlowBlurEvent as FlowUiBlurEvent, FlowUiBreadcrumb, FlowUiBreadcrumbItem, FlowUiButton, FlowUiButtonGroup, FlowUiCalendar, type FlowCancelEvent as FlowUiCancelEvent, FlowUiCard, FlowUiCarousel, FlowUiCarouselItem, type FlowChangeEvent as FlowUiChangeEvent, FlowUiChart, FlowUiCheckbox, type FlowClearEvent as FlowUiClearEvent, type FlowCloseEvent as FlowUiCloseEvent, type FlowCollapseEvent as FlowUiCollapseEvent, FlowUiColorMapper, FlowUiColorPicker, FlowUiColorStop, FlowUiDateTimePicker, FlowUiDetails, FlowUiDialog, FlowUiDivider, type FlowDragEvent as FlowUiDragEvent, type FlowDragStartEvent as FlowUiDragStartEvent, FlowUiDrawer, FlowUiDropdown, type FlowErrorEvent as FlowUiErrorEvent, type FlowExpandEvent as FlowUiExpandEvent, type FlowFinishEvent as FlowUiFinishEvent, type FlowFocusEvent as FlowUiFocusEvent, FlowUiGauge, type FlowHideEvent as FlowUiHideEvent, type FlowHoverEvent as FlowUiHoverEvent, FlowUiIcon, FlowUiIconButton, type FlowInitialFocusEvent as FlowUiInitialFocusEvent, FlowUiInput, type FlowInputEvent as FlowUiInputEvent, type FlowInvalidEvent as FlowUiInvalidEvent, type FlowLazyChangeEvent as FlowUiLazyChangeEvent, type FlowLazyLoadEvent as FlowUiLazyLoadEvent, type FlowLoadEvent as FlowUiLoadEvent, FlowUiMap, type FlowMapLoadEvent as FlowUiMapLoadEvent, FlowUiMenu, FlowUiMenuItem, FlowUiMenuLabel, type FlowMutationEvent as FlowUiMutationEvent, FlowUiMutationObserver, FlowUiOption, FlowUiPanel, FlowUiPanelHeader, type FlowPanelToggleEvent as FlowUiPanelToggleEvent, FlowUiPopup, FlowUiProgressBar, FlowUiProgressRing, FlowUiQueryBuilder, FlowUiRadio, FlowUiRadioGroup, FlowUiRange, type FlowRemoveEvent as FlowUiRemoveEvent, type FlowRepositionEvent as FlowUiRepositionEvent, type FlowRequestCloseEvent as FlowUiRequestCloseEvent, type FlowResizeEvent as FlowUiResizeEvent, FlowUiResizeObserver, FlowUiScrollView, FlowUiSelect, type FlowSelectEvent as FlowUiSelectEvent, type FlowShowEvent as FlowUiShowEvent, type FlowSlideChange as FlowUiSlideChange, FlowUiSpinner, FlowUiSplitView, FlowUiSplitViewDivider, FlowUiSplitViewPane, FlowUiSplitViewToggleButton, type FlowStartEvent as FlowUiStartEvent, FlowUiStepper, FlowUiStepperPanel, FlowUiSwitch, FlowUiTab, FlowUiTabGroup, type FlowTabHideEvent as FlowUiTabHideEvent, FlowUiTabPanel, type FlowTabShowEvent as FlowUiTabShowEvent, FlowUiTag, FlowUiTextarea, FlowUiTimer, FlowUiToolButton, FlowUiToolButtonGroup, FlowUiTooltip, FlowUiTree, FlowUiTreeItem, type FlowDragEndEvent as FlowUiUiDragEndEvent, FlowUiVisuallyHidden, LocalizeController, type NumberColorMapperField, type NumberColorStopOptions, type SelectColorMapperField, type SelectColorStopOptions, type StringColorMapperField, type StringColorStopOptions, type Translation, addIcons, colorMapperValueToMaplibreExpression, escapeMaplibreString, filterRuleSet, converter$
|
|
5961
|
+
export { type BaseColorMapperField, type BaseColorStopOptions, type ColorMapperField, type ColorMapperOptions, type ColorMapperValue, type ColorStopOptions, type ColorStopValue, type FlowQueryBuilderConfig, type FlowQueryBuilderConverter, type FlowQueryBuilderConverterOptions, type FlowQueryBuilderDateField, type FlowQueryBuilderDateTimeField, type FlowQueryBuilderDateTimeFieldBase, type FlowQueryBuilderField, type FlowQueryBuilderFieldBase, type FlowQueryBuilderFieldDefinition, type FlowQueryBuilderFieldMap, type FlowQueryBuilderFieldType, type FlowQueryBuilderFieldTypeMap, type FlowQueryBuilderNumberField, type FlowQueryBuilderOption, type FlowQueryBuilderRule, type FlowQueryBuilderRuleSet, type FlowQueryBuilderSelectField, type FlowQueryBuilderStringField, type FlowQueryBuilderTemplateFn, type FlowQueryBuilderTimeField, type FlowAfterCollapseEvent as FlowUiAfterCollapseEvent, type FlowAfterExpandEvent as FlowUiAfterExpandEvent, type FlowAfterHideEvent as FlowUiAfterHideEvent, type FlowAfterShowEvent as FlowUiAfterShowEvent, FlowUiAlert, FlowUiAnimation, FlowUiAvatar, FlowUiBadge, type FlowBlurEvent as FlowUiBlurEvent, FlowUiBreadcrumb, FlowUiBreadcrumbItem, FlowUiButton, FlowUiButtonGroup, FlowUiCalendar, type FlowCancelEvent as FlowUiCancelEvent, FlowUiCard, FlowUiCarousel, FlowUiCarouselItem, type FlowChangeEvent as FlowUiChangeEvent, FlowUiChart, FlowUiCheckbox, type FlowClearEvent as FlowUiClearEvent, type FlowCloseEvent as FlowUiCloseEvent, type FlowCollapseEvent as FlowUiCollapseEvent, FlowUiColorMapper, FlowUiColorPicker, FlowUiColorStop, FlowUiDateTimePicker, FlowUiDetails, FlowUiDialog, FlowUiDivider, type FlowDragEvent as FlowUiDragEvent, type FlowDragStartEvent as FlowUiDragStartEvent, FlowUiDrawer, FlowUiDropdown, type FlowErrorEvent as FlowUiErrorEvent, type FlowExpandEvent as FlowUiExpandEvent, type FlowFinishEvent as FlowUiFinishEvent, type FlowFocusEvent as FlowUiFocusEvent, FlowUiGauge, type FlowHideEvent as FlowUiHideEvent, type FlowHoverEvent as FlowUiHoverEvent, FlowUiIcon, FlowUiIconButton, type FlowInitialFocusEvent as FlowUiInitialFocusEvent, FlowUiInput, type FlowInputEvent as FlowUiInputEvent, type FlowInvalidEvent as FlowUiInvalidEvent, type FlowLazyChangeEvent as FlowUiLazyChangeEvent, type FlowLazyLoadEvent as FlowUiLazyLoadEvent, type FlowLoadEvent as FlowUiLoadEvent, FlowUiMap, type FlowMapLoadEvent as FlowUiMapLoadEvent, FlowUiMenu, FlowUiMenuItem, FlowUiMenuLabel, type FlowMutationEvent as FlowUiMutationEvent, FlowUiMutationObserver, FlowUiOption, FlowUiPanel, FlowUiPanelHeader, type FlowPanelToggleEvent as FlowUiPanelToggleEvent, FlowUiPopup, FlowUiProgressBar, FlowUiProgressRing, FlowUiQueryBuilder, FlowUiRadio, FlowUiRadioGroup, FlowUiRange, type FlowRemoveEvent as FlowUiRemoveEvent, type FlowRepositionEvent as FlowUiRepositionEvent, type FlowRequestCloseEvent as FlowUiRequestCloseEvent, type FlowResizeEvent as FlowUiResizeEvent, FlowUiResizeObserver, FlowUiScrollView, FlowUiSelect, type FlowSelectEvent as FlowUiSelectEvent, type FlowShowEvent as FlowUiShowEvent, type FlowSlideChange as FlowUiSlideChange, FlowUiSpinner, FlowUiSplitView, FlowUiSplitViewDivider, FlowUiSplitViewPane, FlowUiSplitViewToggleButton, type FlowStartEvent as FlowUiStartEvent, FlowUiStepper, FlowUiStepperPanel, FlowUiSwitch, FlowUiTab, FlowUiTabGroup, type FlowTabHideEvent as FlowUiTabHideEvent, FlowUiTabPanel, type FlowTabShowEvent as FlowUiTabShowEvent, FlowUiTag, FlowUiTextarea, FlowUiTimer, FlowUiToolButton, FlowUiToolButtonGroup, FlowUiTooltip, FlowUiTree, FlowUiTreeItem, type FlowDragEndEvent as FlowUiUiDragEndEvent, FlowUiVisuallyHidden, JavaScriptFilterError, type JavaScriptFilterFn, LocalizeController, type NumberColorMapperField, type NumberColorStopOptions, type SelectColorMapperField, type SelectColorStopOptions, type StringColorMapperField, type StringColorStopOptions, type Translation, addIcons, colorMapperValueToMaplibreExpression, escapeMaplibreString, filterRuleSet, converter$2 as flowQueryConverter, getAnimationNames, getEasingNames, initialize, initializeChartJs, isRule, isRuleOrRuleset, isRuleSet, converter$1 as javascriptFilterConverter, converter as mapLayerFilterConverter, registerChartComponent, registerComponents, registerIconLibrary, registerTranslation, renameRuleSetFields, setDefaultLocale, setDefaultTimeZone, transformRuleSet, unregisterIconLibrary };
|