Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return this.get('activeFilters.subjects').slice();
}),
// chosenOption is always the first element in the list
chosenSortByOption: Ember.computed('sortByOptions', function() {
return this.get('sortByOptions')[0];
}),
showActiveFilters: true, //should always have a provider, don't want to mix osfProviders and non-osf
showPrev: Ember.computed.gt('page', 1),
showNext: Ember.computed('page', 'size', 'numberOfResults', function() {
return this.get('page') * this.get('size') < this.get('numberOfResults');
}),
results: Ember.ArrayProxy.create({ content: [] }),
searchUrl: config.SHARE.searchUrl,
init() {
this._super(...arguments);
this.set('facetFilters', Ember.Object.create());
Ember.$.ajax({
type: 'POST',
url: this.get('searchUrl'),
data: getProvidersPayload,
contentType: 'application/json',
crossDomain: true,
}).then(results => {
const hits = results.aggregations.sources.buckets;
const whiteList = this.get('whiteListedProviders');
const providers = hits
.filter(hit => whiteList.includes(hit.key));
let results = json.hits.hits.map(hit => {
// HACK: Make share data look like apiv2 preprints data
let result = Ember.merge(hit._source, {
id: hit._id,
type: 'elastic-search-result',
workType: hit._source['@type'],
abstract: hit._source.description,
subjects: hit._source.subjects.map(each => ({text: each})),
providers: hit._source.sources.map(item => ({name: item})),
osfProvider: hit._source.sources.reduce((acc, source) => (acc || this.get('osfProviders').indexOf(source) !== -1), false),
hyperLinks: [// Links that are hyperlinks from hit._source.lists.links
{
type: 'share',
url: config.SHARE.baseUrl + 'curate/preprint/' + hit._id
}
],
infoLinks: [] // Links that are not hyperlinks hit._source.lists.links
});
hit._source.lists.links.forEach(function(linkItem) {
if (isHyperLink(linkItem.url)) {
result.hyperLinks.push(linkItem);
} else {
result.infoLinks.push(linkItem);
}
});
result.contributors = result.lists.contributors.map(contributor => ({
users: Object.keys(contributor).reduce((acc, key) => Ember.merge(acc, {[key.camelize()]: contributor[key]}), {})
}));
export function shareDetailURL(params/*, hash*/) {
const [type, id] = params;
if (type && id) {
return `${config.SHARE.baseUrl}${type.toLowerCase()}/${id}`;
}
return config.SHARE.baseUrl;
}