Experimenting with filtered selectors (search)
This commit is contained in:
@ -109559,38 +109559,19 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
__webpack_require__.r(__webpack_exports__);
|
__webpack_require__.r(__webpack_exports__);
|
||||||
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js");
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
|
||||||
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js");
|
||||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js");
|
||||||
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js");
|
/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js");
|
||||||
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/helpers */ "./src/js/util/helpers.js");
|
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js");
|
||||||
/* harmony import */ var _util_arrays__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/arrays */ "./src/js/util/arrays.js");
|
/* harmony import */ var _AlbumGrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AlbumGrid */ "./src/js/components/AlbumGrid.js");
|
||||||
/* harmony import */ var _URILink__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./URILink */ "./src/js/components/URILink.js");
|
/* harmony import */ var _ArtistGrid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ArtistGrid */ "./src/js/components/ArtistGrid.js");
|
||||||
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Icon */ "./src/js/components/Icon.js");
|
/* harmony import */ var _PlaylistGrid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PlaylistGrid */ "./src/js/components/PlaylistGrid.js");
|
||||||
/* harmony import */ var _AlbumGrid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./AlbumGrid */ "./src/js/components/AlbumGrid.js");
|
/* harmony import */ var _TrackList__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TrackList */ "./src/js/components/TrackList.js");
|
||||||
/* harmony import */ var _ArtistGrid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ArtistGrid */ "./src/js/components/ArtistGrid.js");
|
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js");
|
||||||
/* harmony import */ var _PlaylistGrid__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PlaylistGrid */ "./src/js/components/PlaylistGrid.js");
|
/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Button */ "./src/js/components/Button.js");
|
||||||
/* harmony import */ var _TrackList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./TrackList */ "./src/js/components/TrackList.js");
|
/* harmony import */ var _util_selectors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../util/selectors */ "./src/js/util/selectors.js");
|
||||||
/* harmony import */ var _LazyLoadListener__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./LazyLoadListener */ "./src/js/components/LazyLoadListener.js");
|
|
||||||
/* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../locale */ "./src/js/locale/index.js");
|
|
||||||
/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Button */ "./src/js/components/Button.js");
|
|
||||||
/* harmony import */ var _util_selectors__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../util/selectors */ "./src/js/util/selectors.js");
|
|
||||||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
||||||
|
|
||||||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
||||||
|
|
||||||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
||||||
|
|
||||||
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
||||||
|
|
||||||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
||||||
|
|
||||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -109612,6 +109593,7 @@ var SearchResults = function SearchResults(_ref) {
|
|||||||
uri_schemes_priority = _ref.uri_schemes_priority,
|
uri_schemes_priority = _ref.uri_schemes_priority,
|
||||||
all = _ref.all,
|
all = _ref.all,
|
||||||
rawResults = _ref.results;
|
rawResults = _ref.results;
|
||||||
|
console.log('rendering', type, query);
|
||||||
var encodedTerm = encodeURIComponent(query.term);
|
var encodedTerm = encodeURIComponent(query.term);
|
||||||
var results = rawResults;
|
var results = rawResults;
|
||||||
if (!results) return null;
|
if (!results) return null;
|
||||||
@ -109632,7 +109614,7 @@ var SearchResults = function SearchResults(_ref) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
results = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_4__["sortItems"])(results, type === 'tracks' && sort === 'followers' ? 'popularity' : sort, sort_reverse, sort_map);
|
results = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_2__["sortItems"])(results, type === 'tracks' && sort === 'followers' ? 'popularity' : sort, sort_reverse, sort_map);
|
||||||
var resultsCount = results.length;
|
var resultsCount = results.length;
|
||||||
|
|
||||||
if (all && type !== 'tracks' && results.length > 5) {
|
if (all && type !== 'tracks' && results.length > 5) {
|
||||||
@ -109640,74 +109622,74 @@ var SearchResults = function SearchResults(_ref) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (results.length <= 0) return null;
|
if (results.length <= 0) return null;
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||||
"data-qa-node": "div",
|
"data-qa-node": "div",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("h4", {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", {
|
||||||
"data-qa-node": "h4",
|
"data-qa-node": "h4",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, !all && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
|
}, !all && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||||
"data-qa-node": "span",
|
"data-qa-node": "span",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
||||||
uri: "iris:search:all:".concat(encodedTerm),
|
uri: "iris:search:all:".concat(encodedTerm),
|
||||||
"data-qa-node": "URILink",
|
"data-qa-node": "URILink",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], {
|
||||||
path: "search.title",
|
path: "search.title",
|
||||||
"data-qa-node": "I18n",
|
"data-qa-node": "I18n",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
})), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
})), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icon__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
||||||
type: "fontawesome",
|
type: "fontawesome",
|
||||||
name: "angle-right",
|
name: "angle-right",
|
||||||
"data-qa-node": "Icon",
|
"data-qa-node": "Icon",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
|
}), ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], {
|
||||||
path: "search.".concat(type, ".title"),
|
path: "search.".concat(type, ".title"),
|
||||||
"data-qa-node": "I18n",
|
"data-qa-node": "I18n",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
})), all && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
})), all && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_URILink__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
||||||
uri: "iris:search:".concat(type, ":").concat(encodedTerm),
|
uri: "iris:search:".concat(type, ":").concat(encodedTerm),
|
||||||
"data-qa-node": "URILink",
|
"data-qa-node": "URILink",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], {
|
||||||
path: "search.".concat(type, ".title"),
|
path: "search.".concat(type, ".title"),
|
||||||
"data-qa-node": "I18n",
|
"data-qa-node": "I18n",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("section", {
|
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", {
|
||||||
className: "grid-wrapper",
|
className: "grid-wrapper",
|
||||||
"data-qa-node": "section",
|
"data-qa-node": "section",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, type === 'artists' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_ArtistGrid__WEBPACK_IMPORTED_MODULE_8__["default"], {
|
}, type === 'artists' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ArtistGrid__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
||||||
artists: results,
|
artists: results,
|
||||||
show_source_icon: true,
|
show_source_icon: true,
|
||||||
mini: all,
|
mini: all,
|
||||||
"data-qa-node": "ArtistGrid",
|
"data-qa-node": "ArtistGrid",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}), type === 'albums' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AlbumGrid__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
}), type === 'albums' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AlbumGrid__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||||
albums: results,
|
albums: results,
|
||||||
show_source_icon: true,
|
show_source_icon: true,
|
||||||
mini: all,
|
mini: all,
|
||||||
"data-qa-node": "AlbumGrid",
|
"data-qa-node": "AlbumGrid",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}), type === 'playlists' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_PlaylistGrid__WEBPACK_IMPORTED_MODULE_9__["default"], {
|
}), type === 'playlists' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PlaylistGrid__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
||||||
playlists: results,
|
playlists: results,
|
||||||
show_source_icon: true,
|
show_source_icon: true,
|
||||||
mini: all,
|
mini: all,
|
||||||
"data-qa-node": "PlaylistGrid",
|
"data-qa-node": "PlaylistGrid",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}), type === 'tracks' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_TrackList__WEBPACK_IMPORTED_MODULE_10__["default"], {
|
}), type === 'tracks' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TrackList__WEBPACK_IMPORTED_MODULE_8__["default"], {
|
||||||
tracks: results,
|
tracks: results,
|
||||||
uri: "iris:search:".concat(query.type, ":").concat(encodedTerm),
|
uri: "iris:search:".concat(query.type, ":").concat(encodedTerm),
|
||||||
show_source_icon: true,
|
show_source_icon: true,
|
||||||
"data-qa-node": "TrackList",
|
"data-qa-node": "TrackList",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}), resultsCount > results.length && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Button__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
}), resultsCount > results.length && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Button__WEBPACK_IMPORTED_MODULE_10__["default"], {
|
||||||
uri: "iris:search:".concat(type, ":").concat(encodedTerm),
|
uri: "iris:search:".concat(type, ":").concat(encodedTerm),
|
||||||
debug: true,
|
debug: true,
|
||||||
"data-qa-node": "Button",
|
"data-qa-node": "Button",
|
||||||
"data-qa-file": "SearchResults"
|
"data-qa-file": "SearchResults"
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_12__["I18n"], {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_locale__WEBPACK_IMPORTED_MODULE_9__["I18n"], {
|
||||||
path: "search.".concat(type, ".more"),
|
path: "search.".concat(type, ".more"),
|
||||||
count: resultsCount,
|
count: resultsCount,
|
||||||
"data-qa-node": "I18n",
|
"data-qa-node": "I18n",
|
||||||
@ -109716,11 +109698,12 @@ var SearchResults = function SearchResults(_ref) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var mapStateToProps = function mapStateToProps(state, ownProps) {
|
var mapStateToProps = function mapStateToProps(state, ownProps) {
|
||||||
|
var searchResultsSelector = Object(_util_selectors__WEBPACK_IMPORTED_MODULE_11__["makeSearchResultsSelector"])();
|
||||||
return {
|
return {
|
||||||
uri_schemes_priority: state.ui.uri_schemes_priority || [],
|
uri_schemes_priority: state.ui.uri_schemes_priority || [],
|
||||||
results: [].concat(_toConsumableArray(Object(_util_selectors__WEBPACK_IMPORTED_MODULE_14__["getSearchResults"])(state, 'mopidy', ownProps.type, ownProps.query)), _toConsumableArray(Object(_util_selectors__WEBPACK_IMPORTED_MODULE_14__["getSearchResults"])(state, 'spotify', ownProps.type, ownProps.query))),
|
results: searchResultsSelector(state, ownProps),
|
||||||
sort: state.ui.search_results_sort || 'followers',
|
sort: state.ui.search_results_sort,
|
||||||
sort_reverse: !!state.ui.search_results_sort_reverse
|
sort_reverse: state.ui.search_results_sort_reverse
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -109728,7 +109711,7 @@ var mapDispatchToProps = function mapDispatchToProps() {
|
|||||||
return {};
|
return {};
|
||||||
};
|
};
|
||||||
|
|
||||||
/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_2__["connect"])(mapStateToProps, mapDispatchToProps)(SearchResults));
|
/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(SearchResults));
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
@ -128779,7 +128762,7 @@ var encodeMopidyUri = function encodeMopidyUri(uri) {
|
|||||||
/*!**********************************!*\
|
/*!**********************************!*\
|
||||||
!*** ./src/js/util/selectors.js ***!
|
!*** ./src/js/util/selectors.js ***!
|
||||||
\**********************************/
|
\**********************************/
|
||||||
/*! exports provided: makeItemSelector, makeLibrarySelector, makeLoadingSelector, queueHistorySelector */
|
/*! exports provided: makeItemSelector, makeLibrarySelector, makeLoadingSelector, makeSearchResultsSelector, queueHistorySelector */
|
||||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
@ -128787,10 +128770,23 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeItemSelector", function() { return makeItemSelector; });
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeItemSelector", function() { return makeItemSelector; });
|
||||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeLibrarySelector", function() { return makeLibrarySelector; });
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeLibrarySelector", function() { return makeLibrarySelector; });
|
||||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeLoadingSelector", function() { return makeLoadingSelector; });
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeLoadingSelector", function() { return makeLoadingSelector; });
|
||||||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeSearchResultsSelector", function() { return makeSearchResultsSelector; });
|
||||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queueHistorySelector", function() { return queueHistorySelector; });
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queueHistorySelector", function() { return queueHistorySelector; });
|
||||||
/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! reselect */ "./node_modules/reselect/es/index.js");
|
/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! reselect */ "./node_modules/reselect/es/index.js");
|
||||||
/* harmony import */ var _arrays__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrays */ "./src/js/util/arrays.js");
|
/* harmony import */ var _arrays__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrays */ "./src/js/util/arrays.js");
|
||||||
/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js");
|
/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ "./src/js/util/helpers.js");
|
||||||
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
||||||
|
|
||||||
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||||
|
|
||||||
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
||||||
|
|
||||||
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
||||||
|
|
||||||
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
||||||
|
|
||||||
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
||||||
|
|
||||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
||||||
|
|
||||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||||
@ -128847,6 +128843,21 @@ var makeLibrarySelector = function makeLibrarySelector(uri) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var getMopidySearchResults = function getMopidySearchResults(state, props) {
|
||||||
|
return state.mopidy.search_results && state.mopidy.search_results[props.type];
|
||||||
|
};
|
||||||
|
|
||||||
|
var getSpotifySearchResults = function getSpotifySearchResults(state, props) {
|
||||||
|
return state.spotify.search_results && state.spotify.search_results[props.type];
|
||||||
|
};
|
||||||
|
|
||||||
|
var makeSearchResultsSelector = function makeSearchResultsSelector() {
|
||||||
|
return Object(reselect__WEBPACK_IMPORTED_MODULE_0__["createSelector"])([getMopidySearchResults, getSpotifySearchResults, getItems], function (mopidySearchResults, spotifySearchResults, items) {
|
||||||
|
var uris = [].concat(_toConsumableArray(mopidySearchResults || []), _toConsumableArray(spotifySearchResults || []));
|
||||||
|
return Object(_arrays__WEBPACK_IMPORTED_MODULE_1__["indexToArray"])(items, uris);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -106,7 +106,7 @@
|
|||||||
|
|
||||||
// Release details
|
// Release details
|
||||||
// These are automatically injected to built HTML
|
// These are automatically injected to built HTML
|
||||||
var build = "1600680434";
|
var build = "1600759874";
|
||||||
var version = "3.52.4";
|
var version = "3.52.4";
|
||||||
|
|
||||||
// Construct the script tag
|
// Construct the script tag
|
||||||
|
|||||||
@ -1,18 +1,15 @@
|
|||||||
import { pick } from 'lodash';
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { titleCase, getIndexedRecords } from '../util/helpers';
|
import { sortItems } from '../util/arrays';
|
||||||
import { sortItems, indexToArray } from '../util/arrays';
|
|
||||||
import URILink from './URILink';
|
import URILink from './URILink';
|
||||||
import Icon from './Icon';
|
import Icon from './Icon';
|
||||||
import AlbumGrid from './AlbumGrid';
|
import AlbumGrid from './AlbumGrid';
|
||||||
import ArtistGrid from './ArtistGrid';
|
import ArtistGrid from './ArtistGrid';
|
||||||
import PlaylistGrid from './PlaylistGrid';
|
import PlaylistGrid from './PlaylistGrid';
|
||||||
import TrackList from './TrackList';
|
import TrackList from './TrackList';
|
||||||
import LazyLoadListener from './LazyLoadListener';
|
|
||||||
import { I18n } from '../locale';
|
import { I18n } from '../locale';
|
||||||
import Button from './Button';
|
import Button from './Button';
|
||||||
import { getSearchResults } from '../util/selectors';
|
import { makeSearchResultsSelector } from '../util/selectors';
|
||||||
|
|
||||||
const SearchResults = ({
|
const SearchResults = ({
|
||||||
type,
|
type,
|
||||||
@ -23,6 +20,7 @@ const SearchResults = ({
|
|||||||
all,
|
all,
|
||||||
results: rawResults,
|
results: rawResults,
|
||||||
}) => {
|
}) => {
|
||||||
|
console.log('rendering', type, query);
|
||||||
const encodedTerm = encodeURIComponent(query.term);
|
const encodedTerm = encodeURIComponent(query.term);
|
||||||
let results = rawResults;
|
let results = rawResults;
|
||||||
|
|
||||||
@ -93,15 +91,16 @@ const SearchResults = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const mapStateToProps = (state, ownProps) => ({
|
const mapStateToProps = (state, ownProps) => {
|
||||||
uri_schemes_priority: state.ui.uri_schemes_priority || [],
|
const searchResultsSelector = makeSearchResultsSelector();
|
||||||
results: [
|
|
||||||
...getSearchResults(state, 'mopidy', ownProps.type, ownProps.query),
|
return {
|
||||||
...getSearchResults(state, 'spotify', ownProps.type, ownProps.query),
|
uri_schemes_priority: state.ui.uri_schemes_priority || [],
|
||||||
],
|
results: searchResultsSelector(state, ownProps),
|
||||||
sort: state.ui.search_results_sort || 'followers',
|
sort: state.ui.search_results_sort,
|
||||||
sort_reverse: !!state.ui.search_results_sort_reverse,
|
sort_reverse: state.ui.search_results_sort_reverse,
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const mapDispatchToProps = () => ({});
|
const mapDispatchToProps = () => ({});
|
||||||
|
|
||||||
|
|||||||
@ -40,9 +40,27 @@ const makeLibrarySelector = (uri) => createSelector(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const getMopidySearchResults = (state, props) => (
|
||||||
|
state.mopidy.search_results && state.mopidy.search_results[props.type]
|
||||||
|
);
|
||||||
|
const getSpotifySearchResults = (state, props) => (
|
||||||
|
state.spotify.search_results && state.spotify.search_results[props.type]
|
||||||
|
);
|
||||||
|
const makeSearchResultsSelector = () => createSelector(
|
||||||
|
[getMopidySearchResults, getSpotifySearchResults, getItems],
|
||||||
|
(mopidySearchResults, spotifySearchResults, items) => {
|
||||||
|
const uris = [
|
||||||
|
...mopidySearchResults || [],
|
||||||
|
...spotifySearchResults || [],
|
||||||
|
];
|
||||||
|
return indexToArray(items, uris);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
export {
|
export {
|
||||||
makeItemSelector,
|
makeItemSelector,
|
||||||
makeLibrarySelector,
|
makeLibrarySelector,
|
||||||
makeLoadingSelector,
|
makeLoadingSelector,
|
||||||
|
makeSearchResultsSelector,
|
||||||
queueHistorySelector,
|
queueHistorySelector,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user