@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,142 +0,0 @@
1
- import { mergeDateRange, mergeMatchOptions, mergeSearchOptions, relativeDateToDateRange, serializeDateRange, serializeMatchOptions, valueToMatchOptions, } from ".";
2
- import { cloneObject, getProp, Logger, setProp } from "..";
3
- // TODO: Remove with _searchContent
4
- /**
5
- *
6
- * Merge `Filter<"group">` objects
7
- *
8
- * Useful in components which may get partial filters from a variety of
9
- * sub-components, which are then combined into a single filter prior
10
- * to executing the search.
11
- * @param filters
12
- * @returns
13
- */
14
- export function mergeGroupFilters(filters) {
15
- // TODO: Remove with _searchContent
16
- Logger.warn(`DEPRECATION: mergeGroupFilters will be removed. Work with IFilterGroups<"group"> and hubSearch() instead`);
17
- // expand all the filters so all prop types are consistent
18
- const expanded = filters.map(expandGroupFilter);
19
- // now we can merge based on fields
20
- const dateFields = ["created", "modified"];
21
- const specialFields = ["filterType", "term", ...dateFields];
22
- // acc is initialized as Filter<group> but also needs it
23
- // in the function signature... for reasons?!
24
- const result = expanded.reduce((acc, entry) => {
25
- // process fields
26
- Object.entries(entry).forEach(([key, value]) => {
27
- // Note: getProp/setProp are used to get around
28
- // typescript issues with string indexing
29
- if (acc.hasOwnProperty(key)) {
30
- const existingValue = getProp(acc, key);
31
- // if the key is not to a special field
32
- if (!specialFields.includes(key)) {
33
- // treat as an IMatchOptions
34
- setProp(key, mergeMatchOptions(existingValue, value), acc);
35
- }
36
- else if (dateFields.includes(key)) {
37
- // treat as IDateRange
38
- setProp(key, mergeDateRange(existingValue, value), acc);
39
- }
40
- else if (key === "term") {
41
- // append terms
42
- acc[key] = `${acc[key]} ${value}`;
43
- }
44
- }
45
- else {
46
- // Acc does not have an entry for this yet
47
- // so just clone it
48
- setProp(key, cloneObject(value), acc);
49
- }
50
- });
51
- return acc;
52
- }, {
53
- filterType: "group",
54
- });
55
- return result;
56
- }
57
- /**
58
- * Prior to serialization into the query syntax for the backing APIs, we first expand [Filters](../Filter)
59
- *
60
- * Filter's can express their intent in a very terse form, but to ensure consistent structures
61
- * we expand them into their more verbose form.
62
- *
63
- * i.e. `title: "Water"` expands into `title: { any: ["Water"]}`
64
- *
65
- * - Fields defined as `string | string[] | MatchOptions` will be converted to a `MatchOptions`
66
- * - RelativeDate fields are converted to DateRange<number>
67
- *
68
- * @param filter
69
- * @returns
70
- */
71
- export function expandGroupFilter(filter) {
72
- // TODO: Remove with _searchContent
73
- Logger.warn(`DEPRECATION: expandGroupFilters will be removed. Work with IFilterGroups<"group"> and hubSearch() instead`);
74
- const result = {};
75
- const dateProps = ["created", "modified"];
76
- // Some properties should not get converted to MatchOptions
77
- const specialProps = ["term", "searchUserAccess", ...dateProps];
78
- // Do the conversion
79
- Object.entries(filter).forEach(([key, value]) => {
80
- // handle Matchish fields
81
- if (!specialProps.includes(key)) {
82
- // setProp side-steps typescript complaining
83
- setProp(key, valueToMatchOptions(value), result);
84
- }
85
- // Handle date fields
86
- if (dateProps.includes(key)) {
87
- const dateFieldValue = cloneObject(getProp(filter, key));
88
- if (getProp(filter, `${key}.type`) === "relative-date") {
89
- setProp(key, relativeDateToDateRange(dateFieldValue), result);
90
- }
91
- else {
92
- setProp(key, dateFieldValue, result);
93
- }
94
- }
95
- });
96
- // searchUserAccess is boolean, so we check if the prop exists
97
- // vs checking if the value is truthy
98
- if (filter.hasOwnProperty("searchUserAccess")) {
99
- result.searchUserAccess = filter.searchUserAccess;
100
- }
101
- if (filter.term) {
102
- result.term = filter.term;
103
- }
104
- return result;
105
- }
106
- /**
107
- * @private
108
- * Serialize an `IGroupFilterDefinition` into an `ISearchOptions` for use
109
- * with `searchGroups`
110
- * @param filter
111
- * @returns
112
- */
113
- export function serializeGroupFilterForPortal(filter) {
114
- // TODO: Remove with _searchContent
115
- Logger.warn(`DEPRECATION: serializeGroupFilterForPortal will be removed. Work with IFilterGroups<"group"> and hubSearch() instead`);
116
- let result = {
117
- q: "",
118
- filter: "",
119
- };
120
- const dateProps = ["created", "modified"];
121
- const specialProps = ["term", "searchUserAccess", "filterType", ...dateProps];
122
- Object.entries(filter).forEach(([key, value]) => {
123
- // MatchOptions fields
124
- if (!specialProps.includes(key)) {
125
- result = mergeSearchOptions(result, serializeMatchOptions(key, value), "AND");
126
- }
127
- // Dates only go into q
128
- if (dateProps.includes(key)) {
129
- result = mergeSearchOptions(result, serializeDateRange(key, value), "AND");
130
- }
131
- });
132
- // searchUserAccess is also a top-level property
133
- if (filter.hasOwnProperty("searchUserAccess")) {
134
- result.searchUserAccess = filter.searchUserAccess;
135
- }
136
- // add the term
137
- if (filter.term) {
138
- result.q = `${filter.term} ${result.q}`.trim();
139
- }
140
- return result;
141
- }
142
- //# sourceMappingURL=group-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-utils.js","sourceRoot":"","sources":["../../../src/search/group-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ICatalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICatalog.js","sourceRoot":"","sources":["../../../../src/search/types/ICatalog.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ICollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICollection.js","sourceRoot":"","sources":["../../../../src/search/types/ICollection.ts"],"names":[],"mappings":""}
@@ -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 +0,0 @@
1
- //# sourceMappingURL=IHubApiSearchRequest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IHubApiSearchRequest.js","sourceRoot":"","sources":["../../../../src/search/types/IHubApiSearchRequest.ts"],"names":[],"mappings":""}
@@ -1,139 +0,0 @@
1
- import { cloneObject, getProp, Logger, mergeDateRange, mergeMatchOptions, mergeSearchOptions, relativeDateToDateRange, serializeDateRange, serializeMatchOptions, setProp, valueToMatchOptions, } from "..";
2
- // TODO: Remove with _searchContent
3
- /**
4
- *
5
- * Merge `Filter<"user">` objects
6
- *
7
- * Useful in components which may get partial filters from a variety of
8
- * sub-components, which are then combined into a single filter prior
9
- * to executing the search.
10
- * @param filters
11
- * @returns
12
- */
13
- export function mergeUserFilters(filters) {
14
- // TODO: Remove with _searchContent
15
- Logger.warn(`DEPRECATION: mergeUserFilters will be removed. Work with IFilterGroups<"user"> and hubSearch() instead`);
16
- // expand all the filters so all prop types are consistent
17
- const expanded = filters.map(expandUserFilter);
18
- // now we can merge based on fields
19
- const dateFields = ["created", "modified", "lastlogin"];
20
- const specialFields = ["disabled", "term", "filterType", ...dateFields];
21
- // acc is initialized as Filter<group> but also needs it
22
- // in the function signature... for reasons?!
23
- const result = expanded.reduce((acc, entry) => {
24
- // process fields
25
- Object.entries(entry).forEach(([key, value]) => {
26
- // Note: getProp/setProp are used to get around
27
- // typescript issues with string indexing
28
- if (acc.hasOwnProperty(key)) {
29
- const existingValue = getProp(acc, key);
30
- // if the key is not to a special field
31
- if (!specialFields.includes(key)) {
32
- // treat as an IMatchOptions
33
- setProp(key, mergeMatchOptions(existingValue, value), acc);
34
- }
35
- else if (dateFields.includes(key)) {
36
- // treat as IDateRange
37
- setProp(key, mergeDateRange(existingValue, value), acc);
38
- }
39
- else if (key === "term") {
40
- // append terms
41
- acc[key] = `${acc[key]} ${value}`;
42
- }
43
- }
44
- else {
45
- // Acc does not have an entry for this yet
46
- // so just clone it
47
- setProp(key, cloneObject(value), acc);
48
- }
49
- });
50
- return acc;
51
- }, {
52
- filterType: "user",
53
- });
54
- return result;
55
- }
56
- /**
57
- * Prior to serialization into the query syntax for the backing APIs, we first expand [Filters](../Filter)
58
- *
59
- * Filter's can express their intent in a very terse form, but to ensure consistent structures
60
- * we expand them into their more verbose form.
61
- *
62
- * i.e. `firstname: "John"` expands into `firstname: { any: ["John"]}`
63
- *
64
- * - Fields defined as `string | string[] | MatchOptions` will be converted to a `MatchOptions`
65
- * - RelativeDate fields are converted to DateRange<number>
66
- * @param filter
67
- * @returns
68
- */
69
- export function expandUserFilter(filter) {
70
- // TODO: Remove with _searchContent
71
- Logger.warn(`DEPRECATION: expandUserFilter will be removed. Work with IFilterGroups<"user"> and hubSearch() instead`);
72
- const result = {};
73
- const dateProps = ["created", "modified", "lastlogin"];
74
- const specialProps = ["disabled", "term", ...dateProps];
75
- Object.entries(filter).forEach(([key, value]) => {
76
- // handle Matchish fields
77
- if (!specialProps.includes(key)) {
78
- // setProp side-steps typescript complaining
79
- setProp(key, valueToMatchOptions(value), result);
80
- }
81
- // Handle date fields
82
- if (dateProps.includes(key)) {
83
- const dateFieldValue = cloneObject(getProp(filter, key));
84
- if (getProp(filter, `${key}.type`) === "relative-date") {
85
- setProp(key, relativeDateToDateRange(dateFieldValue), result);
86
- }
87
- else {
88
- setProp(key, dateFieldValue, result);
89
- }
90
- }
91
- });
92
- // disabled is boolean, so we check if the prop exists
93
- // vs checking if the value is truthy
94
- if (filter.hasOwnProperty("disabled")) {
95
- result.disabled = filter.disabled;
96
- }
97
- if (filter.term) {
98
- result.term = filter.term;
99
- }
100
- return result;
101
- }
102
- /**
103
- * @private
104
- * Serialize an `IUserFilterDefinition` into an `ISearchOptions` for use
105
- * with `searchUsers`
106
- * @param filter
107
- * @returns
108
- */
109
- export function serializeUserFilterForPortal(filter) {
110
- // TODO: Remove with _searchContent
111
- Logger.warn(`DEPRECATION: serializeUserFilterForPortal will be removed. Work with IFilterGroups<"user"> and hubSearch() instead`);
112
- let result = {
113
- q: "",
114
- filter: "",
115
- };
116
- const dateProps = ["created", "modified", "lastlogin"];
117
- const specialProps = ["term", "filterType", ...dateProps];
118
- Object.entries(filter).forEach(([key, value]) => {
119
- // MatchOptions fields
120
- if (!specialProps.includes(key)) {
121
- result = mergeSearchOptions(result, serializeMatchOptions(key, value), "AND");
122
- }
123
- // Dates only go into q
124
- if (dateProps.includes(key)) {
125
- result = mergeSearchOptions(result, serializeDateRange(key, value), "AND");
126
- }
127
- });
128
- // disabled is also a top-level property
129
- if (filter.hasOwnProperty("disabled")) {
130
- result.disabled = filter.disabled;
131
- }
132
- // add the term
133
- if (filter.term) {
134
- // Note: this is slightly different from other types
135
- result.q = `(${filter.term}) ${result.q}`.trim();
136
- }
137
- return result;
138
- }
139
- //# sourceMappingURL=user-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-utils.js","sourceRoot":"","sources":["../../../src/search/user-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ipredicate-utils.js","sourceRoot":"","sources":["../../../../src/search/_internal/ipredicate-utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAqB;IACnD,IAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,IAAM,SAAS,GAAG;QAChB,YAAY;QACZ,MAAM;QACN,kBAAkB;QAClB,YAAY;QACZ,gBAAgB;KACjB,CAAC;IACF,IAAM,qBAAqB,kBAAO,SAAS,EAAK,SAAS,CAAC,CAAC;IAC3D,oBAAoB;IACpB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAC5C,6BAA6B;QAC7B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACxC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;SAClD;QACD,qBAAqB;QACrB,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,SAAS,EAAK,GAAG,UAAO,CAAC,KAAK,eAAe,EAAE;gBACzD,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;aACtC;SACF;QACD,6CAA6C;QAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC5D,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -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,118 +0,0 @@
1
- import { __awaiter, __generator } from "tslib";
2
- import { expandContentFilter, serializeContentFilterForPortal, convertPortalResponseToFacets, } from "./content-utils";
3
- import { searchItems } from "@esri/arcgis-rest-portal";
4
- import { expandApi, getNextFunction } from "./utils";
5
- import { getItemThumbnailUrl, itemToContent, setContentSiteUrls, } from "..";
6
- import { Logger } from "../utils";
7
- // TODO: Remove with _searchContent
8
- /**
9
- * @private
10
- * Search for content via the Portal or Hub API
11
- * @param filter
12
- * @param options
13
- */
14
- export function _searchContent(filter, options) {
15
- var _a, _b;
16
- return __awaiter(this, void 0, void 0, function () {
17
- var expanded, api, searchPromise, so_1, props;
18
- return __generator(this, function (_c) {
19
- Logger.warn("DEPRECATION: _searchContent will be removed; switch to hubSearch(...)");
20
- expanded = expandContentFilter(filter);
21
- api = expandApi(options.api || "arcgis");
22
- // Portal Search
23
- if (api.type === "arcgis") {
24
- so_1 = serializeContentFilterForPortal(expanded);
25
- props = [
26
- "authentication",
27
- "num",
28
- "sortField",
29
- "sortOrder",
30
- "site",
31
- "start",
32
- ];
33
- // copy the props over
34
- props.forEach(function (prop) {
35
- if (options.hasOwnProperty(prop)) {
36
- so_1[prop] = options[prop];
37
- }
38
- });
39
- // If we don't have auth, ensure we have .portal
40
- if (!so_1.authentication) {
41
- so_1.portal = api.url + "/sharing/rest";
42
- }
43
- // DEPRECATION
44
- if ((_a = options.aggregations) === null || _a === void 0 ? void 0 : _a.length) {
45
- // tslint:disable-next-line:no-console
46
- console.warn("IHubSearchOptions.aggregations is deprecated. Please use .aggFields instead.");
47
- so_1.countFields = options.aggregations.join(",");
48
- so_1.countSize = options.aggLimit || 10;
49
- }
50
- // Aggregations
51
- if ((_b = options.aggFields) === null || _b === void 0 ? void 0 : _b.length) {
52
- so_1.countFields = options.aggFields.join(",");
53
- so_1.countSize = options.aggLimit || 10;
54
- }
55
- searchPromise = searchPortal(so_1);
56
- }
57
- else {
58
- // Hub API Search
59
- // TODO: Implement hub api content search
60
- searchPromise = Promise.resolve({
61
- total: 0,
62
- results: [],
63
- facets: [],
64
- hasNext: false,
65
- next: function () {
66
- // tslint:disable-next-line
67
- Promise.resolve(null);
68
- },
69
- });
70
- }
71
- return [2 /*return*/, searchPromise];
72
- });
73
- });
74
- }
75
- /**
76
- * Internal portal search, which then converts items to Content, and
77
- * if a Site was passed, also sets urls
78
- *
79
- * @param searchOptions
80
- * @param site
81
- * @returns
82
- */
83
- function searchPortal(searchOptions) {
84
- var _a;
85
- var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
86
- var token;
87
- if (searchOptions.authentication) {
88
- var us = searchOptions.authentication;
89
- token = us.token;
90
- }
91
- var thumbnailify = function (content) {
92
- content.thumbnailUrl = getItemThumbnailUrl(content, portalUrl, token);
93
- return content;
94
- };
95
- return searchItems(searchOptions).then(function (resp) {
96
- var hasNext = resp.nextStart > -1;
97
- // convert items to IHubContent's
98
- var content = resp.results.map(itemToContent);
99
- // if we have a site, add those urls
100
- if (searchOptions.site) {
101
- content = content.map(function (entry) {
102
- return setContentSiteUrls(entry, searchOptions.site);
103
- });
104
- }
105
- // add thumbnailUrl
106
- content = content.map(thumbnailify);
107
- // convert aggregations into facets
108
- var facets = convertPortalResponseToFacets(resp);
109
- return {
110
- total: resp.total,
111
- results: content,
112
- facets: facets,
113
- hasNext: hasNext,
114
- next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
115
- };
116
- });
117
- }
118
- //# sourceMappingURL=_searchContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"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"}