@esri/hub-common 9.49.0 → 10.0.0-next.1
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/dist/es2017/search/_internal/hubSearchItems.js +0 -43
- package/dist/es2017/search/_internal/hubSearchItems.js.map +1 -1
- package/dist/es2017/search/_internal/index.js +0 -1
- package/dist/es2017/search/_internal/index.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchGroups.js +0 -1
- package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchItems.js +1 -4
- package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js +0 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/es2017/search/_searchContent.js +1 -5
- package/dist/es2017/search/_searchContent.js.map +1 -1
- package/dist/es2017/search/_searchGroups.js.map +1 -1
- package/dist/es2017/search/content-utils.js +2 -67
- package/dist/es2017/search/content-utils.js.map +1 -1
- package/dist/es2017/search/index.js +0 -1
- package/dist/es2017/search/index.js.map +1 -1
- package/dist/es2017/search/types/index.js +0 -2
- package/dist/es2017/search/types/index.js.map +1 -1
- package/dist/es2017/types.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItems.js +1 -45
- package/dist/esm/search/_internal/hubSearchItems.js.map +1 -1
- package/dist/esm/search/_internal/index.js +0 -1
- package/dist/esm/search/_internal/index.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchGroups.js +0 -1
- package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchItems.js +2 -4
- package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUsers.js +0 -1
- package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/esm/search/_searchContent.js +1 -5
- package/dist/esm/search/_searchContent.js.map +1 -1
- package/dist/esm/search/_searchGroups.js.map +1 -1
- package/dist/esm/search/content-utils.js +2 -70
- package/dist/esm/search/content-utils.js.map +1 -1
- package/dist/esm/search/index.js +0 -1
- package/dist/esm/search/index.js.map +1 -1
- package/dist/esm/search/types/index.js +0 -2
- package/dist/esm/search/types/index.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItems.js +1 -45
- package/dist/node/search/_internal/hubSearchItems.js.map +1 -1
- package/dist/node/search/_internal/index.js +0 -1
- package/dist/node/search/_internal/index.js.map +1 -1
- package/dist/node/search/_internal/portalSearchGroups.js +0 -1
- package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/node/search/_internal/portalSearchItems.js +0 -3
- package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUsers.js +0 -1
- package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/node/search/_searchContent.js +0 -4
- package/dist/node/search/_searchContent.js.map +1 -1
- package/dist/node/search/_searchGroups.js.map +1 -1
- package/dist/node/search/content-utils.js +3 -70
- package/dist/node/search/content-utils.js.map +1 -1
- package/dist/node/search/index.js +0 -1
- package/dist/node/search/index.js.map +1 -1
- package/dist/node/search/types/index.js +0 -2
- package/dist/node/search/types/index.js.map +1 -1
- package/dist/node/types.js.map +1 -1
- package/dist/types/search/_internal/hubSearchItems.d.ts +1 -2
- package/dist/types/search/_internal/index.d.ts +0 -1
- package/dist/types/search/_searchGroups.d.ts +1 -5
- package/dist/types/search/content-utils.d.ts +1 -18
- package/dist/types/search/index.d.ts +0 -1
- package/dist/types/search/types/ICatalog.d.ts +0 -5
- package/dist/types/search/types/ICollection.d.ts +0 -2
- package/dist/types/search/types/IHubSearchResponse.d.ts +0 -5
- package/dist/types/search/types/index.d.ts +0 -2
- package/dist/types/search/types/types.d.ts +0 -2
- package/dist/types/types.d.ts +0 -2
- package/dist/umd/common.umd.js +3 -327
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/es2017/search/_internal/state.js +0 -155
- package/dist/es2017/search/_internal/state.js.map +0 -1
- package/dist/es2017/search/collectionState.js +0 -60
- package/dist/es2017/search/collectionState.js.map +0 -1
- package/dist/es2017/search/types/IFacet.js +0 -1
- package/dist/es2017/search/types/IFacet.js.map +0 -1
- package/dist/es2017/search/types/IFacetOption.js +0 -1
- package/dist/es2017/search/types/IFacetOption.js.map +0 -1
- package/dist/esm/search/_internal/state.js +0 -155
- package/dist/esm/search/_internal/state.js.map +0 -1
- package/dist/esm/search/collectionState.js +0 -61
- package/dist/esm/search/collectionState.js.map +0 -1
- package/dist/esm/search/types/IFacet.js +0 -1
- package/dist/esm/search/types/IFacet.js.map +0 -1
- package/dist/esm/search/types/IFacetOption.js +0 -1
- package/dist/esm/search/types/IFacetOption.js.map +0 -1
- package/dist/node/search/_internal/state.js +0 -166
- package/dist/node/search/_internal/state.js.map +0 -1
- package/dist/node/search/collectionState.js +0 -65
- package/dist/node/search/collectionState.js.map +0 -1
- package/dist/node/search/types/IFacet.js +0 -3
- package/dist/node/search/types/IFacet.js.map +0 -1
- package/dist/node/search/types/IFacetOption.js +0 -3
- package/dist/node/search/types/IFacetOption.js.map +0 -1
- package/dist/types/search/_internal/state.d.ts +0 -70
- package/dist/types/search/collectionState.d.ts +0 -19
- package/dist/types/search/types/IFacet.d.ts +0 -62
- package/dist/types/search/types/IFacetOption.d.ts +0 -30
package/package.json
CHANGED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { cloneObject } from "../../util";
|
|
2
|
-
/**
|
|
3
|
-
* @private
|
|
4
|
-
* Apply the sortState to SortOptions
|
|
5
|
-
*
|
|
6
|
-
* @param sortOptions
|
|
7
|
-
* @param sortState
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export function applySortState(sortOptions, sortState) {
|
|
11
|
-
const updated = cloneObject(sortOptions);
|
|
12
|
-
if (sortState) {
|
|
13
|
-
const [label, attribute, order] = sortState.split("|");
|
|
14
|
-
updated.label = label;
|
|
15
|
-
updated.attribute = attribute;
|
|
16
|
-
updated.order = order;
|
|
17
|
-
}
|
|
18
|
-
return updated;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @private
|
|
22
|
-
* Apply FacetState to a Facet
|
|
23
|
-
* @param facet
|
|
24
|
-
* @param state
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
export function applyFacetState(facet, state) {
|
|
28
|
-
let updated = cloneObject(facet);
|
|
29
|
-
switch (facet.display) {
|
|
30
|
-
case "single-select":
|
|
31
|
-
updated = applySingleSelectFacetState(facet, state);
|
|
32
|
-
break;
|
|
33
|
-
case "multi-select":
|
|
34
|
-
updated = applyMultiSelectFacetState(facet, state);
|
|
35
|
-
break;
|
|
36
|
-
case "date-range":
|
|
37
|
-
break;
|
|
38
|
-
case "histogram":
|
|
39
|
-
break;
|
|
40
|
-
default:
|
|
41
|
-
// no default behavior
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
return updated;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @private
|
|
48
|
-
* Apply the Facet State onto a single-select facet
|
|
49
|
-
*
|
|
50
|
-
* Intentionally mutates the facet.
|
|
51
|
-
* @param facet
|
|
52
|
-
* @param state
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
export function applySingleSelectFacetState(facet, state) {
|
|
56
|
-
const updated = cloneObject(facet);
|
|
57
|
-
updated.options = updated.options.map((o) => {
|
|
58
|
-
o.selected = o.key === state[facet.key];
|
|
59
|
-
return o;
|
|
60
|
-
});
|
|
61
|
-
return updated;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* @private
|
|
65
|
-
* Serialize single-select facet into IFacetState
|
|
66
|
-
* @param facet
|
|
67
|
-
* @returns
|
|
68
|
-
*/
|
|
69
|
-
export function serializeSingleSelectFacetState(facet) {
|
|
70
|
-
const state = {};
|
|
71
|
-
const selected = facet.options.find((o) => o.selected);
|
|
72
|
-
if (selected) {
|
|
73
|
-
state[facet.key] = selected.key;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
state[facet.key] = null;
|
|
77
|
-
}
|
|
78
|
-
return state;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* @private
|
|
82
|
-
* Apply the Facet State onto a multi-select Facet
|
|
83
|
-
*
|
|
84
|
-
* Intentionally mutates the facet.
|
|
85
|
-
* @param facet
|
|
86
|
-
* @param state
|
|
87
|
-
* @returns
|
|
88
|
-
*/
|
|
89
|
-
export function applyMultiSelectFacetState(facet, state) {
|
|
90
|
-
var _a;
|
|
91
|
-
const updated = cloneObject(facet);
|
|
92
|
-
const selectedKeys = ((_a = state[facet.key]) === null || _a === void 0 ? void 0 : _a.split(",")) || [];
|
|
93
|
-
updated.options = updated.options.map((o) => {
|
|
94
|
-
o.selected = selectedKeys.includes(o.key);
|
|
95
|
-
return o;
|
|
96
|
-
});
|
|
97
|
-
return updated;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* @private
|
|
101
|
-
* Serialize multi-select facet into IFacetState
|
|
102
|
-
* @param facet
|
|
103
|
-
* @returns
|
|
104
|
-
*/
|
|
105
|
-
export function serializeMultiSelectFacetState(facet) {
|
|
106
|
-
const state = {};
|
|
107
|
-
const selected = facet.options.filter((o) => o.selected);
|
|
108
|
-
const value = selected.map((o) => o.key).join(",");
|
|
109
|
-
if (value.length) {
|
|
110
|
-
state[facet.key] = value;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
state[facet.key] = null;
|
|
114
|
-
}
|
|
115
|
-
return state;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* @private
|
|
119
|
-
* Serialize the state of the SortOption into a key/value pair
|
|
120
|
-
*
|
|
121
|
-
* Called from the Sort component
|
|
122
|
-
* @param sort
|
|
123
|
-
* @returns
|
|
124
|
-
*/
|
|
125
|
-
export function serializeSortState(sort) {
|
|
126
|
-
return `${sort.label}|${sort.attribute}|${sort.order}`;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* @private
|
|
130
|
-
* Serialize the state of a facet into a key/value pair
|
|
131
|
-
*
|
|
132
|
-
* Called from the various facet components
|
|
133
|
-
* @param facet
|
|
134
|
-
* @returns
|
|
135
|
-
*/
|
|
136
|
-
export function serializeFacetState(facet) {
|
|
137
|
-
let state = {};
|
|
138
|
-
switch (facet.display) {
|
|
139
|
-
case "single-select":
|
|
140
|
-
state = serializeSingleSelectFacetState(facet);
|
|
141
|
-
break;
|
|
142
|
-
case "multi-select":
|
|
143
|
-
state = serializeMultiSelectFacetState(facet);
|
|
144
|
-
break;
|
|
145
|
-
case "date-range":
|
|
146
|
-
break;
|
|
147
|
-
case "histogram":
|
|
148
|
-
break;
|
|
149
|
-
default:
|
|
150
|
-
// no default behavior
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
return state;
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/_internal/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { cloneObject } from "../util";
|
|
2
|
-
import { applySortState, applyFacetState, serializeFacetState, serializeSortState, } from "./_internal/state";
|
|
3
|
-
/**
|
|
4
|
-
* Apply ICollectionState to an ICollection
|
|
5
|
-
*
|
|
6
|
-
* Typically used in a Gallery or Catalog component to
|
|
7
|
-
* set the inital state, based on values deserialized
|
|
8
|
-
* from a query string
|
|
9
|
-
* @param collection
|
|
10
|
-
* @param state
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
export function applyCollectionState(collection, state) {
|
|
14
|
-
const updated = cloneObject(collection);
|
|
15
|
-
// Apply default query
|
|
16
|
-
if (state.query) {
|
|
17
|
-
updated.defaultQuery = state.query;
|
|
18
|
-
}
|
|
19
|
-
// Apply Sort State
|
|
20
|
-
updated.sortOption = applySortState(updated.sortOption, state.sort);
|
|
21
|
-
// Look for state props for the facets and apply them
|
|
22
|
-
updated.facets = updated.facets.map((facet) => {
|
|
23
|
-
// see if there is a key for this facet on the state
|
|
24
|
-
if (Object.keys(state).includes(facet.key)) {
|
|
25
|
-
const facetState = {};
|
|
26
|
-
facetState[facet.key] = state[facet.key];
|
|
27
|
-
return applyFacetState(facet, facetState);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
// Ensure all options are not selected
|
|
31
|
-
// because they were not included in the state
|
|
32
|
-
facet.options.forEach((opt) => {
|
|
33
|
-
opt.selected = false;
|
|
34
|
-
});
|
|
35
|
-
return facet;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
//
|
|
39
|
-
return updated;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Serialize the current state of a collection into a hash that
|
|
43
|
-
* can be converted into a query string
|
|
44
|
-
* @param collection
|
|
45
|
-
* @returns
|
|
46
|
-
*/
|
|
47
|
-
export function serializeCollectionState(collection) {
|
|
48
|
-
const state = {};
|
|
49
|
-
if (collection.defaultQuery) {
|
|
50
|
-
state.query = collection.defaultQuery;
|
|
51
|
-
}
|
|
52
|
-
if (collection.sortOption) {
|
|
53
|
-
state.sort = serializeSortState(collection.sortOption);
|
|
54
|
-
}
|
|
55
|
-
const facetState = (collection.facets || []).reduce((s, facet) => {
|
|
56
|
-
return Object.assign(Object.assign({}, s), serializeFacetState(facet));
|
|
57
|
-
}, {});
|
|
58
|
-
return Object.assign(Object.assign({}, state), facetState);
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=collectionState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collectionState.js","sourceRoot":"","sources":["../../../src/search/collectionState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;GASG;AAEH,MAAM,UAAU,oBAAoB,CAClC,UAAuB,EACvB,KAAuB;IAEvB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAExC,sBAAsB;IACtB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;KACpC;IAED,mBAAmB;IACnB,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpE,qDAAqD;IACrD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,oDAAoD;QACpD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1C,MAAM,UAAU,GAAG,EAAiB,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAC3C;aAAM;YACL,sCAAsC;YACtC,8CAA8C;YAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAAC,CAAC;IAEH,EAAE;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAuB;IAEvB,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,IAAI,UAAU,CAAC,YAAY,EAAE;QAC3B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC;KACvC;IAED,IAAI,UAAU,CAAC,UAAU,EAAE;QACzB,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACxD;IAED,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC/D,uCAAY,CAAC,GAAK,mBAAmB,CAAC,KAAK,CAAC,EAAG;IACjD,CAAC,EAAE,EAAiB,CAAC,CAAC;IAEtB,uCAAY,KAAK,GAAK,UAAU,EAAG;AACrC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=IFacet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFacet.js","sourceRoot":"","sources":["../../../../src/search/types/IFacet.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=IFacetOption.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFacetOption.js","sourceRoot":"","sources":["../../../../src/search/types/IFacetOption.ts"],"names":[],"mappings":""}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { cloneObject } from "../../util";
|
|
2
|
-
/**
|
|
3
|
-
* @private
|
|
4
|
-
* Apply the sortState to SortOptions
|
|
5
|
-
*
|
|
6
|
-
* @param sortOptions
|
|
7
|
-
* @param sortState
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export function applySortState(sortOptions, sortState) {
|
|
11
|
-
var updated = cloneObject(sortOptions);
|
|
12
|
-
if (sortState) {
|
|
13
|
-
var _a = sortState.split("|"), label = _a[0], attribute = _a[1], order = _a[2];
|
|
14
|
-
updated.label = label;
|
|
15
|
-
updated.attribute = attribute;
|
|
16
|
-
updated.order = order;
|
|
17
|
-
}
|
|
18
|
-
return updated;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @private
|
|
22
|
-
* Apply FacetState to a Facet
|
|
23
|
-
* @param facet
|
|
24
|
-
* @param state
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
export function applyFacetState(facet, state) {
|
|
28
|
-
var updated = cloneObject(facet);
|
|
29
|
-
switch (facet.display) {
|
|
30
|
-
case "single-select":
|
|
31
|
-
updated = applySingleSelectFacetState(facet, state);
|
|
32
|
-
break;
|
|
33
|
-
case "multi-select":
|
|
34
|
-
updated = applyMultiSelectFacetState(facet, state);
|
|
35
|
-
break;
|
|
36
|
-
case "date-range":
|
|
37
|
-
break;
|
|
38
|
-
case "histogram":
|
|
39
|
-
break;
|
|
40
|
-
default:
|
|
41
|
-
// no default behavior
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
return updated;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @private
|
|
48
|
-
* Apply the Facet State onto a single-select facet
|
|
49
|
-
*
|
|
50
|
-
* Intentionally mutates the facet.
|
|
51
|
-
* @param facet
|
|
52
|
-
* @param state
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
export function applySingleSelectFacetState(facet, state) {
|
|
56
|
-
var updated = cloneObject(facet);
|
|
57
|
-
updated.options = updated.options.map(function (o) {
|
|
58
|
-
o.selected = o.key === state[facet.key];
|
|
59
|
-
return o;
|
|
60
|
-
});
|
|
61
|
-
return updated;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* @private
|
|
65
|
-
* Serialize single-select facet into IFacetState
|
|
66
|
-
* @param facet
|
|
67
|
-
* @returns
|
|
68
|
-
*/
|
|
69
|
-
export function serializeSingleSelectFacetState(facet) {
|
|
70
|
-
var state = {};
|
|
71
|
-
var selected = facet.options.find(function (o) { return o.selected; });
|
|
72
|
-
if (selected) {
|
|
73
|
-
state[facet.key] = selected.key;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
state[facet.key] = null;
|
|
77
|
-
}
|
|
78
|
-
return state;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* @private
|
|
82
|
-
* Apply the Facet State onto a multi-select Facet
|
|
83
|
-
*
|
|
84
|
-
* Intentionally mutates the facet.
|
|
85
|
-
* @param facet
|
|
86
|
-
* @param state
|
|
87
|
-
* @returns
|
|
88
|
-
*/
|
|
89
|
-
export function applyMultiSelectFacetState(facet, state) {
|
|
90
|
-
var _a;
|
|
91
|
-
var updated = cloneObject(facet);
|
|
92
|
-
var selectedKeys = ((_a = state[facet.key]) === null || _a === void 0 ? void 0 : _a.split(",")) || [];
|
|
93
|
-
updated.options = updated.options.map(function (o) {
|
|
94
|
-
o.selected = selectedKeys.includes(o.key);
|
|
95
|
-
return o;
|
|
96
|
-
});
|
|
97
|
-
return updated;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* @private
|
|
101
|
-
* Serialize multi-select facet into IFacetState
|
|
102
|
-
* @param facet
|
|
103
|
-
* @returns
|
|
104
|
-
*/
|
|
105
|
-
export function serializeMultiSelectFacetState(facet) {
|
|
106
|
-
var state = {};
|
|
107
|
-
var selected = facet.options.filter(function (o) { return o.selected; });
|
|
108
|
-
var value = selected.map(function (o) { return o.key; }).join(",");
|
|
109
|
-
if (value.length) {
|
|
110
|
-
state[facet.key] = value;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
state[facet.key] = null;
|
|
114
|
-
}
|
|
115
|
-
return state;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* @private
|
|
119
|
-
* Serialize the state of the SortOption into a key/value pair
|
|
120
|
-
*
|
|
121
|
-
* Called from the Sort component
|
|
122
|
-
* @param sort
|
|
123
|
-
* @returns
|
|
124
|
-
*/
|
|
125
|
-
export function serializeSortState(sort) {
|
|
126
|
-
return sort.label + "|" + sort.attribute + "|" + sort.order;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* @private
|
|
130
|
-
* Serialize the state of a facet into a key/value pair
|
|
131
|
-
*
|
|
132
|
-
* Called from the various facet components
|
|
133
|
-
* @param facet
|
|
134
|
-
* @returns
|
|
135
|
-
*/
|
|
136
|
-
export function serializeFacetState(facet) {
|
|
137
|
-
var state = {};
|
|
138
|
-
switch (facet.display) {
|
|
139
|
-
case "single-select":
|
|
140
|
-
state = serializeSingleSelectFacetState(facet);
|
|
141
|
-
break;
|
|
142
|
-
case "multi-select":
|
|
143
|
-
state = serializeMultiSelectFacetState(facet);
|
|
144
|
-
break;
|
|
145
|
-
case "date-range":
|
|
146
|
-
break;
|
|
147
|
-
case "histogram":
|
|
148
|
-
break;
|
|
149
|
-
default:
|
|
150
|
-
// no default behavior
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
return state;
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/_internal/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
|
-
import { cloneObject } from "../util";
|
|
3
|
-
import { applySortState, applyFacetState, serializeFacetState, serializeSortState, } from "./_internal/state";
|
|
4
|
-
/**
|
|
5
|
-
* Apply ICollectionState to an ICollection
|
|
6
|
-
*
|
|
7
|
-
* Typically used in a Gallery or Catalog component to
|
|
8
|
-
* set the inital state, based on values deserialized
|
|
9
|
-
* from a query string
|
|
10
|
-
* @param collection
|
|
11
|
-
* @param state
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
export function applyCollectionState(collection, state) {
|
|
15
|
-
var updated = cloneObject(collection);
|
|
16
|
-
// Apply default query
|
|
17
|
-
if (state.query) {
|
|
18
|
-
updated.defaultQuery = state.query;
|
|
19
|
-
}
|
|
20
|
-
// Apply Sort State
|
|
21
|
-
updated.sortOption = applySortState(updated.sortOption, state.sort);
|
|
22
|
-
// Look for state props for the facets and apply them
|
|
23
|
-
updated.facets = updated.facets.map(function (facet) {
|
|
24
|
-
// see if there is a key for this facet on the state
|
|
25
|
-
if (Object.keys(state).includes(facet.key)) {
|
|
26
|
-
var facetState = {};
|
|
27
|
-
facetState[facet.key] = state[facet.key];
|
|
28
|
-
return applyFacetState(facet, facetState);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
// Ensure all options are not selected
|
|
32
|
-
// because they were not included in the state
|
|
33
|
-
facet.options.forEach(function (opt) {
|
|
34
|
-
opt.selected = false;
|
|
35
|
-
});
|
|
36
|
-
return facet;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
//
|
|
40
|
-
return updated;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Serialize the current state of a collection into a hash that
|
|
44
|
-
* can be converted into a query string
|
|
45
|
-
* @param collection
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
export function serializeCollectionState(collection) {
|
|
49
|
-
var state = {};
|
|
50
|
-
if (collection.defaultQuery) {
|
|
51
|
-
state.query = collection.defaultQuery;
|
|
52
|
-
}
|
|
53
|
-
if (collection.sortOption) {
|
|
54
|
-
state.sort = serializeSortState(collection.sortOption);
|
|
55
|
-
}
|
|
56
|
-
var facetState = (collection.facets || []).reduce(function (s, facet) {
|
|
57
|
-
return __assign(__assign({}, s), serializeFacetState(facet));
|
|
58
|
-
}, {});
|
|
59
|
-
return __assign(__assign({}, state), facetState);
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=collectionState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collectionState.js","sourceRoot":"","sources":["../../../src/search/collectionState.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;GASG;AAEH,MAAM,UAAU,oBAAoB,CAClC,UAAuB,EACvB,KAAuB;IAEvB,IAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAExC,sBAAsB;IACtB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;KACpC;IAED,mBAAmB;IACnB,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpE,qDAAqD;IACrD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK;QACxC,oDAAoD;QACpD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAM,UAAU,GAAG,EAAiB,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAC3C;aAAM;YACL,sCAAsC;YACtC,8CAA8C;YAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG;gBACxB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAAC,CAAC;IAEH,EAAE;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAuB;IAEvB,IAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,IAAI,UAAU,CAAC,YAAY,EAAE;QAC3B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC;KACvC;IAED,IAAI,UAAU,CAAC,UAAU,EAAE;QACzB,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACxD;IAED,IAAM,UAAU,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,KAAK;QAC3D,6BAAY,CAAC,GAAK,mBAAmB,CAAC,KAAK,CAAC,EAAG;IACjD,CAAC,EAAE,EAAiB,CAAC,CAAC;IAEtB,6BAAY,KAAK,GAAK,UAAU,EAAG;AACrC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=IFacet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFacet.js","sourceRoot":"","sources":["../../../../src/search/types/IFacet.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=IFacetOption.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFacetOption.js","sourceRoot":"","sources":["../../../../src/search/types/IFacetOption.ts"],"names":[],"mappings":""}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serializeFacetState = exports.serializeSortState = exports.serializeMultiSelectFacetState = exports.applyMultiSelectFacetState = exports.serializeSingleSelectFacetState = exports.applySingleSelectFacetState = exports.applyFacetState = exports.applySortState = void 0;
|
|
4
|
-
const util_1 = require("../../util");
|
|
5
|
-
/**
|
|
6
|
-
* @private
|
|
7
|
-
* Apply the sortState to SortOptions
|
|
8
|
-
*
|
|
9
|
-
* @param sortOptions
|
|
10
|
-
* @param sortState
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
function applySortState(sortOptions, sortState) {
|
|
14
|
-
const updated = util_1.cloneObject(sortOptions);
|
|
15
|
-
if (sortState) {
|
|
16
|
-
const [label, attribute, order] = sortState.split("|");
|
|
17
|
-
updated.label = label;
|
|
18
|
-
updated.attribute = attribute;
|
|
19
|
-
updated.order = order;
|
|
20
|
-
}
|
|
21
|
-
return updated;
|
|
22
|
-
}
|
|
23
|
-
exports.applySortState = applySortState;
|
|
24
|
-
/**
|
|
25
|
-
* @private
|
|
26
|
-
* Apply FacetState to a Facet
|
|
27
|
-
* @param facet
|
|
28
|
-
* @param state
|
|
29
|
-
* @returns
|
|
30
|
-
*/
|
|
31
|
-
function applyFacetState(facet, state) {
|
|
32
|
-
let updated = util_1.cloneObject(facet);
|
|
33
|
-
switch (facet.display) {
|
|
34
|
-
case "single-select":
|
|
35
|
-
updated = applySingleSelectFacetState(facet, state);
|
|
36
|
-
break;
|
|
37
|
-
case "multi-select":
|
|
38
|
-
updated = applyMultiSelectFacetState(facet, state);
|
|
39
|
-
break;
|
|
40
|
-
case "date-range":
|
|
41
|
-
break;
|
|
42
|
-
case "histogram":
|
|
43
|
-
break;
|
|
44
|
-
default:
|
|
45
|
-
// no default behavior
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
return updated;
|
|
49
|
-
}
|
|
50
|
-
exports.applyFacetState = applyFacetState;
|
|
51
|
-
/**
|
|
52
|
-
* @private
|
|
53
|
-
* Apply the Facet State onto a single-select facet
|
|
54
|
-
*
|
|
55
|
-
* Intentionally mutates the facet.
|
|
56
|
-
* @param facet
|
|
57
|
-
* @param state
|
|
58
|
-
* @returns
|
|
59
|
-
*/
|
|
60
|
-
function applySingleSelectFacetState(facet, state) {
|
|
61
|
-
const updated = util_1.cloneObject(facet);
|
|
62
|
-
updated.options = updated.options.map((o) => {
|
|
63
|
-
o.selected = o.key === state[facet.key];
|
|
64
|
-
return o;
|
|
65
|
-
});
|
|
66
|
-
return updated;
|
|
67
|
-
}
|
|
68
|
-
exports.applySingleSelectFacetState = applySingleSelectFacetState;
|
|
69
|
-
/**
|
|
70
|
-
* @private
|
|
71
|
-
* Serialize single-select facet into IFacetState
|
|
72
|
-
* @param facet
|
|
73
|
-
* @returns
|
|
74
|
-
*/
|
|
75
|
-
function serializeSingleSelectFacetState(facet) {
|
|
76
|
-
const state = {};
|
|
77
|
-
const selected = facet.options.find((o) => o.selected);
|
|
78
|
-
if (selected) {
|
|
79
|
-
state[facet.key] = selected.key;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
state[facet.key] = null;
|
|
83
|
-
}
|
|
84
|
-
return state;
|
|
85
|
-
}
|
|
86
|
-
exports.serializeSingleSelectFacetState = serializeSingleSelectFacetState;
|
|
87
|
-
/**
|
|
88
|
-
* @private
|
|
89
|
-
* Apply the Facet State onto a multi-select Facet
|
|
90
|
-
*
|
|
91
|
-
* Intentionally mutates the facet.
|
|
92
|
-
* @param facet
|
|
93
|
-
* @param state
|
|
94
|
-
* @returns
|
|
95
|
-
*/
|
|
96
|
-
function applyMultiSelectFacetState(facet, state) {
|
|
97
|
-
var _a;
|
|
98
|
-
const updated = util_1.cloneObject(facet);
|
|
99
|
-
const selectedKeys = ((_a = state[facet.key]) === null || _a === void 0 ? void 0 : _a.split(",")) || [];
|
|
100
|
-
updated.options = updated.options.map((o) => {
|
|
101
|
-
o.selected = selectedKeys.includes(o.key);
|
|
102
|
-
return o;
|
|
103
|
-
});
|
|
104
|
-
return updated;
|
|
105
|
-
}
|
|
106
|
-
exports.applyMultiSelectFacetState = applyMultiSelectFacetState;
|
|
107
|
-
/**
|
|
108
|
-
* @private
|
|
109
|
-
* Serialize multi-select facet into IFacetState
|
|
110
|
-
* @param facet
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
function serializeMultiSelectFacetState(facet) {
|
|
114
|
-
const state = {};
|
|
115
|
-
const selected = facet.options.filter((o) => o.selected);
|
|
116
|
-
const value = selected.map((o) => o.key).join(",");
|
|
117
|
-
if (value.length) {
|
|
118
|
-
state[facet.key] = value;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
state[facet.key] = null;
|
|
122
|
-
}
|
|
123
|
-
return state;
|
|
124
|
-
}
|
|
125
|
-
exports.serializeMultiSelectFacetState = serializeMultiSelectFacetState;
|
|
126
|
-
/**
|
|
127
|
-
* @private
|
|
128
|
-
* Serialize the state of the SortOption into a key/value pair
|
|
129
|
-
*
|
|
130
|
-
* Called from the Sort component
|
|
131
|
-
* @param sort
|
|
132
|
-
* @returns
|
|
133
|
-
*/
|
|
134
|
-
function serializeSortState(sort) {
|
|
135
|
-
return `${sort.label}|${sort.attribute}|${sort.order}`;
|
|
136
|
-
}
|
|
137
|
-
exports.serializeSortState = serializeSortState;
|
|
138
|
-
/**
|
|
139
|
-
* @private
|
|
140
|
-
* Serialize the state of a facet into a key/value pair
|
|
141
|
-
*
|
|
142
|
-
* Called from the various facet components
|
|
143
|
-
* @param facet
|
|
144
|
-
* @returns
|
|
145
|
-
*/
|
|
146
|
-
function serializeFacetState(facet) {
|
|
147
|
-
let state = {};
|
|
148
|
-
switch (facet.display) {
|
|
149
|
-
case "single-select":
|
|
150
|
-
state = serializeSingleSelectFacetState(facet);
|
|
151
|
-
break;
|
|
152
|
-
case "multi-select":
|
|
153
|
-
state = serializeMultiSelectFacetState(facet);
|
|
154
|
-
break;
|
|
155
|
-
case "date-range":
|
|
156
|
-
break;
|
|
157
|
-
case "histogram":
|
|
158
|
-
break;
|
|
159
|
-
default:
|
|
160
|
-
// no default behavior
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
return state;
|
|
164
|
-
}
|
|
165
|
-
exports.serializeFacetState = serializeFacetState;
|
|
166
|
-
//# sourceMappingURL=state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/_internal/state.ts"],"names":[],"mappings":"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"}
|