alteryx / alteryx/Optimization

Syncing dataItems with the Mobx store

Aperta
#11 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
idea
Lingua principale
JavaScript
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

``` 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())))
}
})
}
}
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.