1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-05 05:37:29 +02:00

Make collections able to resolve queries

This commit is contained in:
Dominik Schmidt
2015-11-20 22:11:44 +01:00
parent dc32f7eeb1
commit 4637f3ed23
19 changed files with 220 additions and 183 deletions

View File

@@ -272,43 +272,18 @@ Tomahawk.Resolver = {
return params;
},
_adapter_resolve: function (params) {
var that = this;
var collectionPromises = [];
Tomahawk.collections.forEach(function (col) {
if (col.resolve) {
collectionPromises.push(col.resolve(params));
}
});
return RSVP.Promise.all(collectionPromises).then(function (collectionResults) {
var merged = [];
return merged.concat.apply(merged, collectionResults);
}).then(function (collectionResults) {
return RSVP.Promise.resolve(that.resolve(params)).then(function (results) {
return {
'results': results.concat(collectionResults)
};
});
return RSVP.Promise.resolve(this.resolve(params)).then(function (results) {
return {
'results': results
};
});
},
_adapter_search: function (params) {
var that = this;
var collectionPromises = [];
Tomahawk.collections.forEach(function (col) {
if (col.search) {
collectionPromises.push(col.search(params));
}
});
return RSVP.Promise.all(collectionPromises).then(function (collectionResults) {
var merged = [];
return merged.concat.apply(merged, collectionResults);
}).then(function (collectionResults) {
return RSVP.Promise.resolve(that.search(params)).then(function (results) {
return {
'results': results.concat(collectionResults)
};
});
return RSVP.Promise.resolve(this.search(params)).then(function (results) {
return {
'results': results
};
});
},
@@ -1587,11 +1562,27 @@ Tomahawk.Collection = {
});
},
_adapter_resolve: function (params) {
return RSVP.Promise.resolve(this.resolve(params)).then(function (results) {
return {
'results': results
};
});
},
resolve: function (params) {
var resultIds = Tomahawk.resolveFromFuzzyIndex(params.artist, params.album, params.track);
return this._fuzzyIndexIdsToTracks(resultIds);
},
_adapter_search: function (params) {
return RSVP.Promise.resolve(this.search(params)).then(function (results) {
return {
'results': results
};
});
},
search: function (params) {
var resultIds = Tomahawk.searchFuzzyIndex(params.query);
return this._fuzzyIndexIdsToTracks(resultIds);