|
@@ -82,8 +82,14 @@ export default (options={}) => { |
|
|
queries: [ |
|
|
queries: [ |
|
|
// transform model state to postgest queries |
|
|
// transform model state to postgest queries |
|
|
//...ambient_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}, |
|
|
offset == 0 ? undefined : {label: 'offset', value: offset}, |
|
|
limit == Infinity ? undefined : {label: 'limit', value: limit} |
|
|
|
|
|
|
|
|
limit == Infinity ? undefined : {label: 'limit', value: limit} |
|
|
] |
|
|
] |
|
|
}).then(response => { |
|
|
}).then(response => { |
|
|
// gather begin/end/count |
|
|
// gather begin/end/count |
|
@@ -98,7 +104,12 @@ export default (options={}) => { |
|
|
|
|
|
|
|
|
// fill the data cache |
|
|
// fill the data cache |
|
|
response.forEach((data, i) => { |
|
|
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 |
|
|
_cache.data[_begin + i] = data |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
@@ -126,13 +137,6 @@ export const default1 = (args) => { |
|
|
queries: args.queries || [], |
|
|
queries: args.queries || [], |
|
|
order: args.order || [] |
|
|
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 { |
|
|
return { |
|
|
// model & model state |
|
|
// model & model state |
|
|
fully_loaded: false, |
|
|
fully_loaded: false, |
|
|