8cb402eae7
* Add uri identifiers to all data source things and make them the same 1. Add uri identitifer to data-source service 2. Make <EventSource /> and <DataSource /> as close as possible 3. Add extra `.closed` method to get a list of inactive/closed/closing data-sources from elsewhere * Make the connections cleanup the least worst connection when required * Pass the uri/request id through all the things * Better user erroring * Make event sources close on error * Allow <DataLoader /> data slot to be configurable * Allow the <DataWriter /> removed state to be configurable * Don't error if meta is undefined * Stitch together all the repositories into the data-source/sink * Use data.source over repositories * Add missing <EventSource /> components * Fix up the views/templates * Disable all the old route based blocking query things * We still need the repo for the mixin for the moment * Don't default to default, default != ''
28 lines
782 B
JavaScript
28 lines
782 B
JavaScript
import Service from '@ember/service';
|
|
import atob from 'consul-ui/utils/atob';
|
|
import btoa from 'consul-ui/utils/btoa';
|
|
|
|
export default Service.extend({
|
|
uriComponent: encodeURIComponent,
|
|
atob: function() {
|
|
return atob(...arguments);
|
|
},
|
|
btoa: function() {
|
|
return btoa(...arguments);
|
|
},
|
|
uriJoin: function() {
|
|
return this.joiner(this.uriComponent, '/', '')(...arguments);
|
|
},
|
|
uriTag: function() {
|
|
return this.tag(this.uriJoin.bind(this));
|
|
},
|
|
joiner: (encoder, joiner = '', defaultValue = '') => (values, strs) =>
|
|
(strs || Array(values.length).fill(joiner)).reduce(
|
|
(prev, item, i) => `${prev}${item}${encoder(values[i] || defaultValue)}`,
|
|
''
|
|
),
|
|
tag: function(join) {
|
|
return (strs, ...values) => join(values, strs);
|
|
},
|
|
});
|