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