@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.
Files changed (102) hide show
  1. package/dist/es2017/search/_internal/hubSearchItems.js +0 -43
  2. package/dist/es2017/search/_internal/hubSearchItems.js.map +1 -1
  3. package/dist/es2017/search/_internal/index.js +0 -1
  4. package/dist/es2017/search/_internal/index.js.map +1 -1
  5. package/dist/es2017/search/_internal/portalSearchGroups.js +0 -1
  6. package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
  7. package/dist/es2017/search/_internal/portalSearchItems.js +1 -4
  8. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  9. package/dist/es2017/search/_internal/portalSearchUsers.js +0 -1
  10. package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
  11. package/dist/es2017/search/_searchContent.js +1 -5
  12. package/dist/es2017/search/_searchContent.js.map +1 -1
  13. package/dist/es2017/search/_searchGroups.js.map +1 -1
  14. package/dist/es2017/search/content-utils.js +2 -67
  15. package/dist/es2017/search/content-utils.js.map +1 -1
  16. package/dist/es2017/search/index.js +0 -1
  17. package/dist/es2017/search/index.js.map +1 -1
  18. package/dist/es2017/search/types/index.js +0 -2
  19. package/dist/es2017/search/types/index.js.map +1 -1
  20. package/dist/es2017/types.js.map +1 -1
  21. package/dist/esm/search/_internal/hubSearchItems.js +1 -45
  22. package/dist/esm/search/_internal/hubSearchItems.js.map +1 -1
  23. package/dist/esm/search/_internal/index.js +0 -1
  24. package/dist/esm/search/_internal/index.js.map +1 -1
  25. package/dist/esm/search/_internal/portalSearchGroups.js +0 -1
  26. package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
  27. package/dist/esm/search/_internal/portalSearchItems.js +2 -4
  28. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  29. package/dist/esm/search/_internal/portalSearchUsers.js +0 -1
  30. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  31. package/dist/esm/search/_searchContent.js +1 -5
  32. package/dist/esm/search/_searchContent.js.map +1 -1
  33. package/dist/esm/search/_searchGroups.js.map +1 -1
  34. package/dist/esm/search/content-utils.js +2 -70
  35. package/dist/esm/search/content-utils.js.map +1 -1
  36. package/dist/esm/search/index.js +0 -1
  37. package/dist/esm/search/index.js.map +1 -1
  38. package/dist/esm/search/types/index.js +0 -2
  39. package/dist/esm/search/types/index.js.map +1 -1
  40. package/dist/esm/types.js.map +1 -1
  41. package/dist/node/search/_internal/hubSearchItems.js +1 -45
  42. package/dist/node/search/_internal/hubSearchItems.js.map +1 -1
  43. package/dist/node/search/_internal/index.js +0 -1
  44. package/dist/node/search/_internal/index.js.map +1 -1
  45. package/dist/node/search/_internal/portalSearchGroups.js +0 -1
  46. package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
  47. package/dist/node/search/_internal/portalSearchItems.js +0 -3
  48. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  49. package/dist/node/search/_internal/portalSearchUsers.js +0 -1
  50. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  51. package/dist/node/search/_searchContent.js +0 -4
  52. package/dist/node/search/_searchContent.js.map +1 -1
  53. package/dist/node/search/_searchGroups.js.map +1 -1
  54. package/dist/node/search/content-utils.js +3 -70
  55. package/dist/node/search/content-utils.js.map +1 -1
  56. package/dist/node/search/index.js +0 -1
  57. package/dist/node/search/index.js.map +1 -1
  58. package/dist/node/search/types/index.js +0 -2
  59. package/dist/node/search/types/index.js.map +1 -1
  60. package/dist/node/types.js.map +1 -1
  61. package/dist/types/search/_internal/hubSearchItems.d.ts +1 -2
  62. package/dist/types/search/_internal/index.d.ts +0 -1
  63. package/dist/types/search/_searchGroups.d.ts +1 -5
  64. package/dist/types/search/content-utils.d.ts +1 -18
  65. package/dist/types/search/index.d.ts +0 -1
  66. package/dist/types/search/types/ICatalog.d.ts +0 -5
  67. package/dist/types/search/types/ICollection.d.ts +0 -2
  68. package/dist/types/search/types/IHubSearchResponse.d.ts +0 -5
  69. package/dist/types/search/types/index.d.ts +0 -2
  70. package/dist/types/search/types/types.d.ts +0 -2
  71. package/dist/types/types.d.ts +0 -2
  72. package/dist/umd/common.umd.js +3 -327
  73. package/dist/umd/common.umd.js.map +1 -1
  74. package/package.json +1 -1
  75. package/dist/es2017/search/_internal/state.js +0 -155
  76. package/dist/es2017/search/_internal/state.js.map +0 -1
  77. package/dist/es2017/search/collectionState.js +0 -60
  78. package/dist/es2017/search/collectionState.js.map +0 -1
  79. package/dist/es2017/search/types/IFacet.js +0 -1
  80. package/dist/es2017/search/types/IFacet.js.map +0 -1
  81. package/dist/es2017/search/types/IFacetOption.js +0 -1
  82. package/dist/es2017/search/types/IFacetOption.js.map +0 -1
  83. package/dist/esm/search/_internal/state.js +0 -155
  84. package/dist/esm/search/_internal/state.js.map +0 -1
  85. package/dist/esm/search/collectionState.js +0 -61
  86. package/dist/esm/search/collectionState.js.map +0 -1
  87. package/dist/esm/search/types/IFacet.js +0 -1
  88. package/dist/esm/search/types/IFacet.js.map +0 -1
  89. package/dist/esm/search/types/IFacetOption.js +0 -1
  90. package/dist/esm/search/types/IFacetOption.js.map +0 -1
  91. package/dist/node/search/_internal/state.js +0 -166
  92. package/dist/node/search/_internal/state.js.map +0 -1
  93. package/dist/node/search/collectionState.js +0 -65
  94. package/dist/node/search/collectionState.js.map +0 -1
  95. package/dist/node/search/types/IFacet.js +0 -3
  96. package/dist/node/search/types/IFacet.js.map +0 -1
  97. package/dist/node/search/types/IFacetOption.js +0 -3
  98. package/dist/node/search/types/IFacetOption.js.map +0 -1
  99. package/dist/types/search/_internal/state.d.ts +0 -70
  100. package/dist/types/search/collectionState.d.ts +0 -19
  101. package/dist/types/search/types/IFacet.d.ts +0 -62
  102. package/dist/types/search/types/IFacetOption.d.ts +0 -30
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "9.49.0",
3
+ "version": "10.0.0-next.1",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "unpkg": "dist/umd/common.umd.js",
@@ -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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"}