@esri/hub-common 9.13.2 → 9.14.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.
Files changed (70) hide show
  1. package/dist/es2017/ArcGISContext.js +158 -147
  2. package/dist/es2017/ArcGISContext.js.map +1 -1
  3. package/dist/es2017/ArcGISContextManager.js +160 -0
  4. package/dist/es2017/ArcGISContextManager.js.map +1 -0
  5. package/dist/es2017/index.js +1 -0
  6. package/dist/es2017/index.js.map +1 -1
  7. package/dist/es2017/search/_searchContent.js +18 -7
  8. package/dist/es2017/search/_searchContent.js.map +1 -1
  9. package/dist/es2017/search/_searchGroups.js +1 -11
  10. package/dist/es2017/search/_searchGroups.js.map +1 -1
  11. package/dist/es2017/search/utils.js +1 -1
  12. package/dist/es2017/urls/getHubApiFromPortalUrl.js +21 -0
  13. package/dist/es2017/urls/getHubApiFromPortalUrl.js.map +1 -0
  14. package/dist/es2017/urls/getPortalBaseFromOrgUrl.js +25 -0
  15. package/dist/es2017/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  16. package/dist/es2017/urls/index.js +2 -0
  17. package/dist/es2017/urls/index.js.map +1 -1
  18. package/dist/esm/ArcGISContext.js +251 -202
  19. package/dist/esm/ArcGISContext.js.map +1 -1
  20. package/dist/esm/ArcGISContextManager.js +204 -0
  21. package/dist/esm/ArcGISContextManager.js.map +1 -0
  22. package/dist/esm/index.js +1 -0
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/search/_searchContent.js +18 -7
  25. package/dist/esm/search/_searchContent.js.map +1 -1
  26. package/dist/esm/search/_searchGroups.js +3 -13
  27. package/dist/esm/search/_searchGroups.js.map +1 -1
  28. package/dist/esm/search/utils.js +1 -1
  29. package/dist/esm/urls/getHubApiFromPortalUrl.js +21 -0
  30. package/dist/esm/urls/getHubApiFromPortalUrl.js.map +1 -0
  31. package/dist/esm/urls/getPortalBaseFromOrgUrl.js +25 -0
  32. package/dist/esm/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  33. package/dist/esm/urls/index.js +2 -0
  34. package/dist/esm/urls/index.js.map +1 -1
  35. package/dist/node/ArcGISContext.js +158 -147
  36. package/dist/node/ArcGISContext.js.map +1 -1
  37. package/dist/node/ArcGISContextManager.js +164 -0
  38. package/dist/node/ArcGISContextManager.js.map +1 -0
  39. package/dist/node/index.js +1 -0
  40. package/dist/node/index.js.map +1 -1
  41. package/dist/node/search/_searchContent.js +17 -6
  42. package/dist/node/search/_searchContent.js.map +1 -1
  43. package/dist/node/search/_searchGroups.js +1 -11
  44. package/dist/node/search/_searchGroups.js.map +1 -1
  45. package/dist/node/search/utils.js +1 -1
  46. package/dist/node/urls/getHubApiFromPortalUrl.js +25 -0
  47. package/dist/node/urls/getHubApiFromPortalUrl.js.map +1 -0
  48. package/dist/node/urls/getPortalBaseFromOrgUrl.js +29 -0
  49. package/dist/node/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  50. package/dist/node/urls/index.js +2 -0
  51. package/dist/node/urls/index.js.map +1 -1
  52. package/dist/types/ArcGISContext.d.ts +103 -77
  53. package/dist/types/ArcGISContextManager.d.ts +113 -0
  54. package/dist/types/index.d.ts +1 -0
  55. package/dist/types/search/utils.d.ts +1 -1
  56. package/dist/types/urls/getHubApiFromPortalUrl.d.ts +8 -0
  57. package/dist/types/urls/getPortalBaseFromOrgUrl.d.ts +9 -0
  58. package/dist/types/urls/index.d.ts +2 -0
  59. package/dist/umd/common.umd.js +144 -125
  60. package/dist/umd/common.umd.js.map +1 -1
  61. package/dist/umd/common.umd.min.js +1 -1
  62. package/dist/umd/common.umd.min.js.map +1 -1
  63. package/package.json +1 -1
  64. package/dist/es2017/ArcGISContextState.js +0 -203
  65. package/dist/es2017/ArcGISContextState.js.map +0 -1
  66. package/dist/esm/ArcGISContextState.js +0 -285
  67. package/dist/esm/ArcGISContextState.js.map +0 -1
  68. package/dist/node/ArcGISContextState.js +0 -207
  69. package/dist/node/ArcGISContextState.js.map +0 -1
  70. package/dist/types/ArcGISContextState.d.ts +0 -129
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArcGISContextState = void 0;
4
- const _1 = require(".");
5
- /**
6
- * Hash of Hub API end points so updates
7
- * are centralized
8
- */
9
- const hubApiEndpoints = {
10
- domains: "/api/v3/domains",
11
- search: "/api/v3/datasets",
12
- discussions: "/api/discussions/v1",
13
- };
14
- /**
15
- * @internal
16
- * Thin class just used to enable getters
17
- *
18
- * This class should not be used by anything other than
19
- * the ArcGISContext class
20
- */
21
- class ArcGISContextState {
22
- constructor(opts) {
23
- this._portalUrl = "https://www.arcgis.com";
24
- this.id = opts.id;
25
- this._portalUrl = opts.portalUrl;
26
- this._hubUrl = opts.hubUrl;
27
- if (opts.authentication) {
28
- this._authentication = opts.authentication;
29
- }
30
- if (opts.portalSelf) {
31
- this._portalSelf = opts.portalSelf;
32
- }
33
- if (opts.currentUser) {
34
- this._currentUser = opts.currentUser;
35
- }
36
- }
37
- /**
38
- * Return the UserSession if authenticated
39
- */
40
- get session() {
41
- return this._authentication;
42
- }
43
- /**
44
- * Return boolean indicating if authenticatio is present
45
- */
46
- get isAuthenticated() {
47
- return !!this._authentication;
48
- }
49
- /**
50
- * Return `IUserRequestOptions`, which is used for REST-JS
51
- * functions which require authentication information.
52
- *
53
- * If context is not authenticated, this function will throw
54
- */
55
- get userRequestOptions() {
56
- if (this.isAuthenticated) {
57
- return {
58
- authentication: this._authentication,
59
- portal: this.sharingApiUrl,
60
- };
61
- }
62
- }
63
- /**
64
- * Return `IRequestOptions`, which is used by REST-JS functions
65
- * which *may* use authentication information if provided.
66
- *
67
- * If context is not authenticated, this function just returns
68
- * the `portal` property, which informs REST-JS what Sharing API
69
- * instance to use (i.e. AGO, Enterprise etc)
70
- */
71
- get requestOptions() {
72
- let ro = {
73
- portal: this.sharingApiUrl,
74
- };
75
- if (this.isAuthenticated) {
76
- ro = {
77
- authentication: this._authentication,
78
- portal: this.sharingApiUrl,
79
- };
80
- }
81
- return ro;
82
- }
83
- /**
84
- * Return a `IHubRequestOptions` object
85
- */
86
- get hubRequestOptions() {
87
- // We may add more logic around what is returned in some corner cases
88
- return {
89
- authentication: this.session,
90
- isPortal: this.isPortal,
91
- portalSelf: this.portal,
92
- hubApiUrl: this.hubUrl,
93
- };
94
- }
95
- // ==============================
96
- // Getters / Computed Properties
97
- // ==============================
98
- /**
99
- * Return the portal url.
100
- *
101
- * If authenticated @ ArcGIS Online, it will return
102
- * the https://org.env.arcgis.com
103
- *
104
- * If authenticated @ ArcGIS Enterprise, it will return
105
- * https://portalHostname, which includes the web adaptor
106
- */
107
- get portalUrl() {
108
- if (this.isAuthenticated) {
109
- if (this.isPortal) {
110
- return `https://${this._portalSelf.portalHostname}`;
111
- }
112
- else {
113
- return `https://${this._portalSelf.urlKey}.${this._portalSelf.customBaseUrl}`;
114
- }
115
- }
116
- else {
117
- return this._portalUrl;
118
- }
119
- }
120
- /**
121
- * Returns the url to the sharing api
122
- * i.e. https://myorg.maps.arcgis.com/sharing/rest
123
- */
124
- get sharingApiUrl() {
125
- return `${this.portalUrl}/sharing/rest`;
126
- }
127
- get hubUrl() {
128
- return this._hubUrl;
129
- }
130
- /**
131
- * Returns boolean indicating if the backing system
132
- * is ArcGIS Enterprise (formerly ArcGIS Portal) or not
133
- */
134
- get isPortal() {
135
- return this._portalSelf
136
- ? this._portalSelf.isPortal
137
- : this._portalUrl.indexOf("arcgis.com") === -1;
138
- }
139
- // Hub APIs
140
- // ----------
141
- // Discussions
142
- get discussionsServiceUrl() {
143
- if (this._hubUrl) {
144
- return `${this._hubUrl}${hubApiEndpoints.discussions}`;
145
- }
146
- }
147
- // Hub Search
148
- get hubSearchServiceUrl() {
149
- if (this._hubUrl) {
150
- return `${this._hubUrl}${hubApiEndpoints.search}`;
151
- }
152
- }
153
- // Domain
154
- get domainServiceUrl() {
155
- if (this._hubUrl) {
156
- return `${this._hubUrl}${hubApiEndpoints.domains}`;
157
- }
158
- }
159
- // Events
160
- // returns `{serviceId: '3ef..', publicViewId: 'bc3...'}
161
- get eventsConfig() {
162
- if (this._portalSelf) {
163
- return _1.getProp(this._portalSelf, "portalProperties.hub.settings.events");
164
- }
165
- }
166
- /**
167
- * Returns boolean indicating if the current user
168
- * belongs to an organization that has licensed
169
- * ArcGIS Hub
170
- */
171
- get hubEnabled() {
172
- return _1.getWithDefault(this._portalSelf, "portalProperties.hub.enabled", false);
173
- }
174
- /**
175
- * Return Hub Community Org Id, if defined
176
- */
177
- get communityOrgId() {
178
- if (this._portalSelf) {
179
- return _1.getProp(this._portalSelf, "portalProperties.hub.settings.communityOrg.orgId");
180
- }
181
- }
182
- get communityOrgHostname() {
183
- if (this._portalSelf) {
184
- return _1.getProp(this._portalSelf, "portalProperties.hub.settings.communityOrg.portalHostname");
185
- }
186
- }
187
- get communityOrgUrl() {
188
- if (this.communityOrgHostname) {
189
- return `https://${this.communityOrgHostname}`;
190
- }
191
- }
192
- // Platform API service urls are all in helperServices
193
- // and not consistent to expose as urls
194
- get helperServices() {
195
- if (this._portalSelf) {
196
- return this._portalSelf.helperServices;
197
- }
198
- }
199
- get currentUser() {
200
- return this._currentUser;
201
- }
202
- get portal() {
203
- return this._portalSelf;
204
- }
205
- }
206
- exports.ArcGISContextState = ArcGISContextState;
207
- //# sourceMappingURL=ArcGISContextState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArcGISContextState.js","sourceRoot":"","sources":["../../src/ArcGISContextState.ts"],"names":[],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- import { IUser, IUserRequestOptions, UserSession } from "@esri/arcgis-rest-auth";
2
- import { IPortal } from "@esri/arcgis-rest-portal";
3
- import { IRequestOptions } from "@esri/arcgis-rest-request";
4
- import { IHubRequestOptions } from ".";
5
- /**
6
- * Defined the properties of the ArcGISContext.state
7
- * object. This wll be a class instance, and when authentication
8
- * changes, the instance will be replaced. This is done to allow
9
- * frameworks like React or Ember to bind into the .state property
10
- * and react when it changes.
11
- */
12
- export interface IArcGISContextState {
13
- id: number;
14
- session: UserSession;
15
- isAuthenticated: boolean;
16
- userRequestOptions: IUserRequestOptions;
17
- requestOptions: IRequestOptions;
18
- hubRequestOptions: IHubRequestOptions;
19
- portalUrl: string;
20
- sharingApiUrl: string;
21
- hubUrl: string;
22
- isPortal: boolean;
23
- discussionsServiceUrl: string;
24
- hubSearchServiceUrl: string;
25
- domainServiceUrl: string;
26
- eventsConfig: any;
27
- hubEnabled: boolean;
28
- communityOrgId: string;
29
- communityOrgHostname: string;
30
- communityOrgUrl: string;
31
- helperServices: any;
32
- currentUser: IUser;
33
- portal: IPortal;
34
- }
35
- /**
36
- * @internal
37
- */
38
- export interface IArcGISContextStateOptions {
39
- id: number;
40
- portalUrl: string;
41
- hubUrl: string;
42
- authentication?: UserSession;
43
- portalSelf?: IPortal;
44
- currentUser?: IUser;
45
- }
46
- /**
47
- * @internal
48
- * Thin class just used to enable getters
49
- *
50
- * This class should not be used by anything other than
51
- * the ArcGISContext class
52
- */
53
- export declare class ArcGISContextState implements IArcGISContextState {
54
- id: number;
55
- private _authentication;
56
- private _portalUrl;
57
- private _hubUrl;
58
- private _portalSelf;
59
- private _currentUser;
60
- constructor(opts: IArcGISContextStateOptions);
61
- /**
62
- * Return the UserSession if authenticated
63
- */
64
- get session(): UserSession;
65
- /**
66
- * Return boolean indicating if authenticatio is present
67
- */
68
- get isAuthenticated(): boolean;
69
- /**
70
- * Return `IUserRequestOptions`, which is used for REST-JS
71
- * functions which require authentication information.
72
- *
73
- * If context is not authenticated, this function will throw
74
- */
75
- get userRequestOptions(): IUserRequestOptions;
76
- /**
77
- * Return `IRequestOptions`, which is used by REST-JS functions
78
- * which *may* use authentication information if provided.
79
- *
80
- * If context is not authenticated, this function just returns
81
- * the `portal` property, which informs REST-JS what Sharing API
82
- * instance to use (i.e. AGO, Enterprise etc)
83
- */
84
- get requestOptions(): IRequestOptions;
85
- /**
86
- * Return a `IHubRequestOptions` object
87
- */
88
- get hubRequestOptions(): IHubRequestOptions;
89
- /**
90
- * Return the portal url.
91
- *
92
- * If authenticated @ ArcGIS Online, it will return
93
- * the https://org.env.arcgis.com
94
- *
95
- * If authenticated @ ArcGIS Enterprise, it will return
96
- * https://portalHostname, which includes the web adaptor
97
- */
98
- get portalUrl(): string;
99
- /**
100
- * Returns the url to the sharing api
101
- * i.e. https://myorg.maps.arcgis.com/sharing/rest
102
- */
103
- get sharingApiUrl(): string;
104
- get hubUrl(): string;
105
- /**
106
- * Returns boolean indicating if the backing system
107
- * is ArcGIS Enterprise (formerly ArcGIS Portal) or not
108
- */
109
- get isPortal(): boolean;
110
- get discussionsServiceUrl(): string;
111
- get hubSearchServiceUrl(): string;
112
- get domainServiceUrl(): string;
113
- get eventsConfig(): any;
114
- /**
115
- * Returns boolean indicating if the current user
116
- * belongs to an organization that has licensed
117
- * ArcGIS Hub
118
- */
119
- get hubEnabled(): boolean;
120
- /**
121
- * Return Hub Community Org Id, if defined
122
- */
123
- get communityOrgId(): string;
124
- get communityOrgHostname(): string;
125
- get communityOrgUrl(): string;
126
- get helperServices(): any;
127
- get currentUser(): IUser;
128
- get portal(): IPortal;
129
- }