@esri/hub-common 9.43.3 → 9.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es2017/ArcGISContext.js +1 -1
- package/dist/es2017/ArcGISContext.js.map +1 -1
- package/dist/es2017/search/Collection.js +71 -0
- package/dist/es2017/search/Collection.js.map +1 -0
- package/dist/es2017/search/_internal/ifilter-utils.js +221 -0
- package/dist/es2017/search/_internal/ifilter-utils.js.map +1 -0
- package/dist/es2017/search/_internal/portalSearchGroups.js +47 -2
- package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchItems.js +100 -7
- package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js +46 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUtils.js +22 -0
- package/dist/es2017/search/_internal/portalSearchUtils.js.map +1 -0
- package/dist/es2017/search/filter-utils.js +1 -0
- package/dist/es2017/search/filter-utils.js.map +1 -1
- package/dist/es2017/search/hubSearch.js +47 -3
- package/dist/es2017/search/hubSearch.js.map +1 -1
- package/dist/es2017/search/types/IHubAggregation.js +1 -0
- package/dist/es2017/search/types/IHubAggregation.js.map +1 -0
- package/dist/es2017/search/types/IHubCatalog.js +1 -0
- package/dist/es2017/search/types/IHubCatalog.js.map +1 -0
- package/dist/es2017/search/types/index.js +2 -0
- package/dist/es2017/search/types/index.js.map +1 -1
- package/dist/esm/ArcGISContext.js +1 -1
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/search/Collection.js +106 -0
- package/dist/esm/search/Collection.js.map +1 -0
- package/dist/esm/search/_internal/ifilter-utils.js +222 -0
- package/dist/esm/search/_internal/ifilter-utils.js.map +1 -0
- package/dist/esm/search/_internal/portalSearchGroups.js +50 -2
- package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchItems.js +101 -7
- package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUsers.js +49 -1
- package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUtils.js +22 -0
- package/dist/esm/search/_internal/portalSearchUtils.js.map +1 -0
- package/dist/esm/search/filter-utils.js +1 -0
- package/dist/esm/search/filter-utils.js.map +1 -1
- package/dist/esm/search/hubSearch.js +50 -3
- package/dist/esm/search/hubSearch.js.map +1 -1
- package/dist/esm/search/types/IHubAggregation.js +1 -0
- package/dist/esm/search/types/IHubAggregation.js.map +1 -0
- package/dist/esm/search/types/IHubCatalog.js +1 -0
- package/dist/esm/search/types/IHubCatalog.js.map +1 -0
- package/dist/esm/search/types/index.js +2 -0
- package/dist/esm/search/types/index.js.map +1 -1
- package/dist/node/ArcGISContext.js +1 -1
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/search/Collection.js +75 -0
- package/dist/node/search/Collection.js.map +1 -0
- package/dist/node/search/_internal/ifilter-utils.js +226 -0
- package/dist/node/search/_internal/ifilter-utils.js.map +1 -0
- package/dist/node/search/_internal/portalSearchGroups.js +49 -3
- package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/node/search/_internal/portalSearchItems.js +103 -7
- package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUsers.js +48 -2
- package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUtils.js +26 -0
- package/dist/node/search/_internal/portalSearchUtils.js.map +1 -0
- package/dist/node/search/filter-utils.js +1 -0
- package/dist/node/search/filter-utils.js.map +1 -1
- package/dist/node/search/hubSearch.js +48 -3
- package/dist/node/search/hubSearch.js.map +1 -1
- package/dist/node/search/types/IHubAggregation.js +3 -0
- package/dist/node/search/types/IHubAggregation.js.map +1 -0
- package/dist/node/search/types/IHubCatalog.js +3 -0
- package/dist/node/search/types/IHubCatalog.js.map +1 -0
- package/dist/node/search/types/index.js +2 -0
- package/dist/node/search/types/index.js.map +1 -1
- package/dist/types/core/types/IHubTimeline.d.ts +0 -5
- package/dist/types/search/Collection.d.ts +18 -0
- package/dist/types/search/_internal/ifilter-utils.d.ts +4 -0
- package/dist/types/search/_internal/portalSearchGroups.d.ts +12 -3
- package/dist/types/search/_internal/portalSearchItems.d.ts +28 -4
- package/dist/types/search/_internal/portalSearchUsers.d.ts +11 -2
- package/dist/types/search/_internal/portalSearchUtils.d.ts +9 -0
- package/dist/types/search/hubSearch.d.ts +11 -1
- package/dist/types/search/types/IHubAggregation.d.ts +11 -0
- package/dist/types/search/types/IHubCatalog.d.ts +71 -0
- package/dist/types/search/types/IHubSearchResponse.d.ts +2 -0
- package/dist/types/search/types/index.d.ts +2 -0
- package/dist/umd/common.umd.js +519 -45
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Collection = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
/**
|
|
6
|
+
* Implements Collection behavior
|
|
7
|
+
*/
|
|
8
|
+
/* istanbul ignore next */
|
|
9
|
+
class Collection {
|
|
10
|
+
constructor(collection, context) {
|
|
11
|
+
this._collection = collection;
|
|
12
|
+
if (context) {
|
|
13
|
+
this._context = context;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
static async create(collection, context) {
|
|
17
|
+
// Async so we could extend to look up by ref like
|
|
18
|
+
// https://mysite.com#documents vs passing in a full ICollection
|
|
19
|
+
const col = new Collection(collection, context);
|
|
20
|
+
return Promise.resolve(col);
|
|
21
|
+
}
|
|
22
|
+
// Getters
|
|
23
|
+
get label() {
|
|
24
|
+
return this._collection.label;
|
|
25
|
+
}
|
|
26
|
+
get key() {
|
|
27
|
+
return this._collection.key;
|
|
28
|
+
}
|
|
29
|
+
get include() {
|
|
30
|
+
return this._collection.include;
|
|
31
|
+
}
|
|
32
|
+
get scope() {
|
|
33
|
+
return this._collection.scope;
|
|
34
|
+
}
|
|
35
|
+
get sortField() {
|
|
36
|
+
return this._collection.sortField || "title";
|
|
37
|
+
}
|
|
38
|
+
get sortDirection() {
|
|
39
|
+
return this._collection.sortDirection || "asc";
|
|
40
|
+
}
|
|
41
|
+
async search(query, options = {}) {
|
|
42
|
+
var _a;
|
|
43
|
+
let qry;
|
|
44
|
+
if (typeof query === "string") {
|
|
45
|
+
// construct a query from that...
|
|
46
|
+
qry = {
|
|
47
|
+
targetEntity: ((_a = this._collection.scope) === null || _a === void 0 ? void 0 : _a.targetEntity) || "item",
|
|
48
|
+
filters: [
|
|
49
|
+
{
|
|
50
|
+
predicates: [
|
|
51
|
+
{
|
|
52
|
+
term: query,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
qry = query;
|
|
61
|
+
}
|
|
62
|
+
// merge the passed in query w/ the scope
|
|
63
|
+
qry.filters = [...qry.filters, ...this.scope.filters];
|
|
64
|
+
options.requestOptions = this._context.hubRequestOptions;
|
|
65
|
+
// inject default sort info if not specified
|
|
66
|
+
options.sortField = options.sortField || this.sortField;
|
|
67
|
+
options.sortOrder = options.sortOrder || this.sortDirection;
|
|
68
|
+
// inject default includes if not specified
|
|
69
|
+
options.include = options.include || this.include;
|
|
70
|
+
// execute the search and return results
|
|
71
|
+
return __1.hubSearchQuery(qry, options);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.Collection = Collection;
|
|
75
|
+
//# sourceMappingURL=Collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../src/search/Collection.ts"],"names":[],"mappings":";;;AAAA,0BAAoD;AAUpD;;GAEG;AACH,0BAA0B;AAC1B,MAAa,UAAU;IAGrB,YAAoB,UAA0B,EAAE,OAAwB;QACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SACzB;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAA0B,EAC1B,OAAwB;QAExB,kDAAkD;QAClD,gEAAgE;QAChE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;IAEV,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IACD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,CAAC;IACD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,KAAsB,EACtB,UAA6B,EAAE;;QAE/B,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,iCAAiC;YACjC,GAAG,GAAG;gBACJ,YAAY,EAAE,OAAA,IAAI,CAAC,WAAW,CAAC,KAAK,0CAAE,YAAY,KAAI,MAAM;gBAC5D,OAAO,EAAE;oBACP;wBACE,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,KAAK;6BACZ;yBACF;qBACF;iBACF;aACF,CAAC;SACH;aAAM;YACL,GAAG,GAAG,KAAK,CAAC;SACb;QAED,yCAAyC;QACzC,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACzD,4CAA4C;QAC5C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACxD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QAC5D,2CAA2C;QAC3C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAElD,wCAAwC;QACxC,OAAO,kBAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AA7ED,gCA6EC"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serializeQueryForPortal = exports.expandPredicate = void 0;
|
|
4
|
+
const objects_1 = require("../../objects");
|
|
5
|
+
const util_1 = require("../../util");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
function expandPredicate(predicate) {
|
|
8
|
+
const result = {};
|
|
9
|
+
const dateProps = ["created", "modified", "lastlogin"];
|
|
10
|
+
const copyProps = [
|
|
11
|
+
"filterType",
|
|
12
|
+
"term",
|
|
13
|
+
"searchUserAccess",
|
|
14
|
+
"isopendata",
|
|
15
|
+
"searchUserName",
|
|
16
|
+
];
|
|
17
|
+
const nonMatchOptionsFields = [...dateProps, ...copyProps];
|
|
18
|
+
// Do the conversion
|
|
19
|
+
Object.entries(predicate).forEach(([key, value]) => {
|
|
20
|
+
// Handle MatchOptions fields
|
|
21
|
+
if (!nonMatchOptionsFields.includes(key)) {
|
|
22
|
+
objects_1.setProp(key, utils_1.valueToMatchOptions(value), result);
|
|
23
|
+
}
|
|
24
|
+
// Handle Date fields
|
|
25
|
+
if (dateProps.includes(key)) {
|
|
26
|
+
const dateFieldValue = util_1.cloneObject(objects_1.getProp(predicate, key));
|
|
27
|
+
if (objects_1.getProp(predicate, `${key}.type`) === "relative-date") {
|
|
28
|
+
objects_1.setProp(key, utils_1.relativeDateToDateRange(dateFieldValue), result);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
objects_1.setProp(key, dateFieldValue, result);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Handle fields that are just copied forward
|
|
35
|
+
if (copyProps.includes(key) && predicate.hasOwnProperty(key)) {
|
|
36
|
+
objects_1.setProp(key, value, result);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
exports.expandPredicate = expandPredicate;
|
|
42
|
+
function serializeQueryForPortal(query) {
|
|
43
|
+
const filterSearchOptions = query.filters.map(serializeFilter);
|
|
44
|
+
const result = mergeSearchOptions(filterSearchOptions, "AND");
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
exports.serializeQueryForPortal = serializeQueryForPortal;
|
|
48
|
+
function mergeSearchOptions(options, operation) {
|
|
49
|
+
const result = options.reduce((acc, entry) => {
|
|
50
|
+
// walk the props
|
|
51
|
+
Object.entries(entry).forEach(([key, value]) => {
|
|
52
|
+
// if prop exists
|
|
53
|
+
if (acc[key]) {
|
|
54
|
+
// combine via operation
|
|
55
|
+
acc[key] = `${acc[key]} ${operation} ${value}`;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// just copy the value
|
|
59
|
+
acc[key] = value;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return acc;
|
|
63
|
+
}, { q: "" });
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Serialize the filters in a FitlerGroup into a Portal Query
|
|
68
|
+
* @param filter
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
function serializeFilter(filter) {
|
|
72
|
+
const operation = filter.operation || "AND";
|
|
73
|
+
const predicates = filter.predicates.map(expandPredicate);
|
|
74
|
+
const predicateSearchOptions = predicates.map(serializePredicate);
|
|
75
|
+
// combine these searchOptions
|
|
76
|
+
const searchOptions = mergeSearchOptions(predicateSearchOptions, operation);
|
|
77
|
+
// wrap in parens if we have more than one predicate
|
|
78
|
+
if (predicates.length > 1) {
|
|
79
|
+
searchOptions.q = `(${searchOptions.q})`;
|
|
80
|
+
}
|
|
81
|
+
return searchOptions;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Serialize a Filter into a Portal Query
|
|
85
|
+
* @param predicate
|
|
86
|
+
* @returns
|
|
87
|
+
*/
|
|
88
|
+
function serializePredicate(predicate) {
|
|
89
|
+
const dateProps = ["created", "modified"];
|
|
90
|
+
const boolProps = ["isopendata"];
|
|
91
|
+
const passThroughProps = ["searchUserAccess", "searchUserName"];
|
|
92
|
+
const specialProps = [
|
|
93
|
+
"filterType",
|
|
94
|
+
"term",
|
|
95
|
+
...dateProps,
|
|
96
|
+
...boolProps,
|
|
97
|
+
...passThroughProps,
|
|
98
|
+
];
|
|
99
|
+
const portalAllowList = [
|
|
100
|
+
"access",
|
|
101
|
+
"categories",
|
|
102
|
+
"created",
|
|
103
|
+
"description",
|
|
104
|
+
"disabled",
|
|
105
|
+
"email",
|
|
106
|
+
"emailstatus",
|
|
107
|
+
"firstname",
|
|
108
|
+
"fullname",
|
|
109
|
+
"group",
|
|
110
|
+
"id",
|
|
111
|
+
"isInvitationOnly",
|
|
112
|
+
"isopendata",
|
|
113
|
+
"joined",
|
|
114
|
+
"lastlogin",
|
|
115
|
+
"lastname",
|
|
116
|
+
"memberType",
|
|
117
|
+
"modified",
|
|
118
|
+
"name",
|
|
119
|
+
"orgid",
|
|
120
|
+
"orgIds",
|
|
121
|
+
"owner",
|
|
122
|
+
"provider",
|
|
123
|
+
"role",
|
|
124
|
+
"searchUserAccess",
|
|
125
|
+
"searchUserName",
|
|
126
|
+
"snippet",
|
|
127
|
+
"tags",
|
|
128
|
+
"term",
|
|
129
|
+
"type",
|
|
130
|
+
"typekeywords",
|
|
131
|
+
"userlicensetype",
|
|
132
|
+
"username",
|
|
133
|
+
];
|
|
134
|
+
let qCount = 0;
|
|
135
|
+
// TODO: Look at using reduce vs .map and remove the `.filter`
|
|
136
|
+
const opts = Object.entries(predicate)
|
|
137
|
+
.map(([key, value]) => {
|
|
138
|
+
// When serializing for portal we limit predicate properties to
|
|
139
|
+
// a list of known properties that the portal api accepts. This will
|
|
140
|
+
// not attempt to ensure the properties are used in the correct combinations
|
|
141
|
+
if (portalAllowList.includes(key)) {
|
|
142
|
+
const so = { q: "" };
|
|
143
|
+
if (!specialProps.includes(key)) {
|
|
144
|
+
qCount++;
|
|
145
|
+
so.q = serializeMatchOptions(key, value);
|
|
146
|
+
}
|
|
147
|
+
if (dateProps.includes(key)) {
|
|
148
|
+
qCount++;
|
|
149
|
+
so.q = serializeDateRange(key, value);
|
|
150
|
+
}
|
|
151
|
+
if (boolProps.includes(key)) {
|
|
152
|
+
qCount++;
|
|
153
|
+
so.q = `${key}:${value}`;
|
|
154
|
+
}
|
|
155
|
+
if (passThroughProps.includes(key)) {
|
|
156
|
+
so[key] = value;
|
|
157
|
+
}
|
|
158
|
+
if (key === "term") {
|
|
159
|
+
qCount++;
|
|
160
|
+
so.q = value;
|
|
161
|
+
}
|
|
162
|
+
return so;
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
.filter((e) => e !== undefined);
|
|
166
|
+
// merge up all the searchOptions
|
|
167
|
+
const searchOptions = mergeSearchOptions(opts, "AND");
|
|
168
|
+
if (qCount > 1) {
|
|
169
|
+
searchOptions.q = `(${searchOptions.q})`;
|
|
170
|
+
}
|
|
171
|
+
return searchOptions;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Serialize MatchOptions into portal syntax
|
|
175
|
+
* @param key
|
|
176
|
+
* @param value
|
|
177
|
+
* @returns
|
|
178
|
+
*/
|
|
179
|
+
function serializeMatchOptions(key, value) {
|
|
180
|
+
let result = "";
|
|
181
|
+
if (value.any) {
|
|
182
|
+
result = `${serializeStringOrArray("OR", key, value.any)}`;
|
|
183
|
+
}
|
|
184
|
+
if (value.all) {
|
|
185
|
+
result =
|
|
186
|
+
(result ? result + " AND " : "") +
|
|
187
|
+
`${serializeStringOrArray("AND", key, value.all)}`;
|
|
188
|
+
}
|
|
189
|
+
if (value.not) {
|
|
190
|
+
// negate the entries if they are not
|
|
191
|
+
result =
|
|
192
|
+
(result ? result + " AND " : "") +
|
|
193
|
+
`${serializeStringOrArray("OR", `-${key}`, value.not)}`;
|
|
194
|
+
}
|
|
195
|
+
return result;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Serialize a date-range into Portal syntax
|
|
199
|
+
* @param key
|
|
200
|
+
* @param range
|
|
201
|
+
* @returns
|
|
202
|
+
*/
|
|
203
|
+
function serializeDateRange(key, range) {
|
|
204
|
+
return `${key}:[${range.from} TO ${range.to}]`;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Serialize a `string` or `string[]` into a string
|
|
208
|
+
* @param join
|
|
209
|
+
* @param key
|
|
210
|
+
* @param value
|
|
211
|
+
* @returns
|
|
212
|
+
*/
|
|
213
|
+
function serializeStringOrArray(join, key, value) {
|
|
214
|
+
let q = "";
|
|
215
|
+
if (Array.isArray(value)) {
|
|
216
|
+
q = `${key}:"${value.join(`" ${join} ${key}:"`)}"`;
|
|
217
|
+
if (value.length > 1) {
|
|
218
|
+
q = `(${q})`;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
q = `${key}:"${value}"`;
|
|
223
|
+
}
|
|
224
|
+
return q;
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=ifilter-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifilter-utils.js","sourceRoot":"","sources":["../../../../src/search/_internal/ifilter-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.portalSearchGroups = void 0;
|
|
3
|
+
exports.portalSearchGroups = exports.portalSearchGroupsFilterGroups = void 0;
|
|
4
4
|
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
|
+
const index_1 = require("../../index");
|
|
5
6
|
const HubGroups_1 = require("../../groups/HubGroups");
|
|
6
7
|
const filter_utils_1 = require("../filter-utils");
|
|
8
|
+
const ifilter_utils_1 = require("./ifilter-utils");
|
|
7
9
|
const utils_1 = require("../utils");
|
|
8
10
|
/**
|
|
9
11
|
* @private
|
|
10
|
-
*
|
|
12
|
+
* DEPRECATED: Use `portalSerchGroups`
|
|
13
|
+
* Portal Search Implementation for Groups
|
|
11
14
|
* @param filterGroups
|
|
12
15
|
* @param options
|
|
13
16
|
* @returns
|
|
14
17
|
*/
|
|
15
|
-
async function
|
|
18
|
+
async function portalSearchGroupsFilterGroups(filterGroups, options) {
|
|
16
19
|
// API
|
|
17
20
|
const api = utils_1.expandApi(options.api || "arcgis");
|
|
18
21
|
if (!options.requestOptions) {
|
|
@@ -58,6 +61,49 @@ async function portalSearchGroups(filterGroups, options) {
|
|
|
58
61
|
}
|
|
59
62
|
return searchPortal(so);
|
|
60
63
|
}
|
|
64
|
+
exports.portalSearchGroupsFilterGroups = portalSearchGroupsFilterGroups;
|
|
65
|
+
/**
|
|
66
|
+
* @private
|
|
67
|
+
* Portal Search Implementation for Groups
|
|
68
|
+
* @param query
|
|
69
|
+
* @param options
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
async function portalSearchGroups(query, options) {
|
|
73
|
+
if (!options.requestOptions) {
|
|
74
|
+
throw new index_1.HubError("portalSearchGroups", "options.requestOptions is required.");
|
|
75
|
+
}
|
|
76
|
+
// Expand the individual predicates in each filter
|
|
77
|
+
query.filters = query.filters.map((filter) => {
|
|
78
|
+
filter.predicates = filter.predicates.map(ifilter_utils_1.expandPredicate);
|
|
79
|
+
return filter;
|
|
80
|
+
});
|
|
81
|
+
// Serialize the all the groups for portal
|
|
82
|
+
const so = ifilter_utils_1.serializeQueryForPortal(query);
|
|
83
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
84
|
+
const props = [
|
|
85
|
+
"num",
|
|
86
|
+
"sortField",
|
|
87
|
+
"sortOrder",
|
|
88
|
+
"include",
|
|
89
|
+
"start",
|
|
90
|
+
"requestOptions",
|
|
91
|
+
];
|
|
92
|
+
// copy the props over
|
|
93
|
+
props.forEach((prop) => {
|
|
94
|
+
if (options.hasOwnProperty(prop)) {
|
|
95
|
+
so[prop] = options[prop];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
// If we don't have auth, ensure we have .portal
|
|
99
|
+
if (options.requestOptions.authentication) {
|
|
100
|
+
so.authentication = options.requestOptions.authentication;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
so.portal = options.requestOptions.portal;
|
|
104
|
+
}
|
|
105
|
+
return searchPortal(so);
|
|
106
|
+
}
|
|
61
107
|
exports.portalSearchGroups = portalSearchGroups;
|
|
62
108
|
/**
|
|
63
109
|
* Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":";;;AAAA,iEAAwE;AAExE,sDAAiE;AAEjE,kDAA+E;
|
|
1
|
+
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isWellKnownTypeFilter = exports.applyWellKnownItemFilterGroups = exports.applyWellKnownItemPredicates = exports.WellKnownItemFilters = exports.portalSearchItems = exports.portalSearchItemsFilterGroups = void 0;
|
|
4
4
|
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
5
|
const __1 = require("../..");
|
|
6
|
+
const ifilter_utils_1 = require("./ifilter-utils");
|
|
6
7
|
const HubPages_1 = require("../../pages/HubPages");
|
|
7
8
|
const projects_1 = require("../../projects");
|
|
8
9
|
const sites_1 = require("../../sites");
|
|
9
10
|
const filter_utils_1 = require("../filter-utils");
|
|
10
11
|
const utils_1 = require("../utils");
|
|
12
|
+
const portalSearchUtils_1 = require("./portalSearchUtils");
|
|
11
13
|
/**
|
|
12
14
|
* @private
|
|
13
|
-
*
|
|
15
|
+
* DEPRECATED
|
|
14
16
|
* @param filterGroups
|
|
15
17
|
* @param options
|
|
16
18
|
* @returns
|
|
17
19
|
*/
|
|
18
|
-
async function
|
|
20
|
+
async function portalSearchItemsFilterGroups(filterGroups, options) {
|
|
19
21
|
var _a;
|
|
20
22
|
if (!options.requestOptions) {
|
|
21
23
|
throw new __1.HubError("hubSearch", "requestOptions: IHubRequestOptions is required.");
|
|
22
24
|
}
|
|
23
25
|
// Expand well-known filterGroups
|
|
24
|
-
const replaced =
|
|
26
|
+
const replaced = applyWellKnownItemFilterGroups(filterGroups);
|
|
25
27
|
// Expand the individual filters in each of the groups
|
|
26
28
|
const expandedGroups = replaced.map((fg) => {
|
|
27
29
|
fg.filters = fg.filters.map(filter_utils_1.expandFilter);
|
|
@@ -57,6 +59,56 @@ async function portalSearchItems(filterGroups, options) {
|
|
|
57
59
|
}
|
|
58
60
|
return searchPortal(so);
|
|
59
61
|
}
|
|
62
|
+
exports.portalSearchItemsFilterGroups = portalSearchItemsFilterGroups;
|
|
63
|
+
/**
|
|
64
|
+
* @private
|
|
65
|
+
* Portal Search Implementation for Items
|
|
66
|
+
* @param query
|
|
67
|
+
* @param options
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
async function portalSearchItems(query, options) {
|
|
71
|
+
var _a;
|
|
72
|
+
if (!options.requestOptions) {
|
|
73
|
+
throw new __1.HubError("portalSearchItems", "options.requestOptions is required.");
|
|
74
|
+
}
|
|
75
|
+
// Expand well-known filterGroups
|
|
76
|
+
const updatedQuery = applyWellKnownItemPredicates(query);
|
|
77
|
+
// Expand the individual predicates in each filter
|
|
78
|
+
updatedQuery.filters = updatedQuery.filters.map((filter) => {
|
|
79
|
+
filter.predicates = filter.predicates.map(ifilter_utils_1.expandPredicate);
|
|
80
|
+
return filter;
|
|
81
|
+
});
|
|
82
|
+
// Serialize the all the groups for portal
|
|
83
|
+
const so = ifilter_utils_1.serializeQueryForPortal(updatedQuery);
|
|
84
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
85
|
+
const props = [
|
|
86
|
+
"num",
|
|
87
|
+
"sortField",
|
|
88
|
+
"sortOrder",
|
|
89
|
+
"include",
|
|
90
|
+
"start",
|
|
91
|
+
"requestOptions",
|
|
92
|
+
];
|
|
93
|
+
// copy the props over
|
|
94
|
+
props.forEach((prop) => {
|
|
95
|
+
if (options.hasOwnProperty(prop)) {
|
|
96
|
+
so[prop] = options[prop];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
if (options.requestOptions.authentication) {
|
|
100
|
+
so.authentication = options.requestOptions.authentication;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
so.portal = options.requestOptions.portal;
|
|
104
|
+
}
|
|
105
|
+
// Aggregations
|
|
106
|
+
if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
107
|
+
so.countFields = options.aggFields.join(",");
|
|
108
|
+
so.countSize = options.aggLimit || 10;
|
|
109
|
+
}
|
|
110
|
+
return searchPortal(so);
|
|
111
|
+
}
|
|
60
112
|
exports.portalSearchItems = portalSearchItems;
|
|
61
113
|
/**
|
|
62
114
|
* Internal portal search, which then converts `IItem`s to `IHubSearchResult`s
|
|
@@ -74,13 +126,16 @@ async function searchPortal(searchOptions) {
|
|
|
74
126
|
};
|
|
75
127
|
// map over results
|
|
76
128
|
const results = await Promise.all(resp.results.map(fn));
|
|
77
|
-
//
|
|
129
|
+
// TODO Remove this call
|
|
78
130
|
const facets = __1.convertPortalItemResponseToFacets(resp);
|
|
131
|
+
// convert portal aggregations into hub aggregations
|
|
132
|
+
const aggregations = portalSearchUtils_1.convertPortalAggregations(resp);
|
|
79
133
|
// Construct the return
|
|
80
134
|
return {
|
|
81
135
|
total: resp.total,
|
|
82
136
|
results,
|
|
83
137
|
facets,
|
|
138
|
+
aggregations,
|
|
84
139
|
hasNext: resp.nextStart > -1,
|
|
85
140
|
next: utils_1.getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
|
|
86
141
|
};
|
|
@@ -287,7 +342,37 @@ exports.WellKnownItemFilters = {
|
|
|
287
342
|
* Only exported to enable extensive testing
|
|
288
343
|
* @param filterGroups
|
|
289
344
|
*/
|
|
290
|
-
function
|
|
345
|
+
function applyWellKnownItemPredicates(query) {
|
|
346
|
+
const queryClone = __1.cloneObject(query);
|
|
347
|
+
// iterate the filters
|
|
348
|
+
queryClone.filters = queryClone.filters.map((filter) => {
|
|
349
|
+
// replace predicates with well-known types
|
|
350
|
+
filter.predicates = filter.predicates.reduce((acc, predicate) => {
|
|
351
|
+
// if the predicate has a well-known type
|
|
352
|
+
// we replace it with the set of predicates defined
|
|
353
|
+
// for the well-known type
|
|
354
|
+
if (isWellKnownTypeFilter(predicate.type)) {
|
|
355
|
+
const replacements = lookupTypePredicates(predicate.type);
|
|
356
|
+
acc = [...acc, ...replacements];
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
// this predicate does not have a well-known type
|
|
360
|
+
// so we just keep it
|
|
361
|
+
acc.push(predicate);
|
|
362
|
+
}
|
|
363
|
+
return acc;
|
|
364
|
+
}, []);
|
|
365
|
+
return filter;
|
|
366
|
+
});
|
|
367
|
+
return queryClone;
|
|
368
|
+
}
|
|
369
|
+
exports.applyWellKnownItemPredicates = applyWellKnownItemPredicates;
|
|
370
|
+
/**
|
|
371
|
+
* DEPRECATED
|
|
372
|
+
* @param filterGroups
|
|
373
|
+
* @returns
|
|
374
|
+
*/
|
|
375
|
+
function applyWellKnownItemFilterGroups(filterGroups) {
|
|
291
376
|
const clone = __1.cloneObject(filterGroups);
|
|
292
377
|
// iterate the filterGroups
|
|
293
378
|
const result = clone.map((filterGroup) => {
|
|
@@ -315,7 +400,7 @@ function applyWellKnownItemFilters(filterGroups) {
|
|
|
315
400
|
});
|
|
316
401
|
return result;
|
|
317
402
|
}
|
|
318
|
-
exports.
|
|
403
|
+
exports.applyWellKnownItemFilterGroups = applyWellKnownItemFilterGroups;
|
|
319
404
|
/**
|
|
320
405
|
* Is the argument a well-known type "key"
|
|
321
406
|
*
|
|
@@ -332,6 +417,7 @@ function isWellKnownTypeFilter(key) {
|
|
|
332
417
|
}
|
|
333
418
|
return result;
|
|
334
419
|
}
|
|
420
|
+
exports.isWellKnownTypeFilter = isWellKnownTypeFilter;
|
|
335
421
|
/**
|
|
336
422
|
* Fetch the array of fitlers from the well-known hash
|
|
337
423
|
* @param key
|
|
@@ -340,4 +426,14 @@ function isWellKnownTypeFilter(key) {
|
|
|
340
426
|
function lookupTypeFilters(key) {
|
|
341
427
|
return exports.WellKnownItemFilters[key];
|
|
342
428
|
}
|
|
429
|
+
function lookupTypePredicates(key) {
|
|
430
|
+
const rawPredicates = exports.WellKnownItemFilters[key];
|
|
431
|
+
// Remove the filterType property as it's not needed in an IPredicate
|
|
432
|
+
const predicates = rawPredicates.map((entry) => {
|
|
433
|
+
const c = __1.cloneObject(entry);
|
|
434
|
+
delete c.filterType;
|
|
435
|
+
return c;
|
|
436
|
+
});
|
|
437
|
+
return predicates;
|
|
438
|
+
}
|
|
343
439
|
//# sourceMappingURL=portalSearchItems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":";;;AAAA,iEAA8E;AAC9E,6BAKe;AAEf,mDAA8D;AAC9D,6CAA2D;AAC3D,uCAAqD;AAErD,
|
|
1
|
+
{"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"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"}
|