@esri/hub-common 9.13.0 → 9.13.1
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 +68 -179
- package/dist/es2017/ArcGISContext.js.map +1 -1
- package/dist/es2017/ArcGISContextState.js +203 -0
- package/dist/es2017/ArcGISContextState.js.map +1 -0
- package/dist/esm/ArcGISContext.js +75 -261
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/ArcGISContextState.js +285 -0
- package/dist/esm/ArcGISContextState.js.map +1 -0
- package/dist/node/ArcGISContext.js +68 -179
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/ArcGISContextState.js +207 -0
- package/dist/node/ArcGISContextState.js.map +1 -0
- package/dist/types/ArcGISContext.d.ts +21 -71
- package/dist/types/ArcGISContextState.d.ts +129 -0
- package/dist/umd/common.umd.js +219 -122
- package/dist/umd/common.umd.js.map +1 -1
- package/dist/umd/common.umd.min.js +1 -1
- package/dist/umd/common.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import { getSelf } from "@esri/arcgis-rest-portal";
|
|
3
|
-
import {
|
|
4
|
-
/**
|
|
5
|
-
* Hash of Hub API end points so updates
|
|
6
|
-
* are centralized
|
|
7
|
-
*/
|
|
8
|
-
var hubApiEndpoints = {
|
|
9
|
-
domains: "/api/v3/domains",
|
|
10
|
-
search: "/api/v3/datasets",
|
|
11
|
-
discussions: "/api/discussions/v1",
|
|
12
|
-
};
|
|
3
|
+
import { ArcGISContextState, } from "./ArcGISContextState";
|
|
13
4
|
/**
|
|
14
5
|
* Application Context Object
|
|
15
6
|
*
|
|
@@ -77,10 +68,15 @@ var ArcGISContext = /** @class */ (function () {
|
|
|
77
68
|
*/
|
|
78
69
|
ArcGISContext.prototype.initialize = function () {
|
|
79
70
|
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
-
var ps;
|
|
71
|
+
var stateOpts, ps;
|
|
81
72
|
return __generator(this, function (_a) {
|
|
82
73
|
switch (_a.label) {
|
|
83
74
|
case 0:
|
|
75
|
+
stateOpts = {
|
|
76
|
+
id: this.id,
|
|
77
|
+
portalUrl: this._portalUrl,
|
|
78
|
+
hubUrl: this._hubUrl,
|
|
79
|
+
};
|
|
84
80
|
if (!this._authentication) return [3 /*break*/, 2];
|
|
85
81
|
this.log("ArcGISContext-" + this.id + ": Initializing");
|
|
86
82
|
return [4 /*yield*/, getSelf({ authentication: this._authentication })];
|
|
@@ -88,13 +84,29 @@ var ArcGISContext = /** @class */ (function () {
|
|
|
88
84
|
ps = _a.sent();
|
|
89
85
|
this._portalSelf = ps;
|
|
90
86
|
this._currentUser = ps.user;
|
|
87
|
+
stateOpts = {
|
|
88
|
+
id: this.id,
|
|
89
|
+
portalUrl: this._portalUrl,
|
|
90
|
+
hubUrl: this._hubUrl,
|
|
91
|
+
portalSelf: this._portalSelf,
|
|
92
|
+
currentUser: this._currentUser,
|
|
93
|
+
authentication: this._authentication,
|
|
94
|
+
};
|
|
91
95
|
_a.label = 2;
|
|
92
|
-
case 2:
|
|
96
|
+
case 2:
|
|
97
|
+
// update the state
|
|
98
|
+
this._state = new ArcGISContextState(stateOpts);
|
|
99
|
+
return [2 /*return*/];
|
|
93
100
|
}
|
|
94
101
|
});
|
|
95
102
|
});
|
|
96
103
|
};
|
|
97
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Set the Authentication (UserSession) for the context.
|
|
106
|
+
* This should be called when a user signs into a running
|
|
107
|
+
* application.
|
|
108
|
+
* @param auth
|
|
109
|
+
*/
|
|
98
110
|
ArcGISContext.prototype.setAuthentication = function (auth) {
|
|
99
111
|
return __awaiter(this, void 0, void 0, function () {
|
|
100
112
|
return __generator(this, function (_a) {
|
|
@@ -111,264 +123,50 @@ var ArcGISContext = /** @class */ (function () {
|
|
|
111
123
|
});
|
|
112
124
|
};
|
|
113
125
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
126
|
+
* Clear the Authentication (UserSession). This should be
|
|
127
|
+
* called when a user signs out of an application, but
|
|
128
|
+
* the application continues running
|
|
117
129
|
*/
|
|
118
|
-
ArcGISContext.prototype.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
130
|
+
ArcGISContext.prototype.clearAuthentication = function () {
|
|
131
|
+
// Reset the portalUrl from the org url to the base url
|
|
132
|
+
// for ArcGIS Enterprise, we just leave the _portalUrl as-is
|
|
133
|
+
if (!this._state.isPortal) {
|
|
134
|
+
this._portalUrl = getPortalBaseFromOrgUrl(this._portalUrl);
|
|
122
135
|
}
|
|
136
|
+
// Clear the auth, portalSelf and currentUser props
|
|
137
|
+
this._authentication = null;
|
|
138
|
+
this._portalSelf = null;
|
|
139
|
+
this._currentUser = null;
|
|
140
|
+
this._state = new ArcGISContextState({
|
|
141
|
+
id: this.id,
|
|
142
|
+
portalUrl: this._portalUrl,
|
|
143
|
+
hubUrl: this._hubUrl,
|
|
144
|
+
});
|
|
123
145
|
};
|
|
124
|
-
Object.defineProperty(ArcGISContext.prototype, "
|
|
125
|
-
/**
|
|
126
|
-
* Return the UserSession if authenticated
|
|
127
|
-
*/
|
|
128
|
-
get: function () {
|
|
129
|
-
return this._authentication;
|
|
130
|
-
},
|
|
131
|
-
enumerable: false,
|
|
132
|
-
configurable: true
|
|
133
|
-
});
|
|
134
|
-
Object.defineProperty(ArcGISContext.prototype, "isAuthenticated", {
|
|
135
|
-
/**
|
|
136
|
-
* Return boolean indicating if authenticatio is present
|
|
137
|
-
*/
|
|
138
|
-
get: function () {
|
|
139
|
-
return !!this._authentication;
|
|
140
|
-
},
|
|
141
|
-
enumerable: false,
|
|
142
|
-
configurable: true
|
|
143
|
-
});
|
|
144
|
-
Object.defineProperty(ArcGISContext.prototype, "userRequestOptions", {
|
|
145
|
-
/**
|
|
146
|
-
* Return `IUserRequestOptions`, which is used for REST-JS
|
|
147
|
-
* functions which require authentication information.
|
|
148
|
-
*
|
|
149
|
-
* If context is not authenticated, this function will throw
|
|
150
|
-
*/
|
|
151
|
-
get: function () {
|
|
152
|
-
if (this.isAuthenticated) {
|
|
153
|
-
return {
|
|
154
|
-
authentication: this._authentication,
|
|
155
|
-
portal: this.sharingApiUrl,
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
enumerable: false,
|
|
160
|
-
configurable: true
|
|
161
|
-
});
|
|
162
|
-
Object.defineProperty(ArcGISContext.prototype, "requestOptions", {
|
|
163
|
-
/**
|
|
164
|
-
* Return `IRequestOptions`, which is used by REST-JS functions
|
|
165
|
-
* which *may* use authentication information if provided.
|
|
166
|
-
*
|
|
167
|
-
* If context is not authenticated, this function just returns
|
|
168
|
-
* the `portal` property, which informs REST-JS what Sharing API
|
|
169
|
-
* instance to use (i.e. AGO, Enterprise etc)
|
|
170
|
-
*/
|
|
171
|
-
get: function () {
|
|
172
|
-
var ro = {
|
|
173
|
-
portal: this.sharingApiUrl,
|
|
174
|
-
};
|
|
175
|
-
if (this.isAuthenticated) {
|
|
176
|
-
ro = {
|
|
177
|
-
authentication: this._authentication,
|
|
178
|
-
portal: this.sharingApiUrl,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
return ro;
|
|
182
|
-
},
|
|
183
|
-
enumerable: false,
|
|
184
|
-
configurable: true
|
|
185
|
-
});
|
|
186
|
-
Object.defineProperty(ArcGISContext.prototype, "hubRequestOptions", {
|
|
187
|
-
/**
|
|
188
|
-
* Return a `IHubRequestOptions` object
|
|
189
|
-
*/
|
|
190
|
-
get: function () {
|
|
191
|
-
// We may add more logic around what is returned in some corner cases
|
|
192
|
-
return {
|
|
193
|
-
authentication: this.session,
|
|
194
|
-
isPortal: this.isPortal,
|
|
195
|
-
portalSelf: this.portal,
|
|
196
|
-
hubApiUrl: this.hubUrl,
|
|
197
|
-
};
|
|
198
|
-
},
|
|
199
|
-
enumerable: false,
|
|
200
|
-
configurable: true
|
|
201
|
-
});
|
|
202
|
-
Object.defineProperty(ArcGISContext.prototype, "portalUrl", {
|
|
203
|
-
// ==============================
|
|
204
|
-
// Getters / Computed Properties
|
|
205
|
-
// ==============================
|
|
206
|
-
/**
|
|
207
|
-
* Return the portal url.
|
|
208
|
-
*
|
|
209
|
-
* If authenticated @ ArcGIS Online, it will return
|
|
210
|
-
* the https://org.env.arcgis.com
|
|
211
|
-
*
|
|
212
|
-
* If authenticated @ ArcGIS Enterprise, it will return
|
|
213
|
-
* https://portalHostname, which includes the web adaptor
|
|
214
|
-
*/
|
|
215
|
-
get: function () {
|
|
216
|
-
if (this.isAuthenticated) {
|
|
217
|
-
if (this.isPortal) {
|
|
218
|
-
return "https://" + this._portalSelf.portalHostname;
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
return "https://" + this._portalSelf.urlKey + "." + this._portalSelf.customBaseUrl;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
return this._portalUrl;
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
enumerable: false,
|
|
229
|
-
configurable: true
|
|
230
|
-
});
|
|
231
|
-
Object.defineProperty(ArcGISContext.prototype, "sharingApiUrl", {
|
|
232
|
-
/**
|
|
233
|
-
* Returns the url to the sharing api
|
|
234
|
-
* i.e. https://myorg.maps.arcgis.com/sharing/rest
|
|
235
|
-
*/
|
|
236
|
-
get: function () {
|
|
237
|
-
return this.portalUrl + "/sharing/rest";
|
|
238
|
-
},
|
|
239
|
-
enumerable: false,
|
|
240
|
-
configurable: true
|
|
241
|
-
});
|
|
242
|
-
Object.defineProperty(ArcGISContext.prototype, "hubUrl", {
|
|
243
|
-
get: function () {
|
|
244
|
-
return this._hubUrl;
|
|
245
|
-
},
|
|
246
|
-
enumerable: false,
|
|
247
|
-
configurable: true
|
|
248
|
-
});
|
|
249
|
-
Object.defineProperty(ArcGISContext.prototype, "isPortal", {
|
|
250
|
-
/**
|
|
251
|
-
* Returns boolean indicating if the backing system
|
|
252
|
-
* is ArcGIS Enterprise (formerly ArcGIS Portal) or not
|
|
253
|
-
*/
|
|
254
|
-
get: function () {
|
|
255
|
-
return this._portalSelf
|
|
256
|
-
? this._portalSelf.isPortal
|
|
257
|
-
: this._portalUrl.indexOf("arcgis.com") === -1;
|
|
258
|
-
},
|
|
259
|
-
enumerable: false,
|
|
260
|
-
configurable: true
|
|
261
|
-
});
|
|
262
|
-
Object.defineProperty(ArcGISContext.prototype, "discussionsServiceUrl", {
|
|
263
|
-
// Hub APIs
|
|
264
|
-
// ----------
|
|
265
|
-
// Discussions
|
|
266
|
-
get: function () {
|
|
267
|
-
if (this._hubUrl) {
|
|
268
|
-
return "" + this._hubUrl + hubApiEndpoints.discussions;
|
|
269
|
-
}
|
|
270
|
-
},
|
|
271
|
-
enumerable: false,
|
|
272
|
-
configurable: true
|
|
273
|
-
});
|
|
274
|
-
Object.defineProperty(ArcGISContext.prototype, "hubSearchServiceUrl", {
|
|
275
|
-
// Hub Search
|
|
276
|
-
get: function () {
|
|
277
|
-
if (this._hubUrl) {
|
|
278
|
-
return "" + this._hubUrl + hubApiEndpoints.search;
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
|
-
enumerable: false,
|
|
282
|
-
configurable: true
|
|
283
|
-
});
|
|
284
|
-
Object.defineProperty(ArcGISContext.prototype, "domainServiceUrl", {
|
|
285
|
-
// Domain
|
|
286
|
-
get: function () {
|
|
287
|
-
if (this._hubUrl) {
|
|
288
|
-
return "" + this._hubUrl + hubApiEndpoints.domains;
|
|
289
|
-
}
|
|
290
|
-
},
|
|
291
|
-
enumerable: false,
|
|
292
|
-
configurable: true
|
|
293
|
-
});
|
|
294
|
-
Object.defineProperty(ArcGISContext.prototype, "eventsConfig", {
|
|
295
|
-
// Events
|
|
296
|
-
// returns `{serviceId: '3ef..', publicViewId: 'bc3...'}
|
|
297
|
-
get: function () {
|
|
298
|
-
if (this._portalSelf) {
|
|
299
|
-
return getProp(this._portalSelf, "portalProperties.hub.settings.events");
|
|
300
|
-
}
|
|
301
|
-
},
|
|
302
|
-
enumerable: false,
|
|
303
|
-
configurable: true
|
|
304
|
-
});
|
|
305
|
-
Object.defineProperty(ArcGISContext.prototype, "hubEnabled", {
|
|
306
|
-
/**
|
|
307
|
-
* Returns boolean indicating if the current user
|
|
308
|
-
* belongs to an organization that has licensed
|
|
309
|
-
* ArcGIS Hub
|
|
310
|
-
*/
|
|
311
|
-
get: function () {
|
|
312
|
-
return getWithDefault(this._portalSelf, "portalProperties.hub.enabled", false);
|
|
313
|
-
},
|
|
314
|
-
enumerable: false,
|
|
315
|
-
configurable: true
|
|
316
|
-
});
|
|
317
|
-
Object.defineProperty(ArcGISContext.prototype, "communityOrgId", {
|
|
146
|
+
Object.defineProperty(ArcGISContext.prototype, "state", {
|
|
318
147
|
/**
|
|
319
|
-
* Return
|
|
148
|
+
* Return a reference to the current state.
|
|
149
|
+
* When `.setAuthentication()` or `.clearAuthenentication()` are
|
|
150
|
+
* called, the state will be re-created. This is done so frameworks
|
|
151
|
+
* like React or Ember can detect changes.
|
|
320
152
|
*/
|
|
321
153
|
get: function () {
|
|
322
|
-
|
|
323
|
-
return getProp(this._portalSelf, "portalProperties.hub.settings.communityOrg.orgId");
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
enumerable: false,
|
|
327
|
-
configurable: true
|
|
328
|
-
});
|
|
329
|
-
Object.defineProperty(ArcGISContext.prototype, "communityOrgHostname", {
|
|
330
|
-
get: function () {
|
|
331
|
-
if (this._portalSelf) {
|
|
332
|
-
return getProp(this._portalSelf, "portalProperties.hub.settings.communityOrg.portalHostname");
|
|
333
|
-
}
|
|
334
|
-
},
|
|
335
|
-
enumerable: false,
|
|
336
|
-
configurable: true
|
|
337
|
-
});
|
|
338
|
-
Object.defineProperty(ArcGISContext.prototype, "communityOrgUrl", {
|
|
339
|
-
get: function () {
|
|
340
|
-
if (this.communityOrgHostname) {
|
|
341
|
-
return "https://" + this.communityOrgHostname;
|
|
342
|
-
}
|
|
343
|
-
},
|
|
344
|
-
enumerable: false,
|
|
345
|
-
configurable: true
|
|
346
|
-
});
|
|
347
|
-
Object.defineProperty(ArcGISContext.prototype, "helperServices", {
|
|
348
|
-
// Platform API service urls are all in helperServices
|
|
349
|
-
// and not consistent to expose as urls
|
|
350
|
-
get: function () {
|
|
351
|
-
if (this._portalSelf) {
|
|
352
|
-
return this._portalSelf.helperServices;
|
|
353
|
-
}
|
|
354
|
-
},
|
|
355
|
-
enumerable: false,
|
|
356
|
-
configurable: true
|
|
357
|
-
});
|
|
358
|
-
Object.defineProperty(ArcGISContext.prototype, "currentUser", {
|
|
359
|
-
get: function () {
|
|
360
|
-
return this._currentUser;
|
|
361
|
-
},
|
|
362
|
-
enumerable: false,
|
|
363
|
-
configurable: true
|
|
364
|
-
});
|
|
365
|
-
Object.defineProperty(ArcGISContext.prototype, "portal", {
|
|
366
|
-
get: function () {
|
|
367
|
-
return this._portalSelf;
|
|
154
|
+
return this._state;
|
|
368
155
|
},
|
|
369
156
|
enumerable: false,
|
|
370
157
|
configurable: true
|
|
371
158
|
});
|
|
159
|
+
/**
|
|
160
|
+
* @internal
|
|
161
|
+
* Log debugging messages to the console
|
|
162
|
+
* @param message
|
|
163
|
+
*/
|
|
164
|
+
ArcGISContext.prototype.log = function (message) {
|
|
165
|
+
if (this._debug) {
|
|
166
|
+
// tslint:disable-next-line:no-console
|
|
167
|
+
console.info(message);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
372
170
|
return ArcGISContext;
|
|
373
171
|
}());
|
|
374
172
|
export { ArcGISContext };
|
|
@@ -392,4 +190,20 @@ function getHubApiFromPortalUrl(portalUrl) {
|
|
|
392
190
|
}
|
|
393
191
|
return result;
|
|
394
192
|
}
|
|
193
|
+
function getPortalBaseFromOrgUrl(orgUrl) {
|
|
194
|
+
var result;
|
|
195
|
+
if (orgUrl.match(/(qaext|\.mapsqa)\.arcgis.com/)) {
|
|
196
|
+
result = "https://qaext.arcgis.com";
|
|
197
|
+
}
|
|
198
|
+
else if (orgUrl.match(/(devext|\.mapsdevext)\.arcgis.com/)) {
|
|
199
|
+
result = "https://devext.arcgis.com";
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
/* istanbul ignore else */
|
|
203
|
+
if (orgUrl.match(/(www|\.maps)\.arcgis.com/)) {
|
|
204
|
+
result = "https://www.arcgis.com";
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
395
209
|
//# sourceMappingURL=ArcGISContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"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"}
|