@ifc-lite/lists 1.18.1 → 1.18.3
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/README.md +43 -0
- package/package.json +4 -4
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# @ifc-lite/lists
|
|
2
|
+
|
|
3
|
+
Configurable property tables and schedules from IFC data. Define a list once (entity types, columns, filter conditions, grouping) and execute it against any model through a `ListDataProvider` interface to get typed rows, group summaries, and CSV output. This is the engine behind entity tables and schedules in the ifc-lite viewer.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @ifc-lite/lists
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { executeList, listResultToCSV, LIST_PRESETS } from '@ifc-lite/lists';
|
|
15
|
+
import type { ListDataProvider } from '@ifc-lite/lists';
|
|
16
|
+
|
|
17
|
+
const provider: ListDataProvider = createMyProvider(myData);
|
|
18
|
+
|
|
19
|
+
// LIST_PRESETS includes ready-made schedules (for example a Wall Schedule)
|
|
20
|
+
const result = executeList(LIST_PRESETS[0], provider);
|
|
21
|
+
console.log(result.rows);
|
|
22
|
+
|
|
23
|
+
const csv = listResultToCSV(result);
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Features
|
|
27
|
+
|
|
28
|
+
- `ListDefinition`: entity types, columns, property conditions, grouping, or an explicit express-ID scope per model
|
|
29
|
+
- Column sources: entity attributes, property sets, quantity sets, materials, classifications, spatial containers (storey, building, site, project), and source model
|
|
30
|
+
- Filtering with typed `PropertyCondition` operators, including Bonsai-style `/regex/` name patterns (`compileNameMatcher`, `isNamePattern`)
|
|
31
|
+
- Grouping with per-group summaries (`summariseListRows`)
|
|
32
|
+
- `discoverColumns` finds available columns from the actual model data
|
|
33
|
+
- CSV export with formula-injection guarding (`listResultToCSV`)
|
|
34
|
+
- `LIST_PRESETS` with common schedules
|
|
35
|
+
|
|
36
|
+
## Links
|
|
37
|
+
|
|
38
|
+
- Docs: https://ifclite.dev/docs/
|
|
39
|
+
- Source: https://github.com/LTplus-AG/ifc-lite
|
|
40
|
+
|
|
41
|
+
## License
|
|
42
|
+
|
|
43
|
+
MPL-2.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/lists",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.3",
|
|
4
4
|
"description": "Configurable property tables and schedules from IFC data for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ifc-lite/data": "2.5.
|
|
17
|
-
"@ifc-lite/encoding": "1.14.
|
|
16
|
+
"@ifc-lite/data": "2.5.2",
|
|
17
|
+
"@ifc-lite/encoding": "1.14.10"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"typescript": "^6.0.3",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"url": "https://github.com/LTplus-AG/ifc-lite.git",
|
|
28
28
|
"directory": "packages/lists"
|
|
29
29
|
},
|
|
30
|
-
"homepage": "https://
|
|
30
|
+
"homepage": "https://ifclite.dev/docs/",
|
|
31
31
|
"bugs": "https://github.com/LTplus-AG/ifc-lite/issues",
|
|
32
32
|
"keywords": [
|
|
33
33
|
"ifc",
|