Procházet zdrojové kódy

make_model: support selects and value filters

master
Bing Sun před 5 roky
rodič
revize
774136ecbb
Podepsáno: sunb ID GPG klíče: F7795F8C590626AB
1 změnil soubory, kde provedl 13 přidání a 9 odebrání
  1. +13
    -9
      src/util/make_model.js

+ 13
- 9
src/util/make_model.js Zobrazit soubor

@@ -82,8 +82,14 @@ export default (options={}) => {
queries: [
// transform model state to postgest queries
//...ambient_queries,
...(_configs.selects ? [{
label: 'select',
value: _configs.selects.map(select => select.alias ? select.alias + ':' + select.label : select.label).join(',')
}] : []),

// limit/offset
offset == 0 ? undefined : {label: 'offset', value: offset},
limit == Infinity ? undefined : {label: 'limit', value: limit}
limit == Infinity ? undefined : {label: 'limit', value: limit}
]
}).then(response => {
// gather begin/end/count
@@ -98,7 +104,12 @@ export default (options={}) => {

// fill the data cache
response.forEach((data, i) => {
// _value_filters.forEach(([label, config]) => data[config.alias || label] = config.value_filter(data[config.alias || label]))
// filter values
_configs.selects
.filter(select => select.filter)
.forEach(select => data[select.alias || select.label] = select.filter(data[select.alias || select.label]))

// save the data
_cache.data[_begin + i] = data
})

@@ -126,13 +137,6 @@ export const default1 = (args) => {
queries: args.queries || [],
order: args.order || []
}
_configs.selects.forEach((config, label, selects) => {
selects.set(label, config || {})
})

// prepare the model value filters
let _value_filters = Array.from(_configs.selects).filter(([label, config]) => config.value_filter)

return {
// model & model state
fully_loaded: false,


Načítá se…
Zrušit
Uložit