alteryx / alteryx/Optimization
Syncing dataItems with the Mobx store
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
``` js
import { extendObservable, observable, computed, autorun } from 'mobx'; //eslint-disable-line
const dataItems = [
{obsName: 'editorValue', dataName: 'FormulaFields', mode: 'read'},
{obsName: 'varList', dataName: 'fieldNames', mode: 'read'},
{obsName: 'constraints', dataName: 'constraints', mode: 'write'},
{obsName: 'objective', dataName: 'objective', mode: 'write'},
{obsName: 'fieldList', dataName: 'fieldList', mode: 'write'}
]
class AyxStore {
constructor(manager, dataItems){
dataItems.forEach(d => {
const item = manager.GetDataItemByDataName(d.dataName)
if (d.mode === 'read'){
this[d.obsName] = item.getValue()
item.BindUserDataChanged(v => { this[d.obsName] = v; })
} else {
this[d.obsName] = JSON.parse(item.getValue())
autorun(() => item.setValue(JSON.stringify(this[d.obsName].toJSON())))
}
})
}
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.