@esri/hub-common 9.48.0 → 10.0.0-next.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.
Files changed (248) hide show
  1. package/dist/es2017/core/traits/WithCatalog.js +1 -0
  2. package/dist/es2017/core/traits/WithCatalog.js.map +1 -0
  3. package/dist/es2017/index.js +1 -0
  4. package/dist/es2017/index.js.map +1 -1
  5. package/dist/es2017/projects/HubProjects.js.map +1 -1
  6. package/dist/es2017/search/Catalog.js +346 -0
  7. package/dist/es2017/search/Catalog.js.map +1 -0
  8. package/dist/es2017/search/Collection.js +38 -19
  9. package/dist/es2017/search/Collection.js.map +1 -1
  10. package/dist/es2017/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  11. package/dist/es2017/search/_internal/expandPredicate.js.map +1 -0
  12. package/dist/es2017/search/_internal/hubSearchItems.js +3 -137
  13. package/dist/es2017/search/_internal/hubSearchItems.js.map +1 -1
  14. package/dist/es2017/search/_internal/index.js +0 -1
  15. package/dist/es2017/search/_internal/index.js.map +1 -1
  16. package/dist/es2017/search/_internal/portalSearchGroups.js +1 -2
  17. package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
  18. package/dist/es2017/search/_internal/portalSearchItems.js +5 -30
  19. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  20. package/dist/es2017/search/_internal/portalSearchUsers.js +1 -2
  21. package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
  22. package/dist/es2017/search/fetchCatalog.js +46 -0
  23. package/dist/es2017/search/fetchCatalog.js.map +1 -0
  24. package/dist/es2017/search/hubSearch.js +1 -1
  25. package/dist/es2017/search/hubSearch.js.map +1 -1
  26. package/dist/es2017/search/index.js +3 -9
  27. package/dist/es2017/search/index.js.map +1 -1
  28. package/dist/es2017/search/serializeQueryForPortal.js +1 -1
  29. package/dist/es2017/search/serializeQueryForPortal.js.map +1 -1
  30. package/dist/es2017/search/types/index.js +0 -5
  31. package/dist/es2017/search/types/index.js.map +1 -1
  32. package/dist/es2017/search/upgradeCatalogSchema.js +66 -0
  33. package/dist/es2017/search/upgradeCatalogSchema.js.map +1 -0
  34. package/dist/es2017/search/utils.js +1 -207
  35. package/dist/es2017/search/utils.js.map +1 -1
  36. package/dist/es2017/types/IMessage.js +1 -0
  37. package/dist/es2017/types/IMessage.js.map +1 -0
  38. package/dist/es2017/types/index.js +2 -0
  39. package/dist/es2017/types/index.js.map +1 -0
  40. package/dist/es2017/types.js.map +1 -1
  41. package/dist/esm/core/traits/WithCatalog.js +1 -0
  42. package/dist/esm/core/traits/WithCatalog.js.map +1 -0
  43. package/dist/esm/index.js +1 -0
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/projects/HubProjects.js.map +1 -1
  46. package/dist/esm/search/Catalog.js +404 -0
  47. package/dist/esm/search/Catalog.js.map +1 -0
  48. package/dist/esm/search/Collection.js +40 -24
  49. package/dist/esm/search/Collection.js.map +1 -1
  50. package/dist/esm/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  51. package/dist/esm/search/_internal/expandPredicate.js.map +1 -0
  52. package/dist/esm/search/_internal/hubSearchItems.js +4 -146
  53. package/dist/esm/search/_internal/hubSearchItems.js.map +1 -1
  54. package/dist/esm/search/_internal/index.js +0 -1
  55. package/dist/esm/search/_internal/index.js.map +1 -1
  56. package/dist/esm/search/_internal/portalSearchGroups.js +1 -2
  57. package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
  58. package/dist/esm/search/_internal/portalSearchItems.js +6 -30
  59. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  60. package/dist/esm/search/_internal/portalSearchUsers.js +1 -2
  61. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  62. package/dist/esm/search/fetchCatalog.js +59 -0
  63. package/dist/esm/search/fetchCatalog.js.map +1 -0
  64. package/dist/esm/search/hubSearch.js +1 -1
  65. package/dist/esm/search/hubSearch.js.map +1 -1
  66. package/dist/esm/search/index.js +3 -9
  67. package/dist/esm/search/index.js.map +1 -1
  68. package/dist/esm/search/serializeQueryForPortal.js +1 -1
  69. package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
  70. package/dist/esm/search/types/index.js +0 -5
  71. package/dist/esm/search/types/index.js.map +1 -1
  72. package/dist/esm/search/upgradeCatalogSchema.js +66 -0
  73. package/dist/esm/search/upgradeCatalogSchema.js.map +1 -0
  74. package/dist/esm/search/utils.js +1 -204
  75. package/dist/esm/search/utils.js.map +1 -1
  76. package/dist/esm/types/IMessage.js +1 -0
  77. package/dist/esm/types/IMessage.js.map +1 -0
  78. package/dist/esm/types/index.js +2 -0
  79. package/dist/esm/types/index.js.map +1 -0
  80. package/dist/esm/types.js.map +1 -1
  81. package/dist/node/{search/types/ICollection.js → core/traits/WithCatalog.js} +1 -1
  82. package/dist/node/core/traits/WithCatalog.js.map +1 -0
  83. package/dist/node/index.js +1 -0
  84. package/dist/node/index.js.map +1 -1
  85. package/dist/node/projects/HubProjects.js.map +1 -1
  86. package/dist/node/search/Catalog.js +350 -0
  87. package/dist/node/search/Catalog.js.map +1 -0
  88. package/dist/node/search/Collection.js +37 -18
  89. package/dist/node/search/Collection.js.map +1 -1
  90. package/dist/node/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  91. package/dist/node/search/_internal/expandPredicate.js.map +1 -0
  92. package/dist/node/search/_internal/hubSearchItems.js +4 -139
  93. package/dist/node/search/_internal/hubSearchItems.js.map +1 -1
  94. package/dist/node/search/_internal/index.js +0 -1
  95. package/dist/node/search/_internal/index.js.map +1 -1
  96. package/dist/node/search/_internal/portalSearchGroups.js +2 -3
  97. package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
  98. package/dist/node/search/_internal/portalSearchItems.js +6 -31
  99. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  100. package/dist/node/search/_internal/portalSearchUsers.js +2 -3
  101. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  102. package/dist/node/search/fetchCatalog.js +50 -0
  103. package/dist/node/search/fetchCatalog.js.map +1 -0
  104. package/dist/node/search/hubSearch.js +1 -1
  105. package/dist/node/search/hubSearch.js.map +1 -1
  106. package/dist/node/search/index.js +3 -9
  107. package/dist/node/search/index.js.map +1 -1
  108. package/dist/node/search/serializeQueryForPortal.js +2 -2
  109. package/dist/node/search/serializeQueryForPortal.js.map +1 -1
  110. package/dist/node/search/types/index.js +0 -5
  111. package/dist/node/search/types/index.js.map +1 -1
  112. package/dist/node/search/upgradeCatalogSchema.js +71 -0
  113. package/dist/node/search/upgradeCatalogSchema.js.map +1 -0
  114. package/dist/node/search/utils.js +1 -213
  115. package/dist/node/search/utils.js.map +1 -1
  116. package/dist/node/{search/types/ICatalog.js → types/IMessage.js} +1 -1
  117. package/dist/node/types/IMessage.js.map +1 -0
  118. package/dist/node/types/index.js +5 -0
  119. package/dist/node/types/index.js.map +1 -0
  120. package/dist/node/types.js.map +1 -1
  121. package/dist/types/core/traits/WithCatalog.d.ts +7 -0
  122. package/dist/types/index.d.ts +1 -0
  123. package/dist/types/search/Catalog.d.ts +143 -0
  124. package/dist/types/search/Collection.d.ts +23 -2
  125. package/dist/types/search/_internal/{ipredicate-utils.d.ts → expandPredicate.d.ts} +0 -0
  126. package/dist/types/search/_internal/hubSearchItems.d.ts +3 -4
  127. package/dist/types/search/_internal/index.d.ts +0 -1
  128. package/dist/types/search/_internal/portalSearchItems.d.ts +15 -15
  129. package/dist/types/search/fetchCatalog.d.ts +10 -0
  130. package/dist/types/search/index.d.ts +3 -9
  131. package/dist/types/search/types/IHubSearchOptions.d.ts +5 -1
  132. package/dist/types/search/types/IHubSearchResponse.d.ts +3 -3
  133. package/dist/types/search/types/index.d.ts +0 -5
  134. package/dist/types/search/types/types.d.ts +0 -206
  135. package/dist/types/search/upgradeCatalogSchema.d.ts +12 -0
  136. package/dist/types/search/utils.d.ts +2 -58
  137. package/dist/types/types/IMessage.d.ts +32 -0
  138. package/dist/types/types/index.d.ts +1 -0
  139. package/dist/types/types.d.ts +0 -2
  140. package/dist/umd/common.umd.js +1374 -2450
  141. package/dist/umd/common.umd.js.map +1 -1
  142. package/package.json +1 -1
  143. package/dist/es2017/search/_internal/ipredicate-utils.js.map +0 -1
  144. package/dist/es2017/search/_internal/state.js +0 -155
  145. package/dist/es2017/search/_internal/state.js.map +0 -1
  146. package/dist/es2017/search/_searchContent.js +0 -116
  147. package/dist/es2017/search/_searchContent.js.map +0 -1
  148. package/dist/es2017/search/_searchGroups.js +0 -88
  149. package/dist/es2017/search/_searchGroups.js.map +0 -1
  150. package/dist/es2017/search/_searchUsers.js +0 -89
  151. package/dist/es2017/search/_searchUsers.js.map +0 -1
  152. package/dist/es2017/search/collectionState.js +0 -60
  153. package/dist/es2017/search/collectionState.js.map +0 -1
  154. package/dist/es2017/search/content-utils.js +0 -455
  155. package/dist/es2017/search/content-utils.js.map +0 -1
  156. package/dist/es2017/search/convertCatalog.js +0 -33
  157. package/dist/es2017/search/convertCatalog.js.map +0 -1
  158. package/dist/es2017/search/filter-utils.js +0 -31
  159. package/dist/es2017/search/filter-utils.js.map +0 -1
  160. package/dist/es2017/search/group-utils.js +0 -142
  161. package/dist/es2017/search/group-utils.js.map +0 -1
  162. package/dist/es2017/search/types/ICatalog.js +0 -1
  163. package/dist/es2017/search/types/ICatalog.js.map +0 -1
  164. package/dist/es2017/search/types/ICollection.js +0 -1
  165. package/dist/es2017/search/types/ICollection.js.map +0 -1
  166. package/dist/es2017/search/types/IFacet.js +0 -1
  167. package/dist/es2017/search/types/IFacet.js.map +0 -1
  168. package/dist/es2017/search/types/IFacetOption.js +0 -1
  169. package/dist/es2017/search/types/IFacetOption.js.map +0 -1
  170. package/dist/es2017/search/types/IHubApiSearchRequest.js +0 -1
  171. package/dist/es2017/search/types/IHubApiSearchRequest.js.map +0 -1
  172. package/dist/es2017/search/user-utils.js +0 -139
  173. package/dist/es2017/search/user-utils.js.map +0 -1
  174. package/dist/esm/search/_internal/ipredicate-utils.js.map +0 -1
  175. package/dist/esm/search/_internal/state.js +0 -155
  176. package/dist/esm/search/_internal/state.js.map +0 -1
  177. package/dist/esm/search/_searchContent.js +0 -118
  178. package/dist/esm/search/_searchContent.js.map +0 -1
  179. package/dist/esm/search/_searchGroups.js +0 -91
  180. package/dist/esm/search/_searchGroups.js.map +0 -1
  181. package/dist/esm/search/_searchUsers.js +0 -92
  182. package/dist/esm/search/_searchUsers.js.map +0 -1
  183. package/dist/esm/search/collectionState.js +0 -61
  184. package/dist/esm/search/collectionState.js.map +0 -1
  185. package/dist/esm/search/content-utils.js +0 -462
  186. package/dist/esm/search/content-utils.js.map +0 -1
  187. package/dist/esm/search/convertCatalog.js +0 -33
  188. package/dist/esm/search/convertCatalog.js.map +0 -1
  189. package/dist/esm/search/filter-utils.js +0 -31
  190. package/dist/esm/search/filter-utils.js.map +0 -1
  191. package/dist/esm/search/group-utils.js +0 -146
  192. package/dist/esm/search/group-utils.js.map +0 -1
  193. package/dist/esm/search/types/ICatalog.js +0 -1
  194. package/dist/esm/search/types/ICatalog.js.map +0 -1
  195. package/dist/esm/search/types/ICollection.js +0 -1
  196. package/dist/esm/search/types/ICollection.js.map +0 -1
  197. package/dist/esm/search/types/IFacet.js +0 -1
  198. package/dist/esm/search/types/IFacet.js.map +0 -1
  199. package/dist/esm/search/types/IFacetOption.js +0 -1
  200. package/dist/esm/search/types/IFacetOption.js.map +0 -1
  201. package/dist/esm/search/types/IHubApiSearchRequest.js +0 -1
  202. package/dist/esm/search/types/IHubApiSearchRequest.js.map +0 -1
  203. package/dist/esm/search/user-utils.js +0 -143
  204. package/dist/esm/search/user-utils.js.map +0 -1
  205. package/dist/node/search/_internal/ipredicate-utils.js.map +0 -1
  206. package/dist/node/search/_internal/state.js +0 -166
  207. package/dist/node/search/_internal/state.js.map +0 -1
  208. package/dist/node/search/_searchContent.js +0 -120
  209. package/dist/node/search/_searchContent.js.map +0 -1
  210. package/dist/node/search/_searchGroups.js +0 -92
  211. package/dist/node/search/_searchGroups.js.map +0 -1
  212. package/dist/node/search/_searchUsers.js +0 -93
  213. package/dist/node/search/_searchUsers.js.map +0 -1
  214. package/dist/node/search/collectionState.js +0 -65
  215. package/dist/node/search/collectionState.js.map +0 -1
  216. package/dist/node/search/content-utils.js +0 -466
  217. package/dist/node/search/content-utils.js.map +0 -1
  218. package/dist/node/search/convertCatalog.js +0 -37
  219. package/dist/node/search/convertCatalog.js.map +0 -1
  220. package/dist/node/search/filter-utils.js +0 -36
  221. package/dist/node/search/filter-utils.js.map +0 -1
  222. package/dist/node/search/group-utils.js +0 -148
  223. package/dist/node/search/group-utils.js.map +0 -1
  224. package/dist/node/search/types/ICatalog.js.map +0 -1
  225. package/dist/node/search/types/ICollection.js.map +0 -1
  226. package/dist/node/search/types/IFacet.js +0 -3
  227. package/dist/node/search/types/IFacet.js.map +0 -1
  228. package/dist/node/search/types/IFacetOption.js +0 -3
  229. package/dist/node/search/types/IFacetOption.js.map +0 -1
  230. package/dist/node/search/types/IHubApiSearchRequest.js +0 -3
  231. package/dist/node/search/types/IHubApiSearchRequest.js.map +0 -1
  232. package/dist/node/search/user-utils.js +0 -145
  233. package/dist/node/search/user-utils.js.map +0 -1
  234. package/dist/types/search/_internal/state.d.ts +0 -70
  235. package/dist/types/search/_searchContent.d.ts +0 -9
  236. package/dist/types/search/_searchGroups.d.ts +0 -17
  237. package/dist/types/search/_searchUsers.d.ts +0 -31
  238. package/dist/types/search/collectionState.d.ts +0 -19
  239. package/dist/types/search/content-utils.d.ts +0 -83
  240. package/dist/types/search/convertCatalog.d.ts +0 -6
  241. package/dist/types/search/filter-utils.d.ts +0 -13
  242. package/dist/types/search/group-utils.d.ts +0 -36
  243. package/dist/types/search/types/ICatalog.d.ts +0 -87
  244. package/dist/types/search/types/ICollection.d.ts +0 -28
  245. package/dist/types/search/types/IFacet.d.ts +0 -62
  246. package/dist/types/search/types/IFacetOption.d.ts +0 -30
  247. package/dist/types/search/types/IHubApiSearchRequest.d.ts +0 -16
  248. package/dist/types/search/user-utils.d.ts +0 -35
@@ -1,462 +0,0 @@
1
- import { __spreadArrays } from "tslib";
2
- import { cloneObject, Logger } from "..";
3
- import { mergeDateRange, mergeMatchOptions, mergeSearchOptions, relativeDateToDateRange, serializeDateRange, serializeMatchOptions, valueToMatchOptions, } from "./utils";
4
- // TODO: Remove with _searchContent
5
- // TODO: Implement $dataset
6
- var ContentFilterExpansions = {
7
- $apps: [
8
- {
9
- type: {
10
- any: [
11
- "Code Sample",
12
- "Web Mapping Application",
13
- "Mobile Application",
14
- "Application",
15
- "Desktop Application Template",
16
- "Desktop Application",
17
- "Operation View",
18
- "Dashboard",
19
- "Operations Dashboard Extension",
20
- "Workforce Project",
21
- "Insights Workbook",
22
- "Insights Page",
23
- "Insights Model",
24
- "Hub Page",
25
- "Hub Initiative",
26
- "Hub Site Application",
27
- "StoryMap",
28
- "Web Experience",
29
- "Web Experience Template",
30
- "Form",
31
- ],
32
- not: [
33
- "Code Attachment",
34
- "Featured Items",
35
- "Symbol Set",
36
- "Color Set",
37
- "Windows Viewer Add In",
38
- "Windows Viewer Configuration",
39
- "Map Area",
40
- "Indoors Map Configuration",
41
- ],
42
- },
43
- typekeywords: {
44
- not: ["MapAreaPackage", "SMX"],
45
- },
46
- },
47
- ],
48
- $storymap: [
49
- {
50
- type: "StoryMap",
51
- },
52
- {
53
- type: "Web Mapping Application",
54
- typekeywords: ["Story Map"],
55
- },
56
- ],
57
- $dashboard: [
58
- {
59
- type: "Dashboard",
60
- typekeywords: {
61
- any: ["Dashboard"],
62
- not: ["ArcGIS Operation View", "Add In", "Extension"],
63
- },
64
- },
65
- ],
66
- $dataset: [],
67
- $experience: [
68
- {
69
- type: {
70
- any: ["Web Experience"],
71
- not: ["Web Experience Template"],
72
- },
73
- },
74
- ],
75
- $site: [
76
- {
77
- type: ["Hub Site Application", "Site Application"],
78
- },
79
- {
80
- type: ["Web Mapping Application"],
81
- typekeywords: ["hubSite"],
82
- },
83
- ],
84
- $initiative: [
85
- {
86
- type: {
87
- any: "Hub Initiative",
88
- not: "Hub Initiative Template",
89
- },
90
- },
91
- ],
92
- $document: [
93
- {
94
- typekeywords: {
95
- any: "Document",
96
- not: ["MapAreaPackage", "SMX"],
97
- },
98
- type: {
99
- any: [
100
- "Image",
101
- "Layout",
102
- "Desktop Style",
103
- "Project Template",
104
- "Report Template",
105
- "Pro Report",
106
- "Statistical Data Collection",
107
- "360 VR Experience",
108
- "netCDF",
109
- "PDF",
110
- "CSV",
111
- "Administrative Report",
112
- "Raster function template",
113
- ],
114
- not: [
115
- "Image Service",
116
- "Explorer Document",
117
- "Explorer Map",
118
- "Globe Document",
119
- "Scene Document",
120
- "Code Attachment",
121
- "Featured Items",
122
- "Symbol Set",
123
- "ColorSet",
124
- "Windows Viewer Add In",
125
- "Windows Viewer Configuration",
126
- "Map Area",
127
- "Indoors Map Configuration",
128
- ],
129
- },
130
- },
131
- ],
132
- };
133
- /**
134
- * @private
135
- * Convert portal search response to facets
136
- * Note: Only applicable to an item search
137
- * @param response
138
- * @returns
139
- */
140
- // TODO: Remove with _searchContent
141
- export function convertPortalResponseToFacets(response, operation) {
142
- if (operation === void 0) { operation = "OR"; }
143
- // delegate to a more future-friendly version
144
- return convertPortalItemResponseToFacets(response, operation, "filter");
145
- }
146
- /**
147
- * @private
148
- * Convert portal search response to facets
149
- * Note: Only applicable to an item search
150
- * @param response
151
- * @returns
152
- */
153
- export function convertPortalItemResponseToFacets(response, operation, optionProp // TODO: Remove with _searchContent and use `filters`
154
- ) {
155
- var _a;
156
- if (operation === void 0) { operation = "OR"; }
157
- if (optionProp === void 0) { optionProp = "filters"; }
158
- // TODO: move into portalSearchItems
159
- var result = [];
160
- if ((_a = response.aggregations) === null || _a === void 0 ? void 0 : _a.counts) {
161
- response.aggregations.counts.forEach(function (entry) {
162
- var facet = {
163
- label: entry.fieldName,
164
- key: entry.fieldName,
165
- aggField: entry.fieldName,
166
- display: "multi-select",
167
- };
168
- var options = [];
169
- entry.fieldValues.forEach(function (fv) {
170
- var filter = {
171
- filterType: "item",
172
- };
173
- // construct the filter based on the operation
174
- var matchKey = operation === "OR" ? "any" : "all";
175
- var filterMatchOption = {};
176
- filterMatchOption[matchKey] = [fv.value];
177
- filter[entry.fieldName] = filterMatchOption;
178
- // construct the FacetOption
179
- var fo = {
180
- label: fv.value + " (" + fv.count + ")",
181
- key: fv.value,
182
- count: fv.count,
183
- selected: false,
184
- };
185
- // Temporary to ensure the old fn can delegate to this
186
- // but we can still return the correct structure
187
- // TODO: Remove with _searchContent
188
- /* istanbul ignore next */
189
- if (optionProp === "filter") {
190
- fo.filter = filter;
191
- }
192
- else {
193
- fo.filters = [filter];
194
- }
195
- options.push(fo);
196
- });
197
- facet.options = options;
198
- result.push(facet);
199
- });
200
- }
201
- return result;
202
- }
203
- /**
204
- * Merge `Filter<"content">` objects
205
- *
206
- * Useful in components which may get partial filters from a variety of
207
- * sub-components, which are then combined into a single filter prior
208
- * to executing the search.
209
- * @param filters
210
- * @returns
211
- */
212
- export function mergeContentFilter(filters) {
213
- Logger.warn("DEPRECATION: mergeContentFilter will be removed and filters should not longer be merged. Work with IFilterGroups instead");
214
- // expand all the filters so all prop types are consistent
215
- var expanded = filters.map(expandContentFilter);
216
- // now we can merge based on fields
217
- var dateFields = ["created", "modified"];
218
- var specialFields = __spreadArrays(["filterType", "subFilters", "term"], dateFields);
219
- var result = expanded.reduce(function (acc, entry) {
220
- // process fields
221
- Object.entries(entry).forEach(function (_a) {
222
- var key = _a[0], value = _a[1];
223
- if (acc.hasOwnProperty(key)) {
224
- /* istanbul ignore else */
225
- if (!specialFields.includes(key)) {
226
- acc[key] = mergeMatchOptions(acc[key], value);
227
- }
228
- else if (dateFields.includes(key)) {
229
- acc[key] = mergeDateRange(acc[key], value);
230
- }
231
- else if (key === "term") {
232
- acc[key] = acc[key] + " " + value;
233
- }
234
- else if (key === "subFilters") {
235
- acc[key] = mergeSubFilters(acc[key], value);
236
- }
237
- }
238
- else {
239
- acc[key] = cloneObject(value);
240
- }
241
- });
242
- return acc;
243
- }, {});
244
- result.filterType = "content";
245
- return result;
246
- }
247
- function mergeSubFilters(sf1, sf2) {
248
- // Simplistic implementation: we just merge the arrays
249
- // in the future we may try to de-dupe things as a safeguard
250
- return __spreadArrays(sf1, sf2);
251
- }
252
- /**
253
- * Prior to serialization into the query syntax for the backing APIs, we first expand [Filters](../Filter)
254
- *
255
- * Filter's can express their intent in a very terse form, but to ensure consistent structures
256
- * we expand them into their more verbose form.
257
- *
258
- * i.e. `title: "Water"` expands into `title: { any: ["Water"]}`
259
- *
260
- * - "well known" type values are expanded
261
- * - i.e. `type: "$storymap"` expands into two `subFilter` entries
262
- * - Fields defined as `string | string[] | MatchOptions` will be converted to a `MatchOptions`
263
- * - RelativeDate fields are converted to DateRange<number>
264
- *
265
- * @param filter
266
- * @returns
267
- */
268
- export function expandContentFilter(filter) {
269
- Logger.warn("DEPRECATION: expandContentFilter will be removed. Work with IFilterGroups<\"item\"> instead");
270
- // Expand filter.type first
271
- var expandedTypeFilter = expandTypeField(filter);
272
- // Expand subfilters
273
- // Guard - JS Clients could send in anything...
274
- if (Array.isArray(filter.subFilters)) {
275
- // Convert any strings into the coresponding ContentFilterDefinition
276
- expandedTypeFilter.subFilters = expandedTypeFilter.subFilters.reduce(function (acc, entry) {
277
- if (typeof entry === "string") {
278
- // if the entry is not a key of ContentFilterExpansions
279
- // we just skip over it
280
- if (ContentFilterExpansions[entry]) {
281
- acc = acc.concat(ContentFilterExpansions[entry]);
282
- }
283
- }
284
- else {
285
- acc.push(entry); // should be a ContentFilterDefinition
286
- }
287
- return acc;
288
- }, []);
289
- }
290
- // Convert all props into MatchOptions/DateRanges
291
- return convertContentDefinitionToFilter(expandedTypeFilter);
292
- }
293
- /**
294
- * @private
295
- * Expand from a well-known "type" into it's longer form
296
- *
297
- * i.e. `type: "$storymap"` expands into two subFilters entries
298
- *
299
- * @param filter
300
- * @returns
301
- */
302
- export function expandTypeField(filter) {
303
- var clone = cloneObject(filter);
304
- // ensure subFilters is defined as an array
305
- clone.subFilters = clone.subFilters || [];
306
- if (clone.type) {
307
- // if .type is an Array...
308
- if (Array.isArray(clone.type)) {
309
- // remove any well-known-keys and move their expansions into subfilters
310
- clone.type = clone.type.reduce(function (acc, entry) {
311
- if (isWellKnownType(entry)) {
312
- // working with dynamic objects in typescript requires some assertions
313
- var key = entry;
314
- clone.subFilters = clone.subFilters.concat(lookupTypeFilters(key));
315
- }
316
- else {
317
- acc.push(entry);
318
- }
319
- return acc;
320
- }, []);
321
- }
322
- else if (isWellKnownType(clone.type)) {
323
- var key = clone.type;
324
- clone.subFilters = clone.subFilters.concat(lookupTypeFilters(key));
325
- delete clone.type;
326
- }
327
- else {
328
- // Future?: implement "expansions" inside MatchOptions
329
- // For now, we only attempt expansions for filter.type
330
- // if it's a string, or for strings inside an array
331
- // Unclear if it's of value to allow short-cuts inside MatchOptions
332
- }
333
- }
334
- return clone;
335
- }
336
- /**
337
- * Is the argument a well-known type "key"
338
- *
339
- * Accepts `string`, `string[]` or `IMatchOptions`
340
- * but only string values can possibly be properties
341
- * on `ContentFilterExpansions`
342
- * @param key
343
- * @returns
344
- */
345
- function isWellKnownType(key) {
346
- var result = false;
347
- if (typeof key === "string") {
348
- result = key in ContentFilterExpansions;
349
- }
350
- return result;
351
- }
352
- function lookupTypeFilters(key) {
353
- return ContentFilterExpansions[key];
354
- }
355
- /**
356
- * @private
357
- * Convert a `ContentFilterDefinition` to a `ContentFilter`
358
- *
359
- * ContentFilter is a narrower version of ContentFilterDefinition, without
360
- * the union types. Using a ContentFilter makes working with the structure
361
- * in typescript much easier.
362
- *
363
- * @param filter
364
- * @returns
365
- */
366
- export function convertContentDefinitionToFilter(filter) {
367
- // TODO: Remove with _searchContent
368
- Logger.warn("DEPRECATION: convertContentDefinitionToFilter will be removed. Work with IFilterGroups<\"item\"> instead");
369
- var result = {};
370
- if (filter.term) {
371
- result.term = filter.term;
372
- }
373
- var dateProps = ["created", "modified"];
374
- // Some properties should not get converted to MatchOptions
375
- var specialProps = __spreadArrays(["filterType", "subFilters", "term"], dateProps);
376
- // Do the conversion
377
- Object.entries(filter).forEach(function (_a) {
378
- var key = _a[0], value = _a[1];
379
- if (!specialProps.includes(key)) {
380
- result[key] = valueToMatchOptions(value);
381
- }
382
- });
383
- // Special Cases
384
- // subFilters; Array of ContentFilterDefinitions
385
- if (filter.subFilters && Array.isArray(filter.subFilters)) {
386
- // downcast - would be nice to skip this or use some other constuct
387
- var sf = filter.subFilters;
388
- result.subFilters = sf.map(convertContentDefinitionToFilter);
389
- }
390
- // Dates; Ensure they are all DateRange<number>
391
- dateProps.forEach(function (fld) {
392
- if (filter[fld]) {
393
- if (filter[fld].type === "relative-date") {
394
- result[fld] = relativeDateToDateRange(filter[fld]);
395
- }
396
- else {
397
- result[fld] = cloneObject(filter[fld]);
398
- }
399
- }
400
- });
401
- return result;
402
- }
403
- /**
404
- * @private
405
- * Serialize a `ContentFilter` into an `ISearchOptions` for use with `searchItems`
406
- * @param filter
407
- * @returns
408
- */
409
- export function serializeContentFilterForPortal(filter) {
410
- // TODO: Remove with _searchContent
411
- Logger.warn("DEPRECATION: serializeContentFilterForPortal will be removed. Work with IFilterGroups<\"item\"> and hubSearch() instead");
412
- var searchOptions = convertContentFilterToSearchOptions(filter);
413
- if (filter.subFilters) {
414
- var subFilterOptions = filter.subFilters.reduce(function (acc, entry) {
415
- // Next guard is present b/c this can be used from javascript
416
- // but our tests are written in typescript which prevents us
417
- // from hitting the else
418
- /* istanbul ignore else */
419
- if (typeof entry === "object") {
420
- acc = mergeSearchOptions(acc, convertContentFilterToSearchOptions(entry), "OR");
421
- }
422
- return acc;
423
- }, { q: "", filter: "" });
424
- // merge with searchOptions using AND
425
- searchOptions = mergeSearchOptions(searchOptions, subFilterOptions, "AND");
426
- }
427
- // term is always last, and pre-pended on searchOptions.q
428
- if (filter.term) {
429
- searchOptions.q = (filter.term + " " + searchOptions.q).trim();
430
- }
431
- return searchOptions;
432
- }
433
- /**
434
- * @private
435
- * Convert a ContentFilter to a SearchOptions
436
- *
437
- * @param filter
438
- * @returns
439
- */
440
- export function convertContentFilterToSearchOptions(filter) {
441
- // TODO: Remove with _searchContent
442
- Logger.warn("DEPRECATION: convertContentFilterToSearchOptions will be removed. Work with IFilterGroups<\"item\"> and hubSearch() instead");
443
- var result = {
444
- q: "",
445
- filter: "",
446
- };
447
- var dateProps = ["created", "modified"];
448
- var specialProps = __spreadArrays(["filterType", "subFilters", "term"], dateProps);
449
- Object.entries(filter).forEach(function (_a) {
450
- var key = _a[0], value = _a[1];
451
- // MatchOptions may go into either q or filter
452
- if (!specialProps.includes(key)) {
453
- result = mergeSearchOptions(result, serializeMatchOptions(key, value), "AND");
454
- }
455
- // Dates only go into q
456
- if (dateProps.includes(key)) {
457
- result = mergeSearchOptions(result, serializeDateRange(key, value), "AND");
458
- }
459
- });
460
- return result;
461
- }
462
- //# sourceMappingURL=content-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-utils.js","sourceRoot":"","sources":["../../../src/search/content-utils.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { getProp } from "..";
2
- /**
3
- * Convert the original site catalog structure into a formal ICatalog
4
- * @param original
5
- */
6
- export function convertCatalog(original) {
7
- var catalog = {
8
- schemaVersion: 1,
9
- title: "Default Catalog",
10
- scopes: {
11
- item: {
12
- targetEntity: "item",
13
- filters: [],
14
- },
15
- },
16
- collections: [],
17
- };
18
- var rawGroups = getProp(original, "groups");
19
- var groups = [];
20
- if (Array.isArray(rawGroups) && rawGroups.length) {
21
- groups = rawGroups;
22
- }
23
- else if (typeof rawGroups === "string") {
24
- groups = [rawGroups];
25
- }
26
- if (groups.length) {
27
- catalog.scopes.item.filters.push({
28
- predicates: [{ group: groups }],
29
- });
30
- }
31
- return catalog;
32
- }
33
- //# sourceMappingURL=convertCatalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convertCatalog.js","sourceRoot":"","sources":["../../../src/search/convertCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAG7B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAa;IAC1C,IAAM,OAAO,GAAgB;QAC3B,aAAa,EAAE,CAAC;QAChB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE,EAAE;aACZ;SACF;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,IAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;QAChD,MAAM,GAAG,SAAS,CAAC;KACpB;SAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACxC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;KACtB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SAChC,CAAC,CAAC;KACJ;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Determine if a Filter is "empty"
3
- * @param filter
4
- * @returns
5
- */
6
- export function isEmptyFilter(filter) {
7
- // if it has one property, filterType, it's empty
8
- return (Object.keys(filter).length === 1 && filter.hasOwnProperty("filterType"));
9
- }
10
- /**
11
- * Determine if a filterGroup is "empty"
12
- * @param filterGroup
13
- * @returns
14
- */
15
- export function isEmptyFilterGroup(filterGroup) {
16
- // if filters array is empty
17
- if (filterGroup.filters.length === 0) {
18
- return true;
19
- }
20
- else {
21
- // if all filters are empty
22
- var result = filterGroup.filters.reduce(function (acc, entry) {
23
- if (acc) {
24
- acc = isEmptyFilter(entry);
25
- }
26
- return acc;
27
- }, true);
28
- return result;
29
- }
30
- }
31
- //# sourceMappingURL=filter-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,iDAAiD;IACjD,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAqC;IAErC,4BAA4B;IAC5B,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;SAAM;QACL,2BAA2B;QAC3B,IAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;YACnD,IAAI,GAAG,EAAE;gBACP,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;aAC5B;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,MAAM,CAAC;KACf;AACH,CAAC"}