auto processing workflows
- Dominant language
- TypeScript
- Stars
- 80
- Forks
- 34
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 37
Description
To support more flexible auto-processing workflows from the processing panel, we need to refactor the existing structure.
### The old structure of the auto processing filters is based on the nucleus type ('1H', '13C')
```TS
onLoadProcessing: {
autoProcessing: true,
filters: {
'1H': [ /* array of filters */ ],
'13C': [ /* array of filters */ ],
}
}
```
### The new format introduces a flat list of workflow, where:
- Each item has a condition (jpath and value)
- Workflow items are linked using `id` and `parentId` to form a hierarchical tree. The system traverses this tree sequentially, performing a value match for each specified jpath. Filters are applied only when they have matching conditions.
```TS
onLoadProcessing: {
autoProcessing: true,
workflows: [
{
id: '1',
parentId: null,
jpath: ['info','nucleus'],
value: '1H',
enabled: true,
filters: [ /* array of filters */ ]
},
{
id: '2',
parentId: '1',
jpath:['info','x'],
value: '298K',
enabled: true,
filters:[ /* array of filters */ ]
},
{
id: '3',
parentId: '2',
jpath: ['info','y'],
value: 1002,
enabled: true,
filters: [ /* array of filters */ ]
}
]
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.