@2uinc/frontend-enterprise-catalog-search 11.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1125 -0
- package/ClearCurrentRefinements.js +47 -0
- package/ClearCurrentRefinements.js.map +1 -0
- package/CurrentRefinements.js +152 -0
- package/CurrentRefinements.js.map +1 -0
- package/FacetDropdown.js +40 -0
- package/FacetDropdown.js.map +1 -0
- package/FacetItem.js +50 -0
- package/FacetItem.js.map +1 -0
- package/FacetListBase.js +140 -0
- package/FacetListBase.js.map +1 -0
- package/FacetListRefinement.js +25 -0
- package/FacetListRefinement.js.map +1 -0
- package/LICENSE +661 -0
- package/LearningTypeRadioFacet.js +165 -0
- package/LearningTypeRadioFacet.js.map +1 -0
- package/MobileFilterMenu.js +122 -0
- package/MobileFilterMenu.js.map +1 -0
- package/PrequerySearchSuggestionItem.js +48 -0
- package/PrequerySearchSuggestionItem.js.map +1 -0
- package/README.md +10 -0
- package/SearchBox.js +266 -0
- package/SearchBox.js.map +1 -0
- package/SearchContext.js +115 -0
- package/SearchContext.js.map +1 -0
- package/SearchFilters.js +73 -0
- package/SearchFilters.js.map +1 -0
- package/SearchHeader.js +117 -0
- package/SearchHeader.js.map +1 -0
- package/SearchPagination.js +78 -0
- package/SearchPagination.js.map +1 -0
- package/SearchSuggestionItem.js +58 -0
- package/SearchSuggestionItem.js.map +1 -0
- package/SearchSuggestions.js +137 -0
- package/SearchSuggestions.js.map +1 -0
- package/TypeaheadFacetDropdown.js +58 -0
- package/TypeaheadFacetDropdown.js.map +1 -0
- package/config/index.js +18 -0
- package/config/index.js.map +1 -0
- package/data/actions.js +46 -0
- package/data/actions.js.map +1 -0
- package/data/constants.js +92 -0
- package/data/constants.js.map +1 -0
- package/data/hooks.js +97 -0
- package/data/hooks.js.map +1 -0
- package/data/reducer.js +70 -0
- package/data/reducer.js.map +1 -0
- package/data/tests/constants.js +13 -0
- package/data/tests/constants.js.map +1 -0
- package/data/utils.js +69 -0
- package/data/utils.js.map +1 -0
- package/index.js +9 -0
- package/index.js.map +1 -0
- package/index.scss +3 -0
- package/messages.js +166 -0
- package/messages.js.map +1 -0
- package/package.json +68 -0
- package/styles/_CurrentRefinements.scss +19 -0
- package/styles/_FacetList.scss +49 -0
- package/styles/_MobileSearchFilters.scss +59 -0
- package/styles/_SearchBox.scss +8 -0
- package/styles/_SearchField.scss +14 -0
- package/styles/_SearchPagination.scss +5 -0
- package/styles/_SearchSuggestions.scss +97 -0
- package/styles/_index.scss +7 -0
- package/tests/utils.js +22 -0
- package/tests/utils.js.map +1 -0
- package/utils.js +159 -0
- package/utils.js.map +1 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { features } from '../config';
|
|
2
|
+
export var SHOW_ALL_NAME = 'showAll';
|
|
3
|
+
export var SEARCH_FACET_FILTERS = [{
|
|
4
|
+
attribute: 'skill_names',
|
|
5
|
+
title: 'Skills',
|
|
6
|
+
typeaheadOptions: {
|
|
7
|
+
placeholder: 'Find a skill...',
|
|
8
|
+
ariaLabel: 'Type to find a skill',
|
|
9
|
+
minLength: 3
|
|
10
|
+
}
|
|
11
|
+
}, {
|
|
12
|
+
attribute: 'subjects',
|
|
13
|
+
title: 'Subject',
|
|
14
|
+
typeaheadOptions: {
|
|
15
|
+
placeholder: 'Find a subject...',
|
|
16
|
+
ariaLabel: 'Type to find a subject',
|
|
17
|
+
minLength: 3
|
|
18
|
+
}
|
|
19
|
+
}, {
|
|
20
|
+
attribute: 'partners.name',
|
|
21
|
+
title: 'Partner',
|
|
22
|
+
isSortedAlphabetical: true,
|
|
23
|
+
typeaheadOptions: {
|
|
24
|
+
placeholder: 'Find a partner...',
|
|
25
|
+
ariaLabel: 'Type to find a partner',
|
|
26
|
+
minLength: 3
|
|
27
|
+
}
|
|
28
|
+
}, {
|
|
29
|
+
attribute: features.PROGRAM_TITLES_FACET ? 'program_titles' : 'programs',
|
|
30
|
+
title: 'Program',
|
|
31
|
+
isSortedAlphabetical: true,
|
|
32
|
+
typeaheadOptions: {
|
|
33
|
+
placeholder: 'Find a program...',
|
|
34
|
+
ariaLabel: 'Type to find a program',
|
|
35
|
+
minLength: 3
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
attribute: 'level_type',
|
|
39
|
+
title: 'Level'
|
|
40
|
+
}, {
|
|
41
|
+
attribute: 'availability',
|
|
42
|
+
title: 'Availability'
|
|
43
|
+
}];
|
|
44
|
+
export var ADDITIONAL_FACET_FILTERS = ['skills.name', 'name', 'current_job'];
|
|
45
|
+
export var URL_FILTERS = ['hide_cards'];
|
|
46
|
+
if (features.LANGUAGE_FACET) {
|
|
47
|
+
SEARCH_FACET_FILTERS.push({
|
|
48
|
+
attribute: 'language',
|
|
49
|
+
title: 'Language',
|
|
50
|
+
isSortedAlphabetical: true
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (features.LEARNING_TYPE_FACET) {
|
|
54
|
+
SEARCH_FACET_FILTERS.push({
|
|
55
|
+
attribute: 'content_type',
|
|
56
|
+
title: 'Learning type',
|
|
57
|
+
// algolia wont filter if not passed through connectRefinementsList, if we add without hiding, there will be a new
|
|
58
|
+
// facet created with courses and programs dropdown items only.
|
|
59
|
+
noDisplay: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (features.SUBTITLE_FACET) {
|
|
63
|
+
SEARCH_FACET_FILTERS.push({
|
|
64
|
+
attribute: 'transcript_languages',
|
|
65
|
+
title: 'Subtitle',
|
|
66
|
+
isSortedAlphabetical: true
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
export var BOOLEAN_FILTERS = [SHOW_ALL_NAME];
|
|
70
|
+
export var QUERY_PARAM_FOR_SEARCH_QUERY = 'q';
|
|
71
|
+
export var QUERY_PARAM_FOR_PAGE = 'page';
|
|
72
|
+
export var QUERY_PARAM_FOR_FEATURE_FLAGS = 'features';
|
|
73
|
+
export var QUERY_PARAMS_TO_IGNORE = [QUERY_PARAM_FOR_SEARCH_QUERY, QUERY_PARAM_FOR_PAGE, QUERY_PARAM_FOR_FEATURE_FLAGS, SHOW_ALL_NAME];
|
|
74
|
+
export var NUM_CURRENT_REFINEMENTS_TO_DISPLAY = 3;
|
|
75
|
+
export var NUM_RESULTS_PER_PAGE = 24;
|
|
76
|
+
export var MAX_NUM_SUGGESTIONS = 3;
|
|
77
|
+
export var MAX_NUM_PRE_QUERY_SUGGESTIONS = 5;
|
|
78
|
+
export var STYLE_VARIANTS = {
|
|
79
|
+
"default": 'default',
|
|
80
|
+
inverse: 'inverse'
|
|
81
|
+
};
|
|
82
|
+
export var LEARNING_TYPE_COURSE = 'course';
|
|
83
|
+
export var LEARNING_TYPE_PROGRAM = 'program';
|
|
84
|
+
export var LEARNING_TYPE_PATHWAY = 'learnerpathway';
|
|
85
|
+
export var LEARNING_TYPE_VIDEO = 'video';
|
|
86
|
+
export var LEARNING_TYPE_EXECUTIVE_EDUCATION = 'Executive Education';
|
|
87
|
+
export var LEARNING_TYPE_SELECTED_EVENT = 'catalog_search.learning_type_selected';
|
|
88
|
+
export var COURSE_TYPE_EXECUTIVE_EDUCATION = 'executive-education-2u';
|
|
89
|
+
export var ALGOLIA_ATTRIBUTES_TO_RETRIEVE = ['*'];
|
|
90
|
+
export var SEARCH_BOX_CLASS_NAME = 'search-box-input';
|
|
91
|
+
export var DEBOUNCE_TIME_MS = 500;
|
|
92
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["features","SHOW_ALL_NAME","SEARCH_FACET_FILTERS","attribute","title","typeaheadOptions","placeholder","ariaLabel","minLength","isSortedAlphabetical","PROGRAM_TITLES_FACET","ADDITIONAL_FACET_FILTERS","URL_FILTERS","LANGUAGE_FACET","push","LEARNING_TYPE_FACET","noDisplay","SUBTITLE_FACET","BOOLEAN_FILTERS","QUERY_PARAM_FOR_SEARCH_QUERY","QUERY_PARAM_FOR_PAGE","QUERY_PARAM_FOR_FEATURE_FLAGS","QUERY_PARAMS_TO_IGNORE","NUM_CURRENT_REFINEMENTS_TO_DISPLAY","NUM_RESULTS_PER_PAGE","MAX_NUM_SUGGESTIONS","MAX_NUM_PRE_QUERY_SUGGESTIONS","STYLE_VARIANTS","inverse","LEARNING_TYPE_COURSE","LEARNING_TYPE_PROGRAM","LEARNING_TYPE_PATHWAY","LEARNING_TYPE_VIDEO","LEARNING_TYPE_EXECUTIVE_EDUCATION","LEARNING_TYPE_SELECTED_EVENT","COURSE_TYPE_EXECUTIVE_EDUCATION","ALGOLIA_ATTRIBUTES_TO_RETRIEVE","SEARCH_BOX_CLASS_NAME","DEBOUNCE_TIME_MS"],"sources":["../../src/data/constants.js"],"sourcesContent":["import { features } from '../config';\n\nexport const SHOW_ALL_NAME = 'showAll';\n\nexport const SEARCH_FACET_FILTERS = [\n {\n attribute: 'skill_names',\n title: 'Skills',\n typeaheadOptions: {\n placeholder: 'Find a skill...',\n ariaLabel: 'Type to find a skill',\n minLength: 3,\n },\n },\n {\n attribute: 'subjects',\n title: 'Subject',\n typeaheadOptions: {\n placeholder: 'Find a subject...',\n ariaLabel: 'Type to find a subject',\n minLength: 3,\n },\n },\n {\n attribute: 'partners.name',\n title: 'Partner',\n isSortedAlphabetical: true,\n typeaheadOptions: {\n placeholder: 'Find a partner...',\n ariaLabel: 'Type to find a partner',\n minLength: 3,\n },\n },\n {\n attribute: (features.PROGRAM_TITLES_FACET ? 'program_titles' : 'programs'),\n title: 'Program',\n isSortedAlphabetical: true,\n typeaheadOptions: {\n placeholder: 'Find a program...',\n ariaLabel: 'Type to find a program',\n minLength: 3,\n },\n },\n {\n attribute: 'level_type',\n title: 'Level',\n },\n {\n attribute: 'availability',\n title: 'Availability',\n },\n];\n\nexport const ADDITIONAL_FACET_FILTERS = ['skills.name', 'name', 'current_job'];\n\nexport const URL_FILTERS = ['hide_cards'];\n\nif (features.LANGUAGE_FACET) {\n SEARCH_FACET_FILTERS.push({\n attribute: 'language',\n title: 'Language',\n isSortedAlphabetical: true,\n });\n}\n\nif (features.LEARNING_TYPE_FACET) {\n SEARCH_FACET_FILTERS.push({\n attribute: 'content_type',\n title: 'Learning type',\n // algolia wont filter if not passed through connectRefinementsList, if we add without hiding, there will be a new\n // facet created with courses and programs dropdown items only.\n noDisplay: true,\n });\n}\n\nif (features.SUBTITLE_FACET) {\n SEARCH_FACET_FILTERS.push({\n attribute: 'transcript_languages',\n title: 'Subtitle',\n isSortedAlphabetical: true,\n });\n}\n\nexport const BOOLEAN_FILTERS = [SHOW_ALL_NAME];\nexport const QUERY_PARAM_FOR_SEARCH_QUERY = 'q';\nexport const QUERY_PARAM_FOR_PAGE = 'page';\nexport const QUERY_PARAM_FOR_FEATURE_FLAGS = 'features';\nexport const QUERY_PARAMS_TO_IGNORE = [\n QUERY_PARAM_FOR_SEARCH_QUERY,\n QUERY_PARAM_FOR_PAGE,\n QUERY_PARAM_FOR_FEATURE_FLAGS,\n SHOW_ALL_NAME,\n];\nexport const NUM_CURRENT_REFINEMENTS_TO_DISPLAY = 3;\nexport const NUM_RESULTS_PER_PAGE = 24;\n\nexport const MAX_NUM_SUGGESTIONS = 3;\nexport const MAX_NUM_PRE_QUERY_SUGGESTIONS = 5;\n\nexport const STYLE_VARIANTS = {\n default: 'default',\n inverse: 'inverse',\n};\n\nexport const LEARNING_TYPE_COURSE = 'course';\nexport const LEARNING_TYPE_PROGRAM = 'program';\nexport const LEARNING_TYPE_PATHWAY = 'learnerpathway';\nexport const LEARNING_TYPE_VIDEO = 'video';\nexport const LEARNING_TYPE_EXECUTIVE_EDUCATION = 'Executive Education';\nexport const LEARNING_TYPE_SELECTED_EVENT = 'catalog_search.learning_type_selected';\n\nexport const COURSE_TYPE_EXECUTIVE_EDUCATION = 'executive-education-2u';\n\nexport const ALGOLIA_ATTRIBUTES_TO_RETRIEVE = ['*'];\n\nexport const SEARCH_BOX_CLASS_NAME = 'search-box-input';\nexport const DEBOUNCE_TIME_MS = 500;\n"],"mappings":"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","ignoreList":[]}
|
package/data/hooks.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
3
|
+
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."); }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
10
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
12
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
14
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
16
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
17
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
18
|
+
import { useMemo, useState, useEffect } from 'react';
|
|
19
|
+
import { isNull } from '@edx/frontend-enterprise-utils';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Transforms items into an object with a key for each facet attribute
|
|
23
|
+
* with a list of that facet attribute's active selection(s).
|
|
24
|
+
*/
|
|
25
|
+
export var useActiveRefinementsByAttribute = function useActiveRefinementsByAttribute(items) {
|
|
26
|
+
var refinementsByAttribute = useMemo(function () {
|
|
27
|
+
var refinementsMap = {};
|
|
28
|
+
items.forEach(function (facet) {
|
|
29
|
+
var attribute = facet.attribute;
|
|
30
|
+
refinementsMap[attribute] = facet.items;
|
|
31
|
+
});
|
|
32
|
+
return refinementsMap;
|
|
33
|
+
}, [items]);
|
|
34
|
+
return refinementsByAttribute;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Transforms refinementsByAttribute into a flat array of objects,
|
|
39
|
+
* each with an attribute key so we can still associate which attribute
|
|
40
|
+
* a refinement is for.
|
|
41
|
+
*/
|
|
42
|
+
export var useActiveRefinementsAsFlatArray = function useActiveRefinementsAsFlatArray(items) {
|
|
43
|
+
var refinementsByAttribute = useActiveRefinementsByAttribute(items);
|
|
44
|
+
var refinementsAsFlatArray = useMemo(function () {
|
|
45
|
+
var refinements = [];
|
|
46
|
+
Object.entries(refinementsByAttribute).forEach(function (_ref) {
|
|
47
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
48
|
+
key = _ref2[0],
|
|
49
|
+
value = _ref2[1];
|
|
50
|
+
var updatedValue = value.map(function (item) {
|
|
51
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
52
|
+
attribute: key
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
refinements.push.apply(refinements, _toConsumableArray(updatedValue));
|
|
56
|
+
});
|
|
57
|
+
return refinements;
|
|
58
|
+
}, [JSON.stringify(refinementsByAttribute)]);
|
|
59
|
+
return refinementsAsFlatArray;
|
|
60
|
+
};
|
|
61
|
+
export var useNbHitsFromSearchResults = function useNbHitsFromSearchResults(searchResults) {
|
|
62
|
+
var nbHits = useMemo(function () {
|
|
63
|
+
if (searchResults && !isNull(searchResults.nbHits)) {
|
|
64
|
+
return searchResults && searchResults.nbHits;
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}, [searchResults]);
|
|
68
|
+
return nbHits;
|
|
69
|
+
};
|
|
70
|
+
export var getCatalogString = function getCatalogString(catalogs) {
|
|
71
|
+
function catalogFilterReducer(result, catalog, index) {
|
|
72
|
+
var isLastCatalog = index === catalogs.length - 1;
|
|
73
|
+
var query = "".concat(result, "enterprise_catalog_uuids:").concat(catalog);
|
|
74
|
+
if (!isLastCatalog) {
|
|
75
|
+
query += ' OR ';
|
|
76
|
+
}
|
|
77
|
+
return query;
|
|
78
|
+
}
|
|
79
|
+
return catalogs.reduce(catalogFilterReducer, '');
|
|
80
|
+
};
|
|
81
|
+
export var useActiveElement = function useActiveElement() {
|
|
82
|
+
var _useState = useState(document.activeElement),
|
|
83
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
84
|
+
active = _useState2[0],
|
|
85
|
+
setActive = _useState2[1];
|
|
86
|
+
var handleFocusIn = function handleFocusIn() {
|
|
87
|
+
return setActive(document.activeElement);
|
|
88
|
+
};
|
|
89
|
+
useEffect(function () {
|
|
90
|
+
document.addEventListener('focusin', handleFocusIn);
|
|
91
|
+
return function () {
|
|
92
|
+
document.removeEventListener('focusin', handleFocusIn);
|
|
93
|
+
};
|
|
94
|
+
}, []);
|
|
95
|
+
return active;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","names":["useMemo","useState","useEffect","isNull","useActiveRefinementsByAttribute","items","refinementsByAttribute","refinementsMap","forEach","facet","attribute","useActiveRefinementsAsFlatArray","refinementsAsFlatArray","refinements","Object","entries","_ref","_ref2","_slicedToArray","key","value","updatedValue","map","item","_objectSpread","push","apply","_toConsumableArray","JSON","stringify","useNbHitsFromSearchResults","searchResults","nbHits","getCatalogString","catalogs","catalogFilterReducer","result","catalog","index","isLastCatalog","length","query","concat","reduce","useActiveElement","_useState","document","activeElement","_useState2","active","setActive","handleFocusIn","addEventListener","removeEventListener"],"sources":["../../src/data/hooks.js"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useMemo, useState, useEffect } from 'react';\nimport { isNull } from '@edx/frontend-enterprise-utils';\n\n/**\n * Transforms items into an object with a key for each facet attribute\n * with a list of that facet attribute's active selection(s).\n */\nexport const useActiveRefinementsByAttribute = (items) => {\n const refinementsByAttribute = useMemo(\n () => {\n const refinementsMap = {};\n items.forEach((facet) => {\n const { attribute } = facet;\n refinementsMap[attribute] = facet.items;\n });\n return refinementsMap;\n },\n [items],\n );\n\n return refinementsByAttribute;\n};\n\n/**\n * Transforms refinementsByAttribute into a flat array of objects,\n * each with an attribute key so we can still associate which attribute\n * a refinement is for.\n */\nexport const useActiveRefinementsAsFlatArray = (items) => {\n const refinementsByAttribute = useActiveRefinementsByAttribute(items);\n\n const refinementsAsFlatArray = useMemo(\n () => {\n const refinements = [];\n Object.entries(refinementsByAttribute).forEach(([key, value]) => {\n const updatedValue = value.map((item) => ({\n ...item,\n attribute: key,\n }));\n refinements.push(...updatedValue);\n });\n return refinements;\n },\n [JSON.stringify(refinementsByAttribute)],\n );\n\n return refinementsAsFlatArray;\n};\n\nexport const useNbHitsFromSearchResults = (searchResults) => {\n const nbHits = useMemo(\n () => {\n if (searchResults && !isNull(searchResults.nbHits)) {\n return searchResults && searchResults.nbHits;\n }\n return null;\n },\n [searchResults],\n );\n\n return nbHits;\n};\n\nexport const getCatalogString = (catalogs) => {\n function catalogFilterReducer(result, catalog, index) {\n const isLastCatalog = index === catalogs.length - 1;\n let query = `${result}enterprise_catalog_uuids:${catalog}`;\n if (!isLastCatalog) {\n query += ' OR ';\n }\n return query;\n }\n\n return catalogs.reduce(catalogFilterReducer, '');\n};\n\nexport const useActiveElement = () => {\n const [active, setActive] = useState(document.activeElement);\n const handleFocusIn = () => setActive(document.activeElement);\n\n useEffect(() => {\n document.addEventListener('focusin', handleFocusIn);\n return () => {\n document.removeEventListener('focusin', handleFocusIn);\n };\n }, []);\n\n return active;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA,SAASA,OAAO,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AACpD,SAASC,MAAM,QAAQ,gCAAgC;;AAEvD;AACA;AACA;AACA;AACA,OAAO,IAAMC,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIC,KAAK,EAAK;EACxD,IAAMC,sBAAsB,GAAGN,OAAO,CACpC,YAAM;IACJ,IAAMO,cAAc,GAAG,CAAC,CAAC;IACzBF,KAAK,CAACG,OAAO,CAAC,UAACC,KAAK,EAAK;MACvB,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjBH,cAAc,CAACG,SAAS,CAAC,GAAGD,KAAK,CAACJ,KAAK;IACzC,CAAC,CAAC;IACF,OAAOE,cAAc;EACvB,CAAC,EACD,CAACF,KAAK,CACR,CAAC;EAED,OAAOC,sBAAsB;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMK,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIN,KAAK,EAAK;EACxD,IAAMC,sBAAsB,GAAGF,+BAA+B,CAACC,KAAK,CAAC;EAErE,IAAMO,sBAAsB,GAAGZ,OAAO,CACpC,YAAM;IACJ,IAAMa,WAAW,GAAG,EAAE;IACtBC,MAAM,CAACC,OAAO,CAACT,sBAAsB,CAAC,CAACE,OAAO,CAAC,UAAAQ,IAAA,EAAkB;MAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA;QAAhBG,GAAG,GAAAF,KAAA;QAAEG,KAAK,GAAAH,KAAA;MACzD,IAAMI,YAAY,GAAGD,KAAK,CAACE,GAAG,CAAC,UAACC,IAAI;QAAA,OAAAC,aAAA,CAAAA,aAAA,KAC/BD,IAAI;UACPb,SAAS,EAAES;QAAG;MAAA,CACd,CAAC;MACHN,WAAW,CAACY,IAAI,CAAAC,KAAA,CAAhBb,WAAW,EAAAc,kBAAA,CAASN,YAAY,EAAC;IACnC,CAAC,CAAC;IACF,OAAOR,WAAW;EACpB,CAAC,EACD,CAACe,IAAI,CAACC,SAAS,CAACvB,sBAAsB,CAAC,CACzC,CAAC;EAED,OAAOM,sBAAsB;AAC/B,CAAC;AAED,OAAO,IAAMkB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,aAAa,EAAK;EAC3D,IAAMC,MAAM,GAAGhC,OAAO,CACpB,YAAM;IACJ,IAAI+B,aAAa,IAAI,CAAC5B,MAAM,CAAC4B,aAAa,CAACC,MAAM,CAAC,EAAE;MAClD,OAAOD,aAAa,IAAIA,aAAa,CAACC,MAAM;IAC9C;IACA,OAAO,IAAI;EACb,CAAC,EACD,CAACD,aAAa,CAChB,CAAC;EAED,OAAOC,MAAM;AACf,CAAC;AAED,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,QAAQ,EAAK;EAC5C,SAASC,oBAAoBA,CAACC,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAE;IACpD,IAAMC,aAAa,GAAGD,KAAK,KAAKJ,QAAQ,CAACM,MAAM,GAAG,CAAC;IACnD,IAAIC,KAAK,MAAAC,MAAA,CAAMN,MAAM,+BAAAM,MAAA,CAA4BL,OAAO,CAAE;IAC1D,IAAI,CAACE,aAAa,EAAE;MAClBE,KAAK,IAAI,MAAM;IACjB;IACA,OAAOA,KAAK;EACd;EAEA,OAAOP,QAAQ,CAACS,MAAM,CAACR,oBAAoB,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,OAAO,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;EACpC,IAAAC,SAAA,GAA4B5C,QAAQ,CAAC6C,QAAQ,CAACC,aAAa,CAAC;IAAAC,UAAA,GAAA9B,cAAA,CAAA2B,SAAA;IAArDI,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAA;IAAA,OAASD,SAAS,CAACJ,QAAQ,CAACC,aAAa,CAAC;EAAA;EAE7D7C,SAAS,CAAC,YAAM;IACd4C,QAAQ,CAACM,gBAAgB,CAAC,SAAS,EAAED,aAAa,CAAC;IACnD,OAAO,YAAM;MACXL,QAAQ,CAACO,mBAAmB,CAAC,SAAS,EAAEF,aAAa,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,MAAM;AACf,CAAC","ignoreList":[]}
|
package/data/reducer.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
3
|
+
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."); }
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
6
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
7
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
+
/* eslint-disable import/prefer-default-export */
|
|
14
|
+
import { DELETE_REFINEMENT, SET_REFINEMENT, CLEAR_REFINEMENTS, SET_REFINEMENTS_FROM_QUERY_PARAMS, ADD_TO_REFINEMENT_ARRAY, REMOVE_FROM_REFINEMENT_ARRAY } from './actions';
|
|
15
|
+
import { QUERY_PARAMS_TO_IGNORE } from './constants';
|
|
16
|
+
export var refinementsReducer = function refinementsReducer() {
|
|
17
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18
|
+
var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
19
|
+
var nextState = _objectSpread({}, state);
|
|
20
|
+
switch (action.type) {
|
|
21
|
+
case DELETE_REFINEMENT:
|
|
22
|
+
delete nextState.page;
|
|
23
|
+
delete nextState[action.key];
|
|
24
|
+
return nextState;
|
|
25
|
+
case SET_REFINEMENT:
|
|
26
|
+
delete nextState.page;
|
|
27
|
+
nextState[action.key] = action.value;
|
|
28
|
+
return nextState;
|
|
29
|
+
case SET_REFINEMENTS_FROM_QUERY_PARAMS:
|
|
30
|
+
// we don't delete the page when setting multiple refinements.
|
|
31
|
+
// This action should only be used by SearchData,
|
|
32
|
+
// and it has to handle the page coming in as a query param.
|
|
33
|
+
// Deleting it can cause an infinite loop.
|
|
34
|
+
Object.keys(state).forEach(function (key) {
|
|
35
|
+
// remove refinements that are not from query params
|
|
36
|
+
if (!QUERY_PARAMS_TO_IGNORE.includes(key)) {
|
|
37
|
+
delete nextState[key];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return _objectSpread(_objectSpread({}, nextState), action.payload);
|
|
41
|
+
case ADD_TO_REFINEMENT_ARRAY:
|
|
42
|
+
{
|
|
43
|
+
delete nextState.page;
|
|
44
|
+
var currentValue = state[action.key] || [];
|
|
45
|
+
return _objectSpread(_objectSpread({}, nextState), {}, _defineProperty({}, action.key, [].concat(_toConsumableArray(currentValue), [action.value])));
|
|
46
|
+
}
|
|
47
|
+
case REMOVE_FROM_REFINEMENT_ARRAY:
|
|
48
|
+
{
|
|
49
|
+
if (nextState[action.key]) {
|
|
50
|
+
delete nextState.page;
|
|
51
|
+
var _currentValue = state[action.key] || [];
|
|
52
|
+
return _objectSpread(_objectSpread({}, nextState), {}, _defineProperty({}, action.key, _currentValue.filter(function (value) {
|
|
53
|
+
return value !== action.value;
|
|
54
|
+
})));
|
|
55
|
+
}
|
|
56
|
+
return nextState;
|
|
57
|
+
}
|
|
58
|
+
case CLEAR_REFINEMENTS:
|
|
59
|
+
delete nextState.page;
|
|
60
|
+
Object.keys(nextState).forEach(function (key) {
|
|
61
|
+
if (!QUERY_PARAMS_TO_IGNORE.includes(key)) {
|
|
62
|
+
delete nextState[key];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return nextState;
|
|
66
|
+
default:
|
|
67
|
+
return nextState;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reducer.js","names":["DELETE_REFINEMENT","SET_REFINEMENT","CLEAR_REFINEMENTS","SET_REFINEMENTS_FROM_QUERY_PARAMS","ADD_TO_REFINEMENT_ARRAY","REMOVE_FROM_REFINEMENT_ARRAY","QUERY_PARAMS_TO_IGNORE","refinementsReducer","state","arguments","length","undefined","action","nextState","_objectSpread","type","page","key","value","Object","keys","forEach","includes","payload","currentValue","_defineProperty","concat","_toConsumableArray","filter"],"sources":["../../src/data/reducer.js"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport {\n DELETE_REFINEMENT, SET_REFINEMENT, CLEAR_REFINEMENTS,\n SET_REFINEMENTS_FROM_QUERY_PARAMS, ADD_TO_REFINEMENT_ARRAY,\n REMOVE_FROM_REFINEMENT_ARRAY,\n} from './actions';\nimport { QUERY_PARAMS_TO_IGNORE } from './constants';\n\nexport const refinementsReducer = (state = {}, action = {}) => {\n const nextState = { ...state };\n switch (action.type) {\n case DELETE_REFINEMENT:\n delete nextState.page;\n delete nextState[action.key];\n return nextState;\n case SET_REFINEMENT:\n delete nextState.page;\n nextState[action.key] = action.value;\n return nextState;\n case SET_REFINEMENTS_FROM_QUERY_PARAMS:\n // we don't delete the page when setting multiple refinements.\n // This action should only be used by SearchData,\n // and it has to handle the page coming in as a query param.\n // Deleting it can cause an infinite loop.\n Object.keys(state).forEach((key) => {\n // remove refinements that are not from query params\n if (!QUERY_PARAMS_TO_IGNORE.includes(key)) {\n delete nextState[key];\n }\n });\n return {\n ...nextState,\n ...action.payload,\n };\n case ADD_TO_REFINEMENT_ARRAY: {\n delete nextState.page;\n const currentValue = state[action.key] || [];\n return {\n ...nextState,\n [action.key]: [...currentValue, action.value],\n };\n }\n case REMOVE_FROM_REFINEMENT_ARRAY: {\n if (nextState[action.key]) {\n delete nextState.page;\n const currentValue = state[action.key] || [];\n return {\n ...nextState,\n [action.key]: currentValue.filter(value => value !== action.value),\n };\n }\n return nextState;\n }\n case CLEAR_REFINEMENTS:\n delete nextState.page;\n Object.keys(nextState).forEach((key) => {\n if (!QUERY_PARAMS_TO_IGNORE.includes(key)) {\n delete nextState[key];\n }\n });\n return nextState;\n default:\n return nextState;\n }\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA,SACEA,iBAAiB,EAAEC,cAAc,EAAEC,iBAAiB,EACpDC,iCAAiC,EAAEC,uBAAuB,EAC1DC,4BAA4B,QACvB,WAAW;AAClB,SAASC,sBAAsB,QAAQ,aAAa;AAEpD,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAgC;EAAA,IAA5BC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,IAAMI,SAAS,GAAAC,aAAA,KAAQN,KAAK,CAAE;EAC9B,QAAQI,MAAM,CAACG,IAAI;IACjB,KAAKf,iBAAiB;MACpB,OAAOa,SAAS,CAACG,IAAI;MACrB,OAAOH,SAAS,CAACD,MAAM,CAACK,GAAG,CAAC;MAC5B,OAAOJ,SAAS;IAClB,KAAKZ,cAAc;MACjB,OAAOY,SAAS,CAACG,IAAI;MACrBH,SAAS,CAACD,MAAM,CAACK,GAAG,CAAC,GAAGL,MAAM,CAACM,KAAK;MACpC,OAAOL,SAAS;IAClB,KAAKV,iCAAiC;MACpC;MACA;MACA;MACA;MACAgB,MAAM,CAACC,IAAI,CAACZ,KAAK,CAAC,CAACa,OAAO,CAAC,UAACJ,GAAG,EAAK;QAClC;QACA,IAAI,CAACX,sBAAsB,CAACgB,QAAQ,CAACL,GAAG,CAAC,EAAE;UACzC,OAAOJ,SAAS,CAACI,GAAG,CAAC;QACvB;MACF,CAAC,CAAC;MACF,OAAAH,aAAA,CAAAA,aAAA,KACKD,SAAS,GACTD,MAAM,CAACW,OAAO;IAErB,KAAKnB,uBAAuB;MAAE;QAC5B,OAAOS,SAAS,CAACG,IAAI;QACrB,IAAMQ,YAAY,GAAGhB,KAAK,CAACI,MAAM,CAACK,GAAG,CAAC,IAAI,EAAE;QAC5C,OAAAH,aAAA,CAAAA,aAAA,KACKD,SAAS,OAAAY,eAAA,KACXb,MAAM,CAACK,GAAG,KAAAS,MAAA,CAAAC,kBAAA,CAAOH,YAAY,IAAEZ,MAAM,CAACM,KAAK;MAEhD;IACA,KAAKb,4BAA4B;MAAE;QACjC,IAAIQ,SAAS,CAACD,MAAM,CAACK,GAAG,CAAC,EAAE;UACzB,OAAOJ,SAAS,CAACG,IAAI;UACrB,IAAMQ,aAAY,GAAGhB,KAAK,CAACI,MAAM,CAACK,GAAG,CAAC,IAAI,EAAE;UAC5C,OAAAH,aAAA,CAAAA,aAAA,KACKD,SAAS,OAAAY,eAAA,KACXb,MAAM,CAACK,GAAG,EAAGO,aAAY,CAACI,MAAM,CAAC,UAAAV,KAAK;YAAA,OAAIA,KAAK,KAAKN,MAAM,CAACM,KAAK;UAAA,EAAC;QAEtE;QACA,OAAOL,SAAS;MAClB;IACA,KAAKX,iBAAiB;MACpB,OAAOW,SAAS,CAACG,IAAI;MACrBG,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,OAAO,CAAC,UAACJ,GAAG,EAAK;QACtC,IAAI,CAACX,sBAAsB,CAACgB,QAAQ,CAACL,GAAG,CAAC,EAAE;UACzC,OAAOJ,SAAS,CAACI,GAAG,CAAC;QACvB;MACF,CAAC,CAAC;MACF,OAAOJ,SAAS;IAClB;MACE,OAAOA,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export var SUBJECTS = {
|
|
2
|
+
COMPUTER_SCIENCE: 'Computer Science',
|
|
3
|
+
COMMUNICATION: 'Communication'
|
|
4
|
+
};
|
|
5
|
+
export var AVAILABLILITY = {
|
|
6
|
+
AVAILABLE_NOW: 'Available Now',
|
|
7
|
+
UPCOMING: 'Upcoming'
|
|
8
|
+
};
|
|
9
|
+
export var FACET_ATTRIBUTES = {
|
|
10
|
+
AVAILABLILITY: 'availability',
|
|
11
|
+
SUBJECTS: 'subjects'
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["SUBJECTS","COMPUTER_SCIENCE","COMMUNICATION","AVAILABLILITY","AVAILABLE_NOW","UPCOMING","FACET_ATTRIBUTES"],"sources":["../../../src/data/tests/constants.js"],"sourcesContent":["export const SUBJECTS = {\n COMPUTER_SCIENCE: 'Computer Science',\n COMMUNICATION: 'Communication',\n};\n\nexport const AVAILABLILITY = {\n AVAILABLE_NOW: 'Available Now',\n UPCOMING: 'Upcoming',\n};\n\nexport const FACET_ATTRIBUTES = {\n AVAILABLILITY: 'availability',\n SUBJECTS: 'subjects',\n};\n"],"mappings":"AAAA,OAAO,IAAMA,QAAQ,GAAG;EACtBC,gBAAgB,EAAE,kBAAkB;EACpCC,aAAa,EAAE;AACjB,CAAC;AAED,OAAO,IAAMC,aAAa,GAAG;EAC3BC,aAAa,EAAE,eAAe;EAC9BC,QAAQ,EAAE;AACZ,CAAC;AAED,OAAO,IAAMC,gBAAgB,GAAG;EAC9BH,aAAa,EAAE,cAAc;EAC7BH,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
|
package/data/utils.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
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."); }
|
|
3
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
4
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
5
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
6
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
8
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
11
|
+
export var sortItemsByLabelAsc = function sortItemsByLabelAsc(items) {
|
|
12
|
+
return items.sort(function (a, b) {
|
|
13
|
+
return a.label.localeCompare(b.label);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Takes an object containing the current refinements state and converts it
|
|
19
|
+
* to query parameter string that can be used to push onto the history stack.
|
|
20
|
+
*
|
|
21
|
+
* Refinements that contain more than 1 value will be handled accordingly, e.g.:
|
|
22
|
+
* `{ foo: ['bar', 'bar2' ]}` will be parsed as `foo=bar&foo=bar2`
|
|
23
|
+
*
|
|
24
|
+
* @param {object} refinements
|
|
25
|
+
* @returns Query parameter string
|
|
26
|
+
*/
|
|
27
|
+
export function stringifyRefinements(refinements) {
|
|
28
|
+
var params = new URLSearchParams();
|
|
29
|
+
Object.entries(refinements).forEach(function (tuple) {
|
|
30
|
+
var _tuple = _slicedToArray(tuple, 2),
|
|
31
|
+
key = _tuple[0],
|
|
32
|
+
value = _tuple[1];
|
|
33
|
+
if (Array.isArray(value)) {
|
|
34
|
+
value.forEach(function (item) {
|
|
35
|
+
params.append(key, item);
|
|
36
|
+
});
|
|
37
|
+
} else {
|
|
38
|
+
params.append(key, value);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
var refinementString = params.toString();
|
|
42
|
+
// URLSearchParams won't encode spaces contained within individual refinements- ie `Computer Science`
|
|
43
|
+
if (refinementString) {
|
|
44
|
+
refinementString = refinementString.replace(/[+]/g, '%20');
|
|
45
|
+
}
|
|
46
|
+
return refinementString;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Given a URLSearchParams instance, parses an object that accounts for the
|
|
51
|
+
* possibility of more than one value per parameter, e.g. "?foo=bar&foo=bar2".
|
|
52
|
+
*
|
|
53
|
+
* @param {URLSearchParams} entries URLSearchParams instance
|
|
54
|
+
* @returns Object containing query parameters with an array of values for each parameter.
|
|
55
|
+
*/
|
|
56
|
+
export function searchParamsToObject(entries) {
|
|
57
|
+
return _toConsumableArray(entries).reduce(function (acc, tuple) {
|
|
58
|
+
var _tuple2 = _slicedToArray(tuple, 2),
|
|
59
|
+
key = _tuple2[0],
|
|
60
|
+
value = _tuple2[1];
|
|
61
|
+
if (Object.prototype.hasOwnProperty.call(acc, key)) {
|
|
62
|
+
acc[key] = [].concat(_toConsumableArray(acc[key]), [value]);
|
|
63
|
+
} else {
|
|
64
|
+
acc[key] = [value];
|
|
65
|
+
}
|
|
66
|
+
return acc;
|
|
67
|
+
}, {});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["sortItemsByLabelAsc","items","sort","a","b","label","localeCompare","stringifyRefinements","refinements","params","URLSearchParams","Object","entries","forEach","tuple","_tuple","_slicedToArray","key","value","Array","isArray","item","append","refinementString","toString","replace","searchParamsToObject","_toConsumableArray","reduce","acc","_tuple2","prototype","hasOwnProperty","call","concat"],"sources":["../../src/data/utils.js"],"sourcesContent":["export const sortItemsByLabelAsc = items => items.sort((a, b) => a.label.localeCompare(b.label));\n\n/**\n * Takes an object containing the current refinements state and converts it\n * to query parameter string that can be used to push onto the history stack.\n *\n * Refinements that contain more than 1 value will be handled accordingly, e.g.:\n * `{ foo: ['bar', 'bar2' ]}` will be parsed as `foo=bar&foo=bar2`\n *\n * @param {object} refinements\n * @returns Query parameter string\n */\nexport function stringifyRefinements(refinements) {\n const params = new URLSearchParams();\n Object.entries(refinements).forEach((tuple) => {\n const [key, value] = tuple;\n if (Array.isArray(value)) {\n value.forEach((item) => {\n params.append(key, item);\n });\n } else {\n params.append(key, value);\n }\n });\n let refinementString = params.toString();\n // URLSearchParams won't encode spaces contained within individual refinements- ie `Computer Science`\n if (refinementString) {\n refinementString = refinementString.replace(/[+]/g, '%20');\n }\n return refinementString;\n}\n\n/**\n * Given a URLSearchParams instance, parses an object that accounts for the\n * possibility of more than one value per parameter, e.g. \"?foo=bar&foo=bar2\".\n *\n * @param {URLSearchParams} entries URLSearchParams instance\n * @returns Object containing query parameters with an array of values for each parameter.\n */\nexport function searchParamsToObject(entries) {\n return [...entries].reduce((acc, tuple) => {\n const [key, value] = tuple;\n if (Object.prototype.hasOwnProperty.call(acc, key)) {\n acc[key] = [...acc[key], value];\n } else {\n acc[key] = [value];\n }\n return acc;\n }, {});\n}\n"],"mappings":";;;;;;;;;;AAAA,OAAO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,KAAK;EAAA,OAAIA,KAAK,CAACC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACE,KAAK,CAACC,aAAa,CAACF,CAAC,CAACC,KAAK,CAAC;EAAA,EAAC;AAAA;;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAACC,WAAW,EAAE;EAChD,IAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;EACpCC,MAAM,CAACC,OAAO,CAACJ,WAAW,CAAC,CAACK,OAAO,CAAC,UAACC,KAAK,EAAK;IAC7C,IAAAC,MAAA,GAAAC,cAAA,CAAqBF,KAAK;MAAnBG,GAAG,GAAAF,MAAA;MAAEG,KAAK,GAAAH,MAAA;IACjB,IAAII,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACxBA,KAAK,CAACL,OAAO,CAAC,UAACQ,IAAI,EAAK;QACtBZ,MAAM,CAACa,MAAM,CAACL,GAAG,EAAEI,IAAI,CAAC;MAC1B,CAAC,CAAC;IACJ,CAAC,MAAM;MACLZ,MAAM,CAACa,MAAM,CAACL,GAAG,EAAEC,KAAK,CAAC;IAC3B;EACF,CAAC,CAAC;EACF,IAAIK,gBAAgB,GAAGd,MAAM,CAACe,QAAQ,CAAC,CAAC;EACxC;EACA,IAAID,gBAAgB,EAAE;IACpBA,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;EAC5D;EACA,OAAOF,gBAAgB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAACd,OAAO,EAAE;EAC5C,OAAOe,kBAAA,CAAIf,OAAO,EAAEgB,MAAM,CAAC,UAACC,GAAG,EAAEf,KAAK,EAAK;IACzC,IAAAgB,OAAA,GAAAd,cAAA,CAAqBF,KAAK;MAAnBG,GAAG,GAAAa,OAAA;MAAEZ,KAAK,GAAAY,OAAA;IACjB,IAAInB,MAAM,CAACoB,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,GAAG,EAAEZ,GAAG,CAAC,EAAE;MAClDY,GAAG,CAACZ,GAAG,CAAC,MAAAiB,MAAA,CAAAP,kBAAA,CAAOE,GAAG,CAACZ,GAAG,CAAC,IAAEC,KAAK,EAAC;IACjC,CAAC,MAAM;MACLW,GAAG,CAACZ,GAAG,CAAC,GAAG,CAACC,KAAK,CAAC;IACpB;IACA,OAAOW,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR","ignoreList":[]}
|
package/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as SearchData, SearchContext } from './SearchContext';
|
|
2
|
+
export { default as SearchHeader } from './SearchHeader';
|
|
3
|
+
export { default as SearchPagination } from './SearchPagination';
|
|
4
|
+
export { default as FacetListRefinement } from './FacetListRefinement';
|
|
5
|
+
export { SEARCH_FACET_FILTERS, SHOW_ALL_NAME } from './data/constants';
|
|
6
|
+
export { useNbHitsFromSearchResults, getCatalogString } from './data/hooks';
|
|
7
|
+
export { addToRefinementArray, deleteRefinementAction, removeFromRefinementArray, setMultipleRefinementsAction, setRefinementAction, clearRefinementsAction } from './data/actions';
|
|
8
|
+
export { getSearchFacetFilters } from './utils';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","SearchData","SearchContext","SearchHeader","SearchPagination","FacetListRefinement","SEARCH_FACET_FILTERS","SHOW_ALL_NAME","useNbHitsFromSearchResults","getCatalogString","addToRefinementArray","deleteRefinementAction","removeFromRefinementArray","setMultipleRefinementsAction","setRefinementAction","clearRefinementsAction","getSearchFacetFilters"],"sources":["../src/index.js"],"sourcesContent":["export { default as SearchData, SearchContext } from './SearchContext';\nexport { default as SearchHeader } from './SearchHeader';\nexport { default as SearchPagination } from './SearchPagination';\nexport { default as FacetListRefinement } from './FacetListRefinement';\n\nexport {\n SEARCH_FACET_FILTERS,\n SHOW_ALL_NAME,\n} from './data/constants';\n\nexport {\n useNbHitsFromSearchResults,\n getCatalogString,\n} from './data/hooks';\n\nexport {\n addToRefinementArray,\n deleteRefinementAction,\n removeFromRefinementArray,\n setMultipleRefinementsAction,\n setRefinementAction,\n clearRefinementsAction,\n} from './data/actions';\n\nexport {\n getSearchFacetFilters,\n} from './utils';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,UAAU,EAAEC,aAAa,QAAQ,iBAAiB;AACtE,SAASF,OAAO,IAAIG,YAAY,QAAQ,gBAAgB;AACxD,SAASH,OAAO,IAAII,gBAAgB,QAAQ,oBAAoB;AAChE,SAASJ,OAAO,IAAIK,mBAAmB,QAAQ,uBAAuB;AAEtE,SACEC,oBAAoB,EACpBC,aAAa,QACR,kBAAkB;AAEzB,SACEC,0BAA0B,EAC1BC,gBAAgB,QACX,cAAc;AAErB,SACEC,oBAAoB,EACpBC,sBAAsB,EACtBC,yBAAyB,EACzBC,4BAA4B,EAC5BC,mBAAmB,EACnBC,sBAAsB,QACjB,gBAAgB;AAEvB,SACEC,qBAAqB,QAChB,SAAS","ignoreList":[]}
|
package/index.scss
ADDED
package/messages.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
var _defineMessages;
|
|
2
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
import { defineMessages } from '@edx/frontend-platform/i18n';
|
|
7
|
+
import { LEARNING_TYPE_PATHWAY, LEARNING_TYPE_COURSE, LEARNING_TYPE_PROGRAM, LEARNING_TYPE_VIDEO } from './data/constants';
|
|
8
|
+
var AVAILABILITY_AVAILABLE_NOW = 'Available Now';
|
|
9
|
+
var AVAILABILITY_UPCOMING = 'Upcoming';
|
|
10
|
+
var AVAILABILITY_STARTING_SOON = 'Starting Soon';
|
|
11
|
+
var AVAILABILITY_ARCHIVED = 'Archived';
|
|
12
|
+
var LEVEL_INTRODUCTORY = 'Introductory';
|
|
13
|
+
var LEVEL_INTERMEDIATE = 'Intermediate';
|
|
14
|
+
var LEVEL_ADVANCED = 'Advanced';
|
|
15
|
+
var LANGUAGE_ENGLISH = 'English';
|
|
16
|
+
var LANGUAGE_SPANISH = 'Spanish';
|
|
17
|
+
var LANGUAGE_FRENCH = 'French';
|
|
18
|
+
var LANGUAGE_ITALIAN = 'Italian';
|
|
19
|
+
var LANGUAGE_ARABIC = 'Arabic';
|
|
20
|
+
var LANGUAGE_CHINESE_MANDARIN = 'Chinese - Mandarin';
|
|
21
|
+
var LANGUAGE_GERMAN = 'German';
|
|
22
|
+
var LANGUAGE_CHINESE_CHINA = 'Chinese - China';
|
|
23
|
+
var LANGUAGE_PORTUGUESE = 'Portuguese';
|
|
24
|
+
var LANGUAGE_CHINESE_SIMPLIFIED = 'Chinese - Simplified';
|
|
25
|
+
var LANGUAGE_JAPANESE = 'Japanese';
|
|
26
|
+
var LANGUAGE_RUSSIAN = 'Russian';
|
|
27
|
+
var LANGUAGE_URDU = 'Urdu';
|
|
28
|
+
var LANGUAGE_BENGALI = 'Bengali';
|
|
29
|
+
var LANGUAGE_DUTCH = 'Dutch';
|
|
30
|
+
var LANGUAGE_FARSI = 'Farsi';
|
|
31
|
+
var LANGUAGE_HINDI = 'Hindi';
|
|
32
|
+
var LANGUAGE_HUNGARIAN = 'Hungarian';
|
|
33
|
+
var LANGUAGE_MALDIVIAN = 'Maldivian';
|
|
34
|
+
var LANGUAGE_SINHALESE = 'Sinhalese';
|
|
35
|
+
var LANGUAGE_TIBETAN = 'Tibetan';
|
|
36
|
+
var messages = defineMessages((_defineMessages = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineMessages, LEARNING_TYPE_COURSE, {
|
|
37
|
+
id: 'search.facetFilters.filterTitle.course',
|
|
38
|
+
defaultMessage: 'Course',
|
|
39
|
+
description: 'Title for the course filter.'
|
|
40
|
+
}), LEARNING_TYPE_PROGRAM, {
|
|
41
|
+
id: 'search.facetFilters.filterTitle.program',
|
|
42
|
+
defaultMessage: 'Program',
|
|
43
|
+
description: 'Title for the program filter.'
|
|
44
|
+
}), LEARNING_TYPE_PATHWAY, {
|
|
45
|
+
id: 'search.facetFilters.filterTitle.pathway',
|
|
46
|
+
defaultMessage: 'Pathway',
|
|
47
|
+
description: 'Title for the pathway filter.'
|
|
48
|
+
}), LEARNING_TYPE_VIDEO, {
|
|
49
|
+
id: 'search.facetFilters.filterTitle.video',
|
|
50
|
+
defaultMessage: 'Video',
|
|
51
|
+
description: 'Title for the video filter.'
|
|
52
|
+
}), AVAILABILITY_AVAILABLE_NOW, {
|
|
53
|
+
id: 'search.facetFilters.availability.availableNow',
|
|
54
|
+
defaultMessage: 'Available Now',
|
|
55
|
+
description: 'Option label for the available now filter.'
|
|
56
|
+
}), AVAILABILITY_UPCOMING, {
|
|
57
|
+
id: 'search.facetFilters.availability.upcoming',
|
|
58
|
+
defaultMessage: 'Upcoming',
|
|
59
|
+
description: 'Option label for the upcoming filter.'
|
|
60
|
+
}), AVAILABILITY_STARTING_SOON, {
|
|
61
|
+
id: 'search.facetFilters.availability.startingSoon',
|
|
62
|
+
defaultMessage: 'Starting Soon',
|
|
63
|
+
description: 'Option label for the starting soon filter.'
|
|
64
|
+
}), AVAILABILITY_ARCHIVED, {
|
|
65
|
+
id: 'search.facetFilters.availability.archived',
|
|
66
|
+
defaultMessage: 'Archived',
|
|
67
|
+
description: 'Option label for the archived filter.'
|
|
68
|
+
}), LEVEL_INTRODUCTORY, {
|
|
69
|
+
id: 'search.facetFilters.level.introductory',
|
|
70
|
+
defaultMessage: 'Introductory',
|
|
71
|
+
description: 'Option label for the introductory filter.'
|
|
72
|
+
}), LEVEL_INTERMEDIATE, {
|
|
73
|
+
id: 'search.facetFilters.level.intermediate',
|
|
74
|
+
defaultMessage: 'Intermediate',
|
|
75
|
+
description: 'Option label for the intermediate filter.'
|
|
76
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineMessages, LEVEL_ADVANCED, {
|
|
77
|
+
id: 'search.facetFilters.level.advanced',
|
|
78
|
+
defaultMessage: 'Advanced',
|
|
79
|
+
description: 'Option label for the advanced filter.'
|
|
80
|
+
}), LANGUAGE_ENGLISH, {
|
|
81
|
+
id: 'search.facetFilters.language.english',
|
|
82
|
+
defaultMessage: 'English',
|
|
83
|
+
description: 'Option label for the english language filter.'
|
|
84
|
+
}), LANGUAGE_SPANISH, {
|
|
85
|
+
id: 'search.facetFilters.language.spanish',
|
|
86
|
+
defaultMessage: 'Spanish',
|
|
87
|
+
description: 'Option label for the spanish language filter.'
|
|
88
|
+
}), LANGUAGE_FRENCH, {
|
|
89
|
+
id: 'search.facetFilters.language.french',
|
|
90
|
+
defaultMessage: 'French',
|
|
91
|
+
description: 'Option label for the french language filter.'
|
|
92
|
+
}), LANGUAGE_ITALIAN, {
|
|
93
|
+
id: 'search.facetFilters.language.italian',
|
|
94
|
+
defaultMessage: 'Italian',
|
|
95
|
+
description: 'Option label for the italian language filter.'
|
|
96
|
+
}), LANGUAGE_ARABIC, {
|
|
97
|
+
id: 'search.facetFilters.language.arabic',
|
|
98
|
+
defaultMessage: 'Arabic',
|
|
99
|
+
description: 'Option label for the arabic language filter.'
|
|
100
|
+
}), LANGUAGE_CHINESE_MANDARIN, {
|
|
101
|
+
id: 'search.facetFilters.language.chineseMandarin',
|
|
102
|
+
defaultMessage: 'Chinese - Mandarin',
|
|
103
|
+
description: 'Option label for the chinese mandarin language filter.'
|
|
104
|
+
}), LANGUAGE_GERMAN, {
|
|
105
|
+
id: 'search.facetFilters.language.german',
|
|
106
|
+
defaultMessage: 'German',
|
|
107
|
+
description: 'Option label for the german language filter.'
|
|
108
|
+
}), LANGUAGE_CHINESE_CHINA, {
|
|
109
|
+
id: 'search.facetFilters.language.chineseChina',
|
|
110
|
+
defaultMessage: 'Chinese - China',
|
|
111
|
+
description: 'Option label for the chinese language filter.'
|
|
112
|
+
}), LANGUAGE_PORTUGUESE, {
|
|
113
|
+
id: 'search.facetFilters.language.portuguese',
|
|
114
|
+
defaultMessage: 'Portuguese',
|
|
115
|
+
description: 'Option label for the portuguese language filter.'
|
|
116
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineMessages, LANGUAGE_CHINESE_SIMPLIFIED, {
|
|
117
|
+
id: 'search.facetFilters.language.chineseSimplified',
|
|
118
|
+
defaultMessage: 'Chinese - Simplified',
|
|
119
|
+
description: 'Option label for the chinese simplified language filter.'
|
|
120
|
+
}), LANGUAGE_JAPANESE, {
|
|
121
|
+
id: 'search.facetFilters.language.japanese',
|
|
122
|
+
defaultMessage: 'Japanese',
|
|
123
|
+
description: 'Option label for the japanese language filter.'
|
|
124
|
+
}), LANGUAGE_RUSSIAN, {
|
|
125
|
+
id: 'search.facetFilters.language.russian',
|
|
126
|
+
defaultMessage: 'Russian',
|
|
127
|
+
description: 'Option label for the russian language filter.'
|
|
128
|
+
}), LANGUAGE_URDU, {
|
|
129
|
+
id: 'search.facetFilters.language.urdu',
|
|
130
|
+
defaultMessage: 'Urdu',
|
|
131
|
+
description: 'Option label for the urdu language filter.'
|
|
132
|
+
}), LANGUAGE_BENGALI, {
|
|
133
|
+
id: 'search.facetFilters.language.bengali',
|
|
134
|
+
defaultMessage: 'Bengali',
|
|
135
|
+
description: 'Option label for the bengali language filter.'
|
|
136
|
+
}), LANGUAGE_DUTCH, {
|
|
137
|
+
id: 'search.facetFilters.language.dutch',
|
|
138
|
+
defaultMessage: 'Dutch',
|
|
139
|
+
description: 'Option label for the dutch language filter.'
|
|
140
|
+
}), LANGUAGE_FARSI, {
|
|
141
|
+
id: 'search.facetFilters.language.farsi',
|
|
142
|
+
defaultMessage: 'Farsi',
|
|
143
|
+
description: 'Option label for the farsi language filter.'
|
|
144
|
+
}), LANGUAGE_HINDI, {
|
|
145
|
+
id: 'search.facetFilters.language.hindi',
|
|
146
|
+
defaultMessage: 'Hindi',
|
|
147
|
+
description: 'Option label for the hindi language filter.'
|
|
148
|
+
}), LANGUAGE_HUNGARIAN, {
|
|
149
|
+
id: 'search.facetFilters.language.hungarian',
|
|
150
|
+
defaultMessage: 'Hungarian',
|
|
151
|
+
description: 'Option label for the hungarian language filter.'
|
|
152
|
+
}), LANGUAGE_MALDIVIAN, {
|
|
153
|
+
id: 'search.facetFilters.language.maldivian',
|
|
154
|
+
defaultMessage: 'Maldivian',
|
|
155
|
+
description: 'Option label for the maldivian language filter.'
|
|
156
|
+
}), _defineProperty(_defineProperty(_defineMessages, LANGUAGE_SINHALESE, {
|
|
157
|
+
id: 'search.facetFilters.language.sinhalese',
|
|
158
|
+
defaultMessage: 'Sinhalese',
|
|
159
|
+
description: 'Option label for the sinhalese language filter.'
|
|
160
|
+
}), LANGUAGE_TIBETAN, {
|
|
161
|
+
id: 'search.facetFilters.language.tibetan',
|
|
162
|
+
defaultMessage: 'Tibetan',
|
|
163
|
+
description: 'Option label for the tibetan language filter.'
|
|
164
|
+
})));
|
|
165
|
+
export default messages;
|
|
166
|
+
//# sourceMappingURL=messages.js.map
|
package/messages.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","names":["defineMessages","LEARNING_TYPE_PATHWAY","LEARNING_TYPE_COURSE","LEARNING_TYPE_PROGRAM","LEARNING_TYPE_VIDEO","AVAILABILITY_AVAILABLE_NOW","AVAILABILITY_UPCOMING","AVAILABILITY_STARTING_SOON","AVAILABILITY_ARCHIVED","LEVEL_INTRODUCTORY","LEVEL_INTERMEDIATE","LEVEL_ADVANCED","LANGUAGE_ENGLISH","LANGUAGE_SPANISH","LANGUAGE_FRENCH","LANGUAGE_ITALIAN","LANGUAGE_ARABIC","LANGUAGE_CHINESE_MANDARIN","LANGUAGE_GERMAN","LANGUAGE_CHINESE_CHINA","LANGUAGE_PORTUGUESE","LANGUAGE_CHINESE_SIMPLIFIED","LANGUAGE_JAPANESE","LANGUAGE_RUSSIAN","LANGUAGE_URDU","LANGUAGE_BENGALI","LANGUAGE_DUTCH","LANGUAGE_FARSI","LANGUAGE_HINDI","LANGUAGE_HUNGARIAN","LANGUAGE_MALDIVIAN","LANGUAGE_SINHALESE","LANGUAGE_TIBETAN","messages","_defineMessages","_defineProperty","id","defaultMessage","description"],"sources":["../src/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\nimport {\n LEARNING_TYPE_PATHWAY,\n LEARNING_TYPE_COURSE,\n LEARNING_TYPE_PROGRAM,\n LEARNING_TYPE_VIDEO,\n} from './data/constants';\n\nconst AVAILABILITY_AVAILABLE_NOW = 'Available Now';\nconst AVAILABILITY_UPCOMING = 'Upcoming';\nconst AVAILABILITY_STARTING_SOON = 'Starting Soon';\nconst AVAILABILITY_ARCHIVED = 'Archived';\n\nconst LEVEL_INTRODUCTORY = 'Introductory';\nconst LEVEL_INTERMEDIATE = 'Intermediate';\nconst LEVEL_ADVANCED = 'Advanced';\n\nconst LANGUAGE_ENGLISH = 'English';\nconst LANGUAGE_SPANISH = 'Spanish';\nconst LANGUAGE_FRENCH = 'French';\nconst LANGUAGE_ITALIAN = 'Italian';\nconst LANGUAGE_ARABIC = 'Arabic';\nconst LANGUAGE_CHINESE_MANDARIN = 'Chinese - Mandarin';\nconst LANGUAGE_GERMAN = 'German';\nconst LANGUAGE_CHINESE_CHINA = 'Chinese - China';\nconst LANGUAGE_PORTUGUESE = 'Portuguese';\nconst LANGUAGE_CHINESE_SIMPLIFIED = 'Chinese - Simplified';\nconst LANGUAGE_JAPANESE = 'Japanese';\nconst LANGUAGE_RUSSIAN = 'Russian';\nconst LANGUAGE_URDU = 'Urdu';\nconst LANGUAGE_BENGALI = 'Bengali';\nconst LANGUAGE_DUTCH = 'Dutch';\nconst LANGUAGE_FARSI = 'Farsi';\nconst LANGUAGE_HINDI = 'Hindi';\nconst LANGUAGE_HUNGARIAN = 'Hungarian';\nconst LANGUAGE_MALDIVIAN = 'Maldivian';\nconst LANGUAGE_SINHALESE = 'Sinhalese';\nconst LANGUAGE_TIBETAN = 'Tibetan';\n\nconst messages = defineMessages({\n [LEARNING_TYPE_COURSE]: {\n id: 'search.facetFilters.filterTitle.course',\n defaultMessage: 'Course',\n description: 'Title for the course filter.',\n },\n [LEARNING_TYPE_PROGRAM]: {\n id: 'search.facetFilters.filterTitle.program',\n defaultMessage: 'Program',\n description: 'Title for the program filter.',\n },\n [LEARNING_TYPE_PATHWAY]: {\n id: 'search.facetFilters.filterTitle.pathway',\n defaultMessage: 'Pathway',\n description: 'Title for the pathway filter.',\n },\n [LEARNING_TYPE_VIDEO]: {\n id: 'search.facetFilters.filterTitle.video',\n defaultMessage: 'Video',\n description: 'Title for the video filter.',\n },\n [AVAILABILITY_AVAILABLE_NOW]: {\n id: 'search.facetFilters.availability.availableNow',\n defaultMessage: 'Available Now',\n description: 'Option label for the available now filter.',\n },\n [AVAILABILITY_UPCOMING]: {\n id: 'search.facetFilters.availability.upcoming',\n defaultMessage: 'Upcoming',\n description: 'Option label for the upcoming filter.',\n },\n [AVAILABILITY_STARTING_SOON]: {\n id: 'search.facetFilters.availability.startingSoon',\n defaultMessage: 'Starting Soon',\n description: 'Option label for the starting soon filter.',\n },\n [AVAILABILITY_ARCHIVED]: {\n id: 'search.facetFilters.availability.archived',\n defaultMessage: 'Archived',\n description: 'Option label for the archived filter.',\n },\n [LEVEL_INTRODUCTORY]: {\n id: 'search.facetFilters.level.introductory',\n defaultMessage: 'Introductory',\n description: 'Option label for the introductory filter.',\n },\n [LEVEL_INTERMEDIATE]: {\n id: 'search.facetFilters.level.intermediate',\n defaultMessage: 'Intermediate',\n description: 'Option label for the intermediate filter.',\n },\n [LEVEL_ADVANCED]: {\n id: 'search.facetFilters.level.advanced',\n defaultMessage: 'Advanced',\n description: 'Option label for the advanced filter.',\n },\n [LANGUAGE_ENGLISH]: {\n id: 'search.facetFilters.language.english',\n defaultMessage: 'English',\n description: 'Option label for the english language filter.',\n },\n [LANGUAGE_SPANISH]: {\n id: 'search.facetFilters.language.spanish',\n defaultMessage: 'Spanish',\n description: 'Option label for the spanish language filter.',\n },\n [LANGUAGE_FRENCH]: {\n id: 'search.facetFilters.language.french',\n defaultMessage: 'French',\n description: 'Option label for the french language filter.',\n },\n [LANGUAGE_ITALIAN]: {\n id: 'search.facetFilters.language.italian',\n defaultMessage: 'Italian',\n description: 'Option label for the italian language filter.',\n },\n [LANGUAGE_ARABIC]: {\n id: 'search.facetFilters.language.arabic',\n defaultMessage: 'Arabic',\n description: 'Option label for the arabic language filter.',\n },\n [LANGUAGE_CHINESE_MANDARIN]: {\n id: 'search.facetFilters.language.chineseMandarin',\n defaultMessage: 'Chinese - Mandarin',\n description: 'Option label for the chinese mandarin language filter.',\n },\n [LANGUAGE_GERMAN]: {\n id: 'search.facetFilters.language.german',\n defaultMessage: 'German',\n description: 'Option label for the german language filter.',\n },\n [LANGUAGE_CHINESE_CHINA]: {\n id: 'search.facetFilters.language.chineseChina',\n defaultMessage: 'Chinese - China',\n description: 'Option label for the chinese language filter.',\n },\n [LANGUAGE_PORTUGUESE]: {\n id: 'search.facetFilters.language.portuguese',\n defaultMessage: 'Portuguese',\n description: 'Option label for the portuguese language filter.',\n },\n [LANGUAGE_CHINESE_SIMPLIFIED]: {\n id: 'search.facetFilters.language.chineseSimplified',\n defaultMessage: 'Chinese - Simplified',\n description: 'Option label for the chinese simplified language filter.',\n },\n [LANGUAGE_JAPANESE]: {\n id: 'search.facetFilters.language.japanese',\n defaultMessage: 'Japanese',\n description: 'Option label for the japanese language filter.',\n },\n [LANGUAGE_RUSSIAN]: {\n id: 'search.facetFilters.language.russian',\n defaultMessage: 'Russian',\n description: 'Option label for the russian language filter.',\n },\n [LANGUAGE_URDU]: {\n id: 'search.facetFilters.language.urdu',\n defaultMessage: 'Urdu',\n description: 'Option label for the urdu language filter.',\n },\n [LANGUAGE_BENGALI]: {\n id: 'search.facetFilters.language.bengali',\n defaultMessage: 'Bengali',\n description: 'Option label for the bengali language filter.',\n },\n [LANGUAGE_DUTCH]: {\n id: 'search.facetFilters.language.dutch',\n defaultMessage: 'Dutch',\n description: 'Option label for the dutch language filter.',\n },\n [LANGUAGE_FARSI]: {\n id: 'search.facetFilters.language.farsi',\n defaultMessage: 'Farsi',\n description: 'Option label for the farsi language filter.',\n },\n [LANGUAGE_HINDI]: {\n id: 'search.facetFilters.language.hindi',\n defaultMessage: 'Hindi',\n description: 'Option label for the hindi language filter.',\n },\n [LANGUAGE_HUNGARIAN]: {\n id: 'search.facetFilters.language.hungarian',\n defaultMessage: 'Hungarian',\n description: 'Option label for the hungarian language filter.',\n },\n [LANGUAGE_MALDIVIAN]: {\n id: 'search.facetFilters.language.maldivian',\n defaultMessage: 'Maldivian',\n description: 'Option label for the maldivian language filter.',\n },\n [LANGUAGE_SINHALESE]: {\n id: 'search.facetFilters.language.sinhalese',\n defaultMessage: 'Sinhalese',\n description: 'Option label for the sinhalese language filter.',\n },\n [LANGUAGE_TIBETAN]: {\n id: 'search.facetFilters.language.tibetan',\n defaultMessage: 'Tibetan',\n description: 'Option label for the tibetan language filter.',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]}
|